|
@@ -0,0 +1,47 @@
|
|
|
+program replaceword;
|
|
|
+
|
|
|
+{$mode objfpc}
|
|
|
+{$h+}
|
|
|
+uses regexpr,sysutils, classes;
|
|
|
+
|
|
|
+function ReplaceWord(aLine, aName, aFull: String): String;
|
|
|
+
|
|
|
+var
|
|
|
+ RE : TRegExpr;
|
|
|
+
|
|
|
+begin
|
|
|
+ RE:=TRegExpr.Create('\b'+aName+'\b');
|
|
|
+ try
|
|
|
+// RE.ModifierI:=True;
|
|
|
+ Result:=RE.Replace(aLine,aFull);
|
|
|
+// Writeln(aLine,': ',aName,' -> ',aFull,' = ',Result);
|
|
|
+ finally
|
|
|
+ RE.Free;
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
+
|
|
|
+var
|
|
|
+ I,J : Integer;
|
|
|
+ aMakeFile: TStrings;
|
|
|
+ W1,W2,aFN : String;
|
|
|
+
|
|
|
+begin
|
|
|
+ W1:=ParamStr(1);
|
|
|
+ W2:=ParamStr(2);
|
|
|
+ aMakeFile:=TStringList.Create;
|
|
|
+ try
|
|
|
+ for I:=3 to ParamCount do
|
|
|
+ begin
|
|
|
+ aFN:=Paramstr(I);
|
|
|
+ aMakeFile.LoadFromFile(aFN);
|
|
|
+ aMakeFile.SaveToFile(aFn+'.bak');
|
|
|
+ For J:=0 to aMakefile.Count-1 do
|
|
|
+ aMakefile[J]:=ReplaceWord(aMakefile[J],W1,W2);
|
|
|
+ aMakeFile.SaveToFile(AFN);
|
|
|
+ end;
|
|
|
+ finally
|
|
|
+ aMakeFile.Free;
|
|
|
+ end;
|
|
|
+end.
|
|
|
+
|