AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Herausfinden welcher String-Typ verwendet wird
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden welcher String-Typ verwendet wird

Ein Thema von inc7 · begonnen am 5. Mär 2012 · letzter Beitrag vom 5. Mär 2012
Antwort Antwort
inc7

Registriert seit: 1. Mär 2012
5 Beiträge
 
#1

Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 15:16
Delphi-Version: 5
Wie kann ich programmatisch herausfinden, welcher String-Typ (ShortString, AnsiString, WideString, UnicodeString) von einem deklarierten String oder vom System/Compiler verwendet wrid?
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 15:27
Wozu denn das? Schau doch einfach in deinem Code nach, welchen Stringtyp du verwendest ...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 15:31
Man mag es nicht glauben, aber möchte man zwei Typen/Typendeklarationen vergleichen, dann vergleicht man einfach deren Typen-Informationen.

Delphi-Quellcode:
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;
z.B. JEDI und Andere haben auch eine INC-Datei dabei, wo für sowas entsprechende Compilerschalter erstellt werden.
$2B or not $2B

Geändert von himitsu ( 5. Mär 2012 um 15:35 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 15:51
// das sollte wohl nur in Delphi 1 und vierlleicht auch noch Delphi 2 zutreffen
Soweit ich mich erinnern kann habe ich bei Delphi 2 gelesen, dass Strings nun aut. AnsiString sind, in Delphi 1 waren Strings aut. ShortStrings. Man konnte aber in Delphi 1 das per Compilerschalter umschalten. Ich kann mich deshalb daran erinnern, weil ich in einem D1 Projekt alles als AnsiStrings deklarieren mußte, weil sie länger als 256 Zeichen waren, später den Compilerschalter genutzt habe und in D2 alles wieder entfernt habe und mit normalen Strings arbeiten konnte.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 17:09
Ich kann mich deshalb daran erinnern, weil ich in einem D1 Projekt alles als AnsiStrings deklarieren mußte
Da musst du aber eine andere Delphi 1 Version gehabt haben. Delphi 1 konnte nur ShortStrings und PChars. Erst mit Delphi 2 wurden AnsiStrings eingeführt.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#6

AW: Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 17:30
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#7

AW: Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 17:42
IIRC war aber in Delphi 2 string schon Ansistring. Du musst wohl irgend etwas verwechseln.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 18:23
Ich hätte auch gedacht, daß mit der 16>32-Bit-Umstellung der neue String reingekommen ist.
$2B or not $2B
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#9

AW: Herausfinden welcher String-Typ verwendet wird

  Alt 5. Mär 2012, 19:10
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz