![]() |
PWideChar im Strem speichern, wie geht das?
Hi,
wie kann ich einen PWideChar-Wert in einem Strem speichern? Ich habe hier schon alles mögliche gelesen und versucht, es kommt immer zu dem gleichen Ergebnis: Es wird nur der erste Buchstabe geschrieben.
Delphi-Quellcode:
Wie müsste es richtig sein?
...
var FFileName : PWideChar; FFileNameLength : Word; ... FFileNameLength := Length(FFileName); ... Write( FFileName^, FFileNameLength ); Write( FFileName[1], FFileNameLength ); Write( Pointer(FFileName)^, FFileNameLength ); ... Gruß Alter Mann |
Re: PWideChar im Strem speichern, wie geht das?
1) Ein WideChar ist zwei Bytes groß. Die Anzahl zu schreibender Bytes ist also zweimal so groß wie die Länge des Strings.
2) Wie kontrollierst du, welche Zeichen in den Stream geschrieben wurden? |
Re: PWideChar im Strem speichern, wie geht das?
Ungetestet:
Delphi-Quellcode:
var
FFileName : PWideChar; FFileNameLength : Word; FFileString : WideString; ... FFileString := WideString (FFileName); FFileNameLength := Length (FFileString); ... Write (FFileString, FFileNameLength * SizeOf (WideChar)); |
Re: PWideChar im Strem speichern, wie geht das?
Zitat:
Delphi-Quellcode:
[/quote]
var
FFileName: PWideChar; FFileNameLength: Word; FFileString: WideString; ... FFileString := WideString(FFileName); FFileNameLength := Length(FFileString); ... if FFileNameLength > 0 then { <== } Write(FFileString{ ==> }[1]{ <== }, FFileNameLength * SizeOf(WideChar)); |
Re: PWideChar im Strem speichern, wie geht das?
Hallo
scheinbar geht es nur über die 'Krücke' WideString, schade. Danke und viele Grüße Alter Mann |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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