11. Anlage
 
zurück
11.1.2 Zeichenbehandlung


Für die Zeichenbehandlung sind neben der Typvereinbarung von CHARACTER und WIDE_CHARACTER im Paket "Standard" folgende Pakete spezifiziert:

Das Paket Ada.Characters dient als übergeordnetes Paket für die vordefinierten Pakete Ada.Characters.Handling und
Ada.Characters.Latin_1.

Folgende Funktionen sind in Ada.Characters.Handling spezifiziert:


1) Klassifizierungsfunktionen

Alle Klassifizierungsfunktionen erwarten als Eingabeparameter ein Zeichen des Typs Character und haben einen booleschen Rückgabewert.

function Is_Control (Item : in Character) return Boolean;
Liefert "Wahr", wenn es sich bei "Item" um ein Steuerzeichen handelt. Steuerzeichen sind
die Zeichen an den Positionen 0 bis 31 und 127 bis 159 des Latin-1-Zeichensatzes (siehe Deklaration von Characters.Latin_1).

function Is_Graphic (Item : in Character) return Boolean;
Liefert Wahr", wenn es sich bei "Item" um ein graphisches Zeichen handelt. Graphische
Zeichen sind alle Zeichen außer den Steuerzeichen, also auch die Buchstaben und Sonderzeichen.
function Is_Letter (Item : in Character) return Boolean;
Liefert "Wahr", wenn es sich bei "Item" um einen Buchstaben handelt. Hierzu zählen 'A'..'Z', 'a'..'z' sowie die Sonderzeichen an den Positionen 192 bis 214, 216 bis 246 und 248 bis 255.
function Is_Lower (Item : in Character) return Boolean;
Liefert "Wahr", wenn es sich bei "Item" um einen kleinen Buchstaben handelt. Hierzu zählen 'a'..'z' sowie die Sonderzeichen an den Positionen 223 bis 246 und 248 bis 255.
function Is_Upper (Item : in Character) return Boolean;
Liefert "Wahr", wenn es sich bei "Item" um einen großen Buchstaben handelt. Hierzu zählen 'A'..'Z' sowie die Sonderzeichen an den Positionen 192 bis 214 und 216 bis 222.
function Is_Basic (Item : in Character) return Boolean;
Liefert "Wahr", wenn "Item" ein Elementarzeichen ist, also kein anderer Buchstabe mit
Zusätzen wie Punkten, Strichen, Kreisen oder Tilden. Zu Elementarzeichen zählen 'A'..'Z', 'a'..'z', und die Sonderzeichen 'Æ', 'æ', 'Ð', 'ð', 'Þ', 'þ' und 'ß'.
function Is_Digit (Item : in Character) return Boolean;
Liefert "Wahr", wenn "Item" eine Dezimalziffer ist. Hierzu zählen die Zeichen 0..9.
function Is_Decimal_Digit (Item : in Character) return Boolean;
Is_Decimal_Digit ist nur ein anderer Name für die Funktion Is_Digit.
function Is_Hexadecimal_Digit (Item : in Character) return Boolean;
Liefert "Wahr", wenn "Item" eine hexadezimale Ziffer ist. Hierzu zählen die Dezimalziffern und die Buchstaben 'A'..'F' und 'a'..'f'.
function Is_Alphanumeric (Item : in Character) return Boolean;
Liefert "Wahr", wenn es sich bei "Item" um eine Dezimalziffer oder um einen Buchstaben
handelt, also bei allen Zeichen, die entweder bei Is_Letter oder bei Is_Digit "Wahr" liefern würden.
function Is_Special (Item : in Character) return Boolean;
Liefert "Wahr", wenn es sich bei "Item" um ein graphisches Zeichen handelt, das kein alphanumerisches Zeichen ist.


2) Konvertierungsfunktionen

Die Konvertierungsfunktionen existieren sowohl zur Konvertierung von Zeichen nach Zeichen als auch zur Konvertierung von Zeichenketten nach Zeichenketten. Für die Konvertierung der Zeichenketten wird auf jedes Zeichen der Zeichenkette die Funktion zur Konvertierung eines Zeichens angewendet.
function To_Lower (Item : in Character) return Character;
Liefert den zugehörigen kleinen Buchstaben, wenn es sich um einen großen Buchstaben handelt, ansonsten wird der Eingabewert zurückgegeben.
function To_Lower (Item : in String) return String;
Liefert eine Zeichenkette, in der alle großen Buchstaben durch die zugehörigen kleinen Buchstaben ersetzt wurden.
function To_Upper (Item : in Character) return Character;
Liefert den zugehörigen großen Buchstaben, wenn es sich um einen kleinen Buchstaben
handelt, ansonsten wird der Eingabewert zurückgegeben. Die Zeichen 'ß' und 'ÿ' haben keinen zugehörigen großen Buchstaben.
function To_Upper (Item : in String) return String;
Liefert eine Zeichenkette, in der alle kleinen Buchstaben durch die zugehörigen großen Buchstaben ersetzt wurden.
function To_Basic (Item : in Character) return Character;
Liefert das zugehörige Elementarzeichen, wenn es sich um einen Buchstaben handelt, der noch kein Elementarzeichen ist, ansonsten wird der Eingabewert zurückgegeben.
function To_Basic (Item : in String) return String;
Liefert eine Zeichenkette, in der alle Buchstaben, die keine Elementarzeichen waren, durch entsprechende Elementarzeichen ersetzt wurden.

Beispiel:

Text_IO.Put_Line (
To_Basic ("Ich höre im Radio ""Déjà vu""."));


liefert als Ausgabe:

Ich hore im Radio "Deja vu".


3) ISO-646-Funktionen

Die ISO-646-Funktionen existieren sowohl für Zeichen als auch für Zeichenketten, wobei für
Zeichenketten die gleichnamige Zeichenfunktion für jedes Zeichen aufgerufen wird. ISO 646 ist ein 7-bit-Zeichensatz, der zum Datenaustausch verwendet wird.
function Is_ISO_646 (Item : in Character) return Boolean;
Liefert "Wahr", wenn "Item" innerhalb des ISO-646-Untertyps liegt, also innerhalb der ersten 128 Zeichen.
function Is_ISO_646 (Item : in String) return Boolean;
Liefert "Wahr", wenn die Funktion Is_ISO_646 für jedes der Zeichen in der Zeichenkette "Wahr" liefert.
function To_ISO_646 (Item : in Character; Substitute : in ISO_646 := ' ') return ISO_646;
Liefert den Eingabewert, wenn "Item" innerhalb des ISO-646-Untertyps liegt, ansonsten das Zeichen aus dem Parameter "Substitute".
Function To_ISO_646 (Item : in String; Substitute : in ISO_646 := ' ') return ISO_646;
Liefert eine Zeichenkette, in der jedes Zeichen aus der eingegebenen Zeichenkette mit der Funktion To_ISO_646 konvertiert wurde.

Beispiel:

Text_IO.Put_Line (To_ISO_646 ("Ich höre im Radio ""Déjà vu"".",'#'));

liefert als Ausgabe:

Ich h#re im Radio "D#j# vu".


4) Wide_Character-Funktionen

Die Wide_Character-Funktionen dienen zum Test, ob Wide_Character-Werte im Typ Character enthalten sind oder konvertieren zwischen Character und Wide_Character.
function Is_Character (Item : in Wide_Character) return Boolean;
Liefert "Wahr", wenn "Item" innerhalb der Definition von Character, also innerhalb der ersten
256 Zeichen, liegt.
function Is_String (Item : in Wide_String) return Boolean;
Liefert "Wahr", wenn Is_Character für jedes der Zeichen des Wide_Strings "Wahr" ergibt.
function To_Character (Item : in Wide_Character; Substitute : in Character := ' ') return Character;
Liefert den Eingabewert, wenn "Item" ein Character ist, ansonsten das Zeichen aus dem
Parameter "Substitute".
function To_String (Item : in Wide_String; Substitute : in Character := ' ')return String;
Führt die Funktion To_Character für jedes Zeichen des Wide_Strings aus und liefert diese
als Zeichenkette zurück.
function To_Wide_Character (Item : in Character) return Wide_Character;
Liefert das Zeichen des Typs Wide_Character zurück, das die gleiche Indexposition hat, wie
der Eingabewert vom Typ Character.
function To_Wide_String (Item : in String) return Wide_String;
Führt die Funktion To_Wide_Character für jedes Zeichen der Zeichenkette aus und liefert
diese als Wide_String zurück.


Das Paket Ada.Characters.Latin_1 deklariert Konstanten für die Zeichen des ISO 8859-1 Zeichensatzes.

Spezifikation des Paketes "Ada.Characters"
Spezifikation des Paketes "Ada.Characters.Handling"
Spezifikation des Paketes "Ada.Characters.Latin_1"


 
zurück
 Index   Ada Tour - Dokumentation  
© 2003 Förderverein Ada Deutschland e.V.