pascalabcnet/Utils/ReplaceInFiles/ReplaceInFiles.pas
Mikhalkovich Stanislav e603b1fd6d Mikhalkovich в Copyright
Заготовка для школьного плагина образцов кода
2019-07-28 23:53:15 +03:00

30 lines
934 B
ObjectPascal

// Copyright (c) Ivan Bondarev, Stanislav Mikhalkovich (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
uses FilesOperations;
var DefsFile, TemplateFile, ResultFile: string;
defs: System.Collections.Hashtable;
f: text;
key,s:string;
i:integer;
begin
if CommandLineArgs.Length<>3 then begin
Writeln('DefsFile TemplateFile ResultFile');
exit;
end;
DefsFile := CommandLineArgs[0];
TemplateFile := CommandLineArgs[1];
ResultFile := CommandLineArgs[2];
defs := new System.Collections.Hashtable;
assign(f, DefsFile);
reset(f);
while not eof(f) do begin
readln(f,s);
i := s.IndexOf('=');
defs.Add(s.Substring(0,i), s.Substring(i+1));
end;
Close(f);
s := ReadFileToEnd(TemplateFile);
foreach key in defs.Keys do
s := s.Replace(key, string(defs[key]));
WriteStringToFile(ResultFile, s);
end.