![]() |
Delphi-Version: 5
Herausfinden welcher String-Typ verwendet wird
Wie kann ich programmatisch herausfinden, welcher String-Typ (ShortString, AnsiString, WideString, UnicodeString) von einem deklarierten String oder vom System/Compiler verwendet wrid?
|
AW: Herausfinden welcher String-Typ verwendet wird
Wozu denn das? Schau doch einfach in deinem Code nach, welchen Stringtyp du verwendest ...
|
AW: Herausfinden welcher String-Typ verwendet wird
Man mag es nicht glauben, aber möchte man zwei Typen/Typendeklarationen vergleichen, dann vergleicht man einfach deren Typen-Informationen. :angle2:
Delphi-Quellcode:
z.B. JEDI und Andere haben auch eine INC-Datei dabei, wo für sowas entsprechende Compilerschalter erstellt werden.
if TypeInfo(String) = TypeInfo(AnsiString) then
IstAnsiString; if SizeOf(Char) = 1 then IstAnsiString; if SizeOf(Char) = 2 then IstUnicodeString; {$IFDEF UNICODE} IstUnicodeString {$ENDIF} {$IF CompilerVersion > 19.0} IstUnicodeString {$IFEND} // das sollte wohl nur in Delphi 1 und vierlleicht auch noch Delphi 2 zutreffen (k.A. wann das umgestellt wurde) if TypeInfo(String) = TypeInfo(ShortString) then IstShortString; |
AW: Herausfinden welcher String-Typ verwendet wird
Zitat:
|
AW: Herausfinden welcher String-Typ verwendet wird
Zitat:
|
AW: Herausfinden welcher String-Typ verwendet wird
Wie auch immer, gelesen habe ich es und in D3 ist String per Voreinstellung Ansistring. In diesem Fall habe ich das Projekt wohl schon mit D2 gemacht, also verschiebt sich die Aussage um eine Version nach oben.
|
AW: Herausfinden welcher String-Typ verwendet wird
IIRC war aber in Delphi 2 string schon Ansistring. Du musst wohl irgend etwas verwechseln.
|
AW: Herausfinden welcher String-Typ verwendet wird
Ich hätte auch gedacht, daß mit der 16>32-Bit-Umstellung der neue String reingekommen ist.
|
AW: Herausfinden welcher String-Typ verwendet wird
Reingekommen schon, nur glaube ich mich zu erinnern, dass String noch ShortString war, man es aber umstellen konnte. Das weiß ich deshalb, weil ich da alles drüber gelesen habe, weil ich es brauchte. Kann aber auch sein, dass ich da versehentlich die VB Hilfe gelesen habe.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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