![]() |
Delphi zeigt String mit asiatischen Zeichen an
Hallo zusammen
Ich habe ein Beispiel von hier genommen: ![]() Im zip befindet sich bereits ein exe file. Dieses liest unter anderem die Description eines USB-Serial Wandlers aus. Das funktioniert einwandfrei. Wenn ich nun das Projekt in Delphi 10 öffne, wird dieses konvertiert (zu einer DPROJ Datei) Nach dem erneuten Build der EXE, welches auf anhiebt klappt, zeigt die Combobox mit den Descriptions jedoch nur noch asiatische Zeichen an. Irgenwas ging hier wohl schief. Ich mag mich erinnern, dass einmal einige diskussionen zum Thema Unicode im Forum waren vor einigen Jahren. Hat es etwas damit zu tun? Danke schonmal! |
AW: Delphi zeigt String mit asiatischen Zeichen an
Wenn es mit Delphi 5 entwickelt wurde lautet die Antwort definitiv JA, das ist ein Unicode-Problem.
|
AW: Delphi zeigt String mit asiatischen Zeichen an
Ich glaube es wurde mit D7 entwickelt.
Die Frage ist nun, wass muss ich tun, damit ich wieder korrekte Strings habe? |
AW: Delphi zeigt String mit asiatischen Zeichen an
Alle Strings als Ansi-Strings deklarieren.
|
AW: Delphi zeigt String mit asiatischen Zeichen an
Erstmal den Typ String durch AnsiString ersetzen.
|
AW: Delphi zeigt String mit asiatischen Zeichen an
Da gibt es solche Funktionen:
Delphi-Quellcode:
Die Nutzen Char Arrays welche dann zu einem String convertiert werden.
Function GetDeviceString : String;
Var I : Integer; Begin Result := ''; I := 1; FT_Device_String_Buffer[50] := Chr(0); // Just in case ! While FT_Device_String_Buffer[I] <> Chr(0) do Begin Result := Result + FT_Device_String_Buffer[I]; Inc(I); End; End; Vermutlich geschieht dort der Fehler. Wenn ich nun Result aber auf AnsiString setze, dann motzt er, dass er Char nicht in AnsiString konvertieren kann. |
AW: Delphi zeigt String mit asiatischen Zeichen an
Weil es sich um einen Char-Array ( 16 Bit) und keinen AnsiChar-Array handeln wird.
Char -> AnsiChar |
AW: Delphi zeigt String mit asiatischen Zeichen an
Vielen Dank!
Mit AnsiChar gings dann wieder. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 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 by Thomas Breitkreuz