Hallo,
nur die "alten" I/O-Routinen arbeiten mit der vorkonfigurierten
VCL-Konstante sLineBreak = #13#10. Wenn die Zeilentrenner nicht verändert werden sollen, dann kannst du auch mit Streams arbeiten - FileStreams interpretieren keine Steuerzeichen:
Delphi-Quellcode:
procedure FileReplace(const fnIn, fnOut: TFileName; const sOld, sNew: string);
var
s: string;
begin
with TFileStream.Create(fnIn, fmOpenRead or fmShareDenyWrite) do
begin
SetLength(s, Size);
ReadBuffer(s[1], Size);
Free;
end;
s := StringReplace(s, sOld, sNew, [rfReplaceAll]);
with TFileStream.Create(fnOut, fmCreate) do
begin
WriteBuffer(s[1], Length(s));
Free;
end;
end;
Getippt und nicht getestet.
Grüße vom marabu