Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#6

AW: ZeroBasedStrings an/aus behandeln

  Alt 30. Dez 2021, 11:50
Weil besch****eise IFOPT nur für Einbuchstabige Optionen funktioniert?

Und jupp {$IF Low(string) = 0} . (es sollte so gehn, aber falls nicht, dann halt ein normales IF)


Notfalls einfach den String-Helper nehmen ... der arbeitet immer ab 0.
Es mag zwar sein, dass Uwe das nicht so gemeint hatte, aber ich hab' genau sowas gesucht und es jetzt so umgesetzt:

Delphi-Quellcode:
  {$IF Low(string) = 0}
    {$DEFINE ZBS_IS_ON}
    {$ZEROBASEDSTRINGS OFF}
  {$IFEND}

  {$IFDEF ZBS_IS_ON}
  // mein abhängiger Code
  {$ENDIF}

  // Am Ende:
  {$IFDEF ZBS_IS_ON}
    {$UNDEFINE ZBS_IS_ON}
    {$ZEROBASEDSTRINGS ON}
  {$ENDIF}
Die Daten wegen denen das gemacht wird sind ja in einem RawByteString,
weil man das "Alphabet" damit einfach komfortabler als mit einem Byte-Array
definieren kann und dadurch hängt die Basis des Index einfach am ZBS an oder aus.
Und nein: ich will nicht zur Laufzeit jedesmal die Basis für den Index Berechnen
lassen, wenn es nicht sein muss.

=> Danke für alle Beiträge, war ja auch was für mich funktionierendes dabei.
  Mit Zitat antworten Zitat