AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XE3: Direktive für String Typ?

Ein Thema von greenmile · begonnen am 16. Nov 2012 · letzter Beitrag vom 16. Nov 2012
Antwort Antwort
Seite 1 von 2  1 2      
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 18:05
Hallo,

gibt es eigentlich eine Compiler Direktive, mit der ich den Typ vom String steuern kann? Ich möchte gerne für einige Units den guten alten AnsiString für "String" verwenden ...
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 18:27
{$IFDEF unicode}
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 18:29
Schon klar, aber ich möchte sowas wie {$UNICODE-}, um alles nachfolgende als AnsiString zu betrachten.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 18:32
Ja und Nein.

Aber das ist nur eine Kompatibilitätsfunktion für uralte Delphi1-Codes, also kannste das komplett vergessen.

Denn entweder String = UnicodeString (seit D2009) oder String = ShortString


PS: Sooooooviele Compilerdirektiven gibt es garnicht ... F1 kennst du?



Ach ja, ich bin froh, daß es sowas nicht gibt.
Stell dir mal vor überall wäre der selbe Typ ein Anderer.
Dann weiß doch keiner mehr was so wie ist.
z.B. ich kopiere mir eine EventMethode oder auch nur die Signatur von hier nach da und schon funktioniert nichts mehr.

Hätten alle damals schon AnsiString genommen, wo definitiv nur ANSI verlangt ist, dann gäbe es keine Probleme.
Und falls jetzt jemand meckert ... Lazarus hat mit seiner ANSI>UTF-8-Umstellung auch so seine Probleme.



Benenne String in AnsiString, Char in AnsiChar und PChar in PAnsiChar um und fertig, außerdem isses eindeutig.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (16. Nov 2012 um 18:43 Uhr)
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 18:42
F1? Ach dafür ist die Taste da?

Natürlich kenne ich die Hilfe, aber da stand nirgendwo etwas von so einer Direktive was ja bei der QS von Embarcadero nicht zwangsläufig heißt, dass es das nicht gibt. Es ist gibt so einige Abwärtskompatibilitäts-Schalter und die gibt es sicherlich nicht ohne Grund ...

Geändert von greenmile (16. Nov 2012 um 18:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 18:48
Wobei diese Compilerdirektiven relativ vollständig sind ... praktisch nur neuen RTTI-Direktiven vergessen die seit Jahren nachzutragen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 18:51
Gut, fassen wir es kurz: Gibt es nicht.
Schade, dann hätte ich mir einigen Streß ersparen können bei Units, die ich schon ewig verwende und die plötzlich abstürzen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 19:07
Wobei es bei Vielen Dingen auch nicht unbedingt optimal ist, diese einfach auf ANSI festzusetzen, nur weil sie mit Unicode nicht funktionieren.
- entweder die sind definitiv ANSI
- oder sie sind defekt und gehören repariert


Man nehme z.B. mal die RTTI:
- diese ist praktisch immernoch ANSI, Aaaaaaaber, die Schnittstellen zum Programm wurden auf UTF-8 umgestellt, was ja in ANSI reinpaßt.
Somit konnter der Compiler und die RTTI-Funktionen unverändert bleiben und dennoch können sie so indirekt auch mit Unicode umgehn.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#9

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 19:30
Aber das ist nur eine Kompatibilitätsfunktion für uralte Delphi1-Codes, also kannste das komplett vergessen.

Denn entweder String = UnicodeString (seit D2009) oder String = ShortString
Du meinst vermutlich $H /$LONGSTRINGS . Dazu lese ich hier folgendes:
Zitat:
Note: The LONGSTRINGS directive is obsolete and is ignored by the compiler. Current Delphi compilers use a long string type based on Unicode characters (UnicodeString). It is recommended that you use the default string type (UnicodeString). If you want to use the older string type, explicitly use the ShortString or string[<number>] types where needed.
Hab's aber nicht ausprobiert.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: XE3: Direktive für String Typ?

  Alt 16. Nov 2012, 19:55
Ohh, dann haben'se es wohl rausgeworfen, aber wie gesagt, das wäre eh keine Lösung gewesen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:32 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