![]() |
Re: Textdatei mit D2 erstellen
anstelle von widestring PWideChar
|
Re: Textdatei mit D2 erstellen
Zitat:
Gruß Micha |
Re: Textdatei mit D2 erstellen
auch nen PWideChar
widestream hab ich ja noch nie gehört |
Re: Textdatei mit D2 erstellen
Zitat:
Erstmal danke für den Tipp. :thumb: Werde es so bald als möglich ausprobieren. |
Re: Textdatei mit D2 erstellen
Zitat:
Jetzt nochmals den Code (incl. Variante, die den Datentyp WideString umgeht).
Delphi-Quellcode:
procedure SaveWideStringToFile(const filename:string; const ws:WideString);
var fs : TFileStream; data : WideString; begin data := ' '+ws; data[1] := Widechar($FEFF); // BOM = Byte Order Mark fs := TFileStream.Create(filename, fmCreate); try fs.WriteBuffer(data[1], Length(data)*sizeof(Widechar)); finally fs.Free; end; end; procedure SaveWideStringToFileD2(const filename:string; const data:String); var fs : TFileStream; b, buffer : ^Word; size : Integer; i : Integer; begin size := (Length(data)+1)*2; GetMem(buffer, size); try b := buffer; b^:= $FEFF; // BOM = Byte Order Mark Inc(b); // string kopieren for i := 1 to Length(data) do begin b^ := Ord(data[i]); Inc(b); end; fs := TFileStream.Create(filename, fmCreate); try fs.WriteBuffer(buffer^, size); finally fs.Free; end; finally FreeMem(buffer); end; end; |
Re: Textdatei mit D2 erstellen
WOW! :cheers:
Das Schreiben in Unicode klappt richtig super. Danke an euch für die Hilfe. :-D Ich mußte leider feststellen, daß dies mein Ausgangsproblem dadurch leider nicht beseitigt ist, denn Word fragt immer noch nach, ob es den von ihm erkannten Unicode-Zeichensatz verwenden soll. Aber ich werde die Routine auf jedenfall gut aufheben, falls ich mal wieder mir Unicode hantieren muß. Auch wenn ich sie nicht ganz verstanden habe. Dies mit den Zeigern habe ich nie richtig kapiert. Falls es interessiert, wie meine Erkenntnisse zum eigentlichen Ausgangsproblem sind: Ich habe jetzt eine Überschriftzeile und ca. 20 Steuerdatensätze in eine Textdatei geschrieben. :arrow: Die öffnet Wöööörd ohne nachzufragen. :wall: Entferne ich manuell alle Datensätze bis auf die Überschriftszeile und den einen mit Umlauten. :arrow: Wöööörd versucht wieder den Zeichensatz zu ermitteln und scheitert kläglich. :wall: Ich bin sogar schon dahin gegangen und hab mit dem Window-Editor eine Textdatei erstellt und die Überschriftszeile und den einen Datensatz manuell eingetippt. :arrow: Auch die kann Wöööörd nicht öffnen. :wall: Das beweißt mir immerhin das es nicht an der von meimem Progi erstellten Steuerdatei liegen kann sondern an diesem gr##§$?! :evil: Wööööööörrrrd, was mal wieder so schlau sein will. Okay, daß war nur noch mal um den Frust los zu werden. Vielen Dank noch mal! Micha |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:28 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