![]() |
Delphi-Version: 2010
TStringList ohne BOM speichern?
Hi,
gibt es eine einfache Möglichkeit (D2010) das BOM nicht mitzuschreiben? Meine erstellten StringListen speichere ich so:
Delphi-Quellcode:
sl.SaveToFile(savepath + 'muster.txt',TEncoding.UTF8);
Vielen Dank! |
AW: TStringList ohne BOM speichern?
Wer sollte das dann wieder einlesen können? Der
![]() |
AW: TStringList ohne BOM speichern?
Moin Furtbichler, ein gutes Neues wünsche ich.
Z.B. meckert der Firebird-Script-Editor, wenn ich ein mittels StringListe erstelltes SQL-Script einlesen will, dem ein BOM vorangestellt ist. Liegt vielleicht aber auch an den Einschränkungen der Personal-Version :? |
AW: TStringList ohne BOM speichern?
Hallo - äh genau und frohes neues Jahr,
ich schreibe damit PHP Scripte und PHP hat die unschöne Eigenart bei einem Script mit BOM einen headers already sent Fehler zu produzieren. Viele Grüße ... |
AW: TStringList ohne BOM speichern?
Wenn unbedingt sein muss bastel dir eine Hilfsfunktion indem du die Stringlist erst in einen stream Speicherst und dann die ersten 3 Byte beim Speichern weg lässt.
@Furtbichler: Ich kenne öfter den Fall das "Hochqualifizierte" ERP bzw. PLM-Entwickler es nicht schaffen in Exportdateien solch einen BOM zu schreiben (Man muss öfter schon froh sein das Sonderzeichen korrekt geschrieben werden). Dann haben Sie auch vermutlich oft das Problem so einen BOM lesen und korrekt interpretieren zu können. |
AW: TStringList ohne BOM speichern?
Zitat:
|
AW: TStringList ohne BOM speichern?
Hab eben mal zum Testen zwei Textdateien erstellt, einmal via Liste.SaveToFile(Datei) und einmal via Liste.SaveToFile(Datei,TEncoding.UTF8). Wenn ich die mit PsPad öffne, wird mir dort für beide Dateien das Format UTF8 angezeigt.
Gehe ich recht in der Annahme, daß ab Delphi 2009 standardmäßig im UTF8-Format gespeichert wird, wenn nichts anderes angegeben wurde? Die Datei mit dem Bom ist nur unerheblich größer als die andere. |
AW: TStringList ohne BOM speichern?
Zitat:
|
AW: TStringList ohne BOM speichern?
Hallo,
danke für die Antworten. Werde ich dann wohl selbst Hand anlegen. Eine Sache noch in diesem Zusammenhang. In den gespeicherten Dateien ist immer eine (Leer)Zeile mehr drin als eigentlich geschrieben wird. Liegt das auch am BOM? Viele Grüße ... |
AW: TStringList ohne BOM speichern?
Zitat:
Per Default ist die auf True. Beisp:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Memo1.Lines.WriteBOM := True; memo1.Lines.SaveToFile('z:\temp\1.txt', TEncoding.UTF8); end; procedure TForm1.Button2Click(Sender: TObject); begin Memo1.Lines.WriteBOM := False; Memo1.Lines.SaveToFile('z:\temp\2.txt', TEncoding.UTF8); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 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