HIGHCHARUNICODE-Direktive (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Liste der Delphi-Compiler-Direktiven - Index

Typ

Option

Syntax

{$HIGHCHARUNICODE ON} oder {$HIGHCHARUNICODE OFF}

Vorgabe

{$HIGHCHARUNICODE OFF}

Bereich

Lokal



Anmerkungen

Die Direktive {$HIGHCHARUNICODE ON} steuert das Verhalten der Zeichen #$80 ... #$FF (#128 ... #255).

Wenn HIGHCHARUNICODE OFF ist:

  • Werden alle dezimalen #xx-Literale mit n Ziffern als AnsiChar analysiert.
  • Werden alle hexadezimalen #$xx-Literale mit zwei Ziffern als AnsiChar analysiert.
  • Werden alle hexadezimalen #$xxxx-Literale mit vier Ziffern als WideChar analysiert.

Wenn HIGHCHARUNICODE ON ist:

  • Werden alle Literale als WideChar analysiert.


Beispiel:

Im folgenden Beispiel

  • ist (U + 0080) ein Steuerzeichen; in ANSI-Codeseiten ist es nicht vorhanden (wird in "?" konvertiert).
  • ist (U + 00C8) das Zeichen "È"; es ist in der Win1252-Codeseite vorhanden und in der Win1251-Codeseite nicht vorhanden (wird in "E" konvertiert).
 
  var
    A: AnsiChar;
    W: WideChar;
  
  begin
  
  {$HIGHCHARUNICODE OFF}
    A := #$80; // Ord(A) = $80
    W := #$80; // Ord(W) depends on default ANSI codepage; for example
               //   = $0402 for Win1251 codepage ('Ђ')
               //   = $20AC for Win1252 codepage ('€');
  
  {$HIGHCHARUNICODE ON}
    A := #$80; // Ord(A) = $3F ('?')
    W := #$80; // Ord(W) = $80
  
    A := #200; // Ord(A) depends on default ANSI codepage; for example
               //   = $45 for Win1251 codepage ('E')
               //   = $C8 for Win1252 codepage ('È');
    W := #200; // Ord(W) = 200 ($C8)
  
  end;

Siehe auch