Thema: Delphi WideString -> TStream?

Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

WideString -> TStream?

  Alt 19. Aug 2007, 18:47
Hallo.

Ich möchte einen String im WideString-Format (bei ANSI 00h zwischen jedem Zeichen) in einen TFileStream speichern. Vorher wandle ich ein String in WideString um.

Delphi-Quellcode:
public
  tempstream: TStream;

procedure Write(const Value; Size: Integer);
begin
   mainform.tempstream.WriteBuffer(Value, Size);
end;

procedure WriteRaw(const Value: Binary);
begin
  Write(Value[1], Length(Value));
end;

var
  ws: widestring;
begin
  ws := mainform.edt_vle1.text;
  WriteRaw(ws+#00#00);
end;
Das Ergebnis, das man im Hexeditor betrachten kann, ist jedoch:

abcde[NULL][NULL]

Wieso hat die String -> WideString konvertierung nicht funktioniert?

Da mein Projekt OpenSource ist, möchte ich keine fremden, kostenpflichtigen Komponenten verwenden. Der Benutzer soll mit frei erhältlichen Komponenten oder den Borland-VCLs das Projekt öffnen können. Daher muss ich bis 2008 warten, bis Borland vollen Unicode-Support für die VCLs bietet. Solange wandle ich einfach die Strings in WideStrings um. Das Dateiformat will ich aber bereits Unicode-Ready machen.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat