Nun, dann sind wir doch wieder bei meinen Funktionen von Betrag #6.
Es ist doch programmiertechnisch besser die Aufgabe wie folgt zu lösen:
Delphi-Quellcode:
var
daten : string;
begin
daten := FileToString(dateiname);
StrReplaceCharsInplace(daten, [#0..#31], '|'); // Steuerzeichen durch Pipezeichen ersetzen
StringToFile(daten, dateiname);
end;
function StrReplaceCharsInplace(var S: AnsiString; const Chars: TSysCharSet; Replace: AnsiChar): AnsiString;
var
I: Integer;
begin
for I := 1 to Length(S) do
if S[I] in Chars then
S[I] := Replace;
end;
Die verwendeten Funktionen FileToString, ReplaceCharInplace und StringToFile haben jeweils eine ganz begrenzte Aufgabe.
Man könnte die Funktionen als "atomar" bezeichnen - man kann nichts weglassen ohne dass die gesamte Funktion nutzlos würde.
Diese Funktionen sollten in keiner Bibliothek fehlen; man kann sie immer wieder verwenden!
Die Funktion FileToStringErsetze() ist dagegen ziemlich speziell und wäre in einer Bibliothek eher weniger nützlich.