HIGHCHARUNICODE-Direktive (Delphi)
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;