Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Umbruchzeichen bei readln, writeline (https://www.delphipraxis.net/92859-umbruchzeichen-bei-readln-writeline.html)

neus 27. Mai 2007 23:03

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:

3_of_8 27. Mai 2007 23:04

Re: Umbruchzeichen bei readln, writeline
 
Dann wars vermutlich ein Unix-System, für das das entwickelt wurde.

neus 27. Mai 2007 23:09

Re: Umbruchzeichen bei readln, writeline
 
Zitat:

Zitat von 3_of_8
Dann wars vermutlich ein Unix-System, für das das entwickelt wurde.

Ja ganz sicher (Security/VPN-Bereich). Wobei ich aus der Firmware noch nicht ganz schlau werde :stupid:

marabu 28. Mai 2007 06:30

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:
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz