Thema: Delphi #155<>Char(155) ?

Einzelnen Beitrag anzeigen

jziersch

Registriert seit: 9. Okt 2003
Ort: München
251 Beiträge
 
Delphi 10.4 Sydney
 
#1

#155<>Char(155) ?

  Alt 12. Apr 2018, 13:16
Hallo,

Ich baue seit einiger Zeit WPTools für FireMonkey und nun auch für die Verwendung unter Android um und da gibt es ja bekanntermassen keine AnsiChar mehr.
AnsiString gib es zwar auch nicht, dafür aber RAWByteStrings.
RAWChar gibt es komischerweise nicht und so muss einiger optimierter code auf Byte umgestellt werden.

Anstatt var Tabelle[AnsiChar] of Boolean habe ich also eine var Tabelle[#$00..#$FF] of Boolean verwendet und wie bisher initialisiert:

Tabelle['.'] := true;
Tabelle[#155] := true;

Hierbei gab es keinen Rangecheck Fehler aber das Programm war instabil oder startet gar nicht, je nachdem welche units in welcher Reihenfolge man eingebaut hatte. (Super!)

Irgendwann bin ich darauf gekommen den Code zu ändern in

var Tabelle[#0..#256] of Boolean;

Tabelle['.'] := true;
Tabelle[Char(155)] := true;

und ...
nun geht es. Keine Probleme mehr.

Ich habe mal einen Test gebaut:

if #155<>Char(155) then
ShowMessage(IntToStr(Integer(#155)));

Und hier kommt die Messagebox und zeigt - Überraschung "155" - weiss jemand wieso?

Grüsse,
Julian
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF
  Mit Zitat antworten Zitat