![]() |
Re: Umbruchzeichen bei readln, writeline
Danke für eure Vorschläge die Lösung war die #10.
Meine Backupdatei enthält jetzt das Steuerzeichen für den nächsten TAG.
Delphi-Quellcode:
AssignFile(OldConfigFile,Edit5.Text+'\'+ListBox3.Items[i]+'_backup.cfg');
AssignFile(NewConfigFile,Edit5.Text+'\'+ListBox3.Items[i]+'.cfg'); Rewrite(NewConfigFile); Reset(OldConfigFile); // 5 Begin while not eof (OldConfigFile) do begin ReadLn(OldConfigFile,NewConfigText); NewConfigText:=StringReplace(NewConfigText,ListBox5.Items[Strreplacerule],ListBox6.Items[Strreplacerule],[rfReplaceAll]); Write(NewConfigFile,NewConfigText+#10); end; danke und gute Nacht :zwinker: |
Re: Umbruchzeichen bei readln, writeline
Dann wars vermutlich ein Unix-System, für das das entwickelt wurde.
|
Re: Umbruchzeichen bei readln, writeline
Zitat:
|
Re: Umbruchzeichen bei readln, writeline
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:
Getippt und nicht getestet.
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; Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz