Jelajahi Sumber

* One more tool used in dotted filenames

Michael VAN CANNEYT 2 tahun lalu
induk
melakukan
3707a2c0d7
1 mengubah file dengan 47 tambahan dan 0 penghapusan
  1. 47 0
      utils/dotutils/replaceword.pp

+ 47 - 0
utils/dotutils/replaceword.pp

@@ -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.
+