![]() |
Probleme mit Typ. Dateien und Unicode
Guten Tag
Bin von einer älteren Delphi Version auf Delphi 2010 umgestiegen und bin daran einige meiner Projekte in die neue Version zu konvertieren. Ich verwende dabei eine Record-Datei in die nun diverse Strings gespeichert werden sollen. Früher waren dies normale Ansi-Strings, neu sollten diese natürlich auch Unicode unterstützen. Wenn ich so vorgehe, wie in diesem Code-Beispiel, werden die Unicode-Strings in Ansi-Strings umgewandelt, und dabei die weiteren Information zerstört bzw. gehen verlohren. String ist Unicode String[x] ist Ansistring...
Delphi-Quellcode:
Wie kann ich einfach und sicher Unicode-Strings in einer solchen Datei speichern?
type
RTest = record Str1:String[20]; Comts:String[30]; id:longint; end; Procedure Test(filename:string); var f: file of RTest; a: RTest; begin a.Str1:='Test1'; a.Comts:='Test...'; id:=1000; AssignFile(f,filename); Rewrite(f); Write(f,a); CloseFile(f); end; Vielen Dank für einen Tipp. Mit freundlichen Grüssen Sam |
Re: Probleme mit Typ. Dateien und Unicode
Tach :hi:
Zitat:
Zwar gleiche "Char"-Größe, aber andere Speicherverwaltung. Ein paar Threads dazu: ![]() ![]() ![]() Nativ hat Delphi/Pascal diesbezüglich also nichts für Unicode zu bieten, abgesehn von einem statischen WideChar-Array. Eine andere Lösung wäre UTF8, so macht es Delphi selber. (die Klassennamen werden in der RTTI weiterhin als ShortString gespeichert, aber beim Auslesen werden diese als UTF8 behandelt und nach Unicode umgewandelt) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 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