Character code

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11 (Geändert)


Character code (Zeichen) Zahl

ParameterTypBeschreibung
ZeichenStringZeichen, dessen Code gewünscht wird
FunktionsergebnisZahlCode für das Zeichen

Beschreibung

Die FunktionCharacter code gibt den Code des Zeichens zurück, das im Parameter Zeichen übergeben wurde.

- Läuft die Datenbank im Unicode Modus (Standardmodus für Datenbanken, die mit Version 11 oder höher erstellt wurden), gibt die Funktion den Code Unicode UTF_16 von Zeichen zurück (zwischen 1 und 65535).

- Läuft die Datenbank im ASCII Kompatibilitätsmodus, gibt die Funktion den ASCII Code von Zeichen zurück (zwischen 0 und 255).

Weitere Informationen dazu finden Sie im Abschnitt Über Unicode.

Bei mehr als 1 Zeichen in String, gibt Character code nur den Code des ersten Zeichens zurück.

Die Funktion Char ist das Gegenstück zu Character code. Sie gibt das Zeichen zum entsprechenden UTF-16 oder ASCII Code zurück.

Wichtig: Im ASCII Kompatibilitätsmodus sind alle Felder, Variablen oder Werte vom Typ Text, die noch nicht in einen anderen ASCII Code konvertiert wurden, unter Windows und auf Macintosh Mac OS kodiert. Weitere Informationen dazu finden Sie im Abschnitt ASCII Codes.

Beispiele

1. In einem Vergleich wird normalerweise nicht zwischen Klein- und Großschreibung unterschieden. Mit Character code können Sie diese Unterscheidung machen.

Folgende Zeile gibt TRUE zurück:

   ("A" = "a")

Folgende Zeile dagegen gibt FALSE zurück:

   (Character code("A")=Character code("a"))

2. Dieses Beispiel gibt den Code des ersten Zeichens der Zeichenkette "ABC" zurück:

   GetCode=Character code("ABC") ` GetCode ergibt 65, den Character Code von A

3. Folgendes Beispiel prüft den Zeilenumbruch und Tabulatorzeichen:

   For($vlChar;1;Length(vtText))
      Case of
         : (vtText[[$vlChar]]=Char(Carriage return))
            ` Führe etwas aus
         : (vtText[[$vlChar]]=Char(Tab))
            ` Führe wieder etwas aus
         : (...)
            ` ...
      End case
   End for

Bei mehrmaliger Ausführung in langen Texten läuft der Text kompiliert schneller mit folgender Schreibweise ab:

   For($vlCode;1;Length(vtText))
      $vlCode:=Character code(vtText[[$vlChar]])
      Case of
         : ($vlCode=Carriage return)
            ` Führe etwas aus
         : ($vlCode=Tab)
            ` Führe wieder etwas aus
         : (...)
            ` ...
      End case
   End for

Der zweite Teil des Code läuft schneller, weil er pro Durchlauf nur auf ein Zeichen zugreift und für Zeilenumbruch und Tabulatorzeichen nicht Zeichenketten, sondern Lange Ganzzahlen miteinander vergleicht. Verwenden Sie diese Technik, wenn Sie mit gängigen Codes wie CR und TAB arbeiten.

Referenz

ASCII Codes, Char, Symbole für direkten Zeichenzugriff.

Anwendung des Befehls

Filter Keystroke


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next