![]() |
String ohne CR/LF am Ende in Datei schreiben
Hallo zusammen,
ich suche nach einer Möglichkeit, einen String in eine Datei zu schreiben, ohne das am Ende der Datei ein Carriage return Linefeed angehängt wird. Die üblichen Verdächtigen wie ..savetofile order TextFile.write hängen immer diese Zeichen an. Schönen Gruss |
AW: String ohne CR/LF am Ende in Datei schreiben
Am einfachsten dürfte das über eine TStringList gehen.
|
AW: String ohne CR/LF am Ende in Datei schreiben
Hallo,
die könntest die Datei mit TFileStream öffnen.
Delphi-Quellcode:
Wobei im Buffer dann Deine Daten stehen sollten.
fstream := TFileStream.create(fName, fmOpenWrite);
try fstream.seek(0,soFromEnd); fstream.writeBuffer(); finally fstream.free; end; Grüße Klaus |
AW: String ohne CR/LF am Ende in Datei schreiben
Zitat:
Delphi-Quellcode:
genau 1 Zeichen und nicht 3.
var
f: textfile; begin assign(f,'tst'); rewrite(f); write(f,'1'); close(f); end. |
AW: String ohne CR/LF am Ende in Datei schreiben
Zitat:
Delphi-Quellcode:
kann ich das nachvollziehen, bei
Writeln
Delphi-Quellcode:
habe ich da so meine Zweifel.
Write
Was willst Du damit erreichen? Ein String ohne CRLF klingt für mich wie
Delphi-Quellcode:
Gruß
Ofenrohr-Blech =Loch
K-H |
AW: String ohne CR/LF am Ende in Datei schreiben
|
AW: String ohne CR/LF am Ende in Datei schreiben
Mit einem TStringStream wäre das IMO noch einfacher und nicht auf Ansi beschränkt.
|
AW: String ohne CR/LF am Ende in Datei schreiben
also bis jetzt funktionieren alle Varianten nicht. Ich schreibe einen String von 1000 Zeichen und bekomme eine Datei mit 1002 Zeichen. Immer schön mit CR/LF hinten dran.
|
AW: String ohne CR/LF am Ende in Datei schreiben
Alle?
Mit Write kann kein CRLF entstehen (es sei denn man hat es in den zu schreibenden String reingemacht). Tipp: Man kann im Profil angeben welche Delphi-Version man nutzt. Für neuere Delphiversionen (hätte ich da womöglich was) ... für ältere müßte man es anpassen. |
AW: String ohne CR/LF am Ende in Datei schreiben
Mit Delphi 2007 ausprobiert:
Delphi-Quellcode:
"Hallo Welt" ergibt damit bei mir eine Datei von 10 Byte, passt also.
procedure SaveStringToFile(const Filename: TFilename; const InputString: string);
var SStream: TStringStream; FStream: TFileStream; begin SStream := TStringStream.Create(InputString); try FStream := TFileStream.Create(Filename, fmCreate or fmShareDenyWrite); try FStream.CopyFrom(SStream, 0); finally FStream.Free; end; finally SStream.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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