Ordinale Typen
Zu den ordinalen Typen gehören Integer-, Zeichen-, Aufzählungs-, Teilbereichs- und Boolesche Typen. Ein ordinaler Typ definiert eine Menge von Werten mit eindeutiger Reihenfolge, in der jeder Wert mit Ausnahme des ersten einen eindeutigen Vorgänger und mit Ausnahme des letzten einen eindeutigen Nachfolger hat. Die Reihenfolge der Werte wird durch deren Ordinalposition festgelegt. In den meisten Fällen hat ein Wert mit der Ordinalposition n einen Vorgänger mit der Ordinalposition n-1 und einen Nachfolger mit der Ordinalposition n+1.
Bei Integer-Typen ist die Ordinalposition mit dem Wert selbst identisch.
Teilbereichstypen übernehmen die Ordinalposition von ihrem Basistyp.
Bei allen anderen ordinalen Typen hat der erste Wert standardmäßig die Ordinalposition 0, der nächste die Ordinalposition 1 usw. In der Deklaration eines Aufzählungstyps kann diese Vorgabe überschrieben werden.
Einige vordefinierte Funktionen operieren mit ordinalen Werten und Typbezeichnern. Die wichtigsten dieser Funktionen sind in der folgenden Tabelle zusammengefasst.
Funktion Parameter Rückgabewert Bemerkungen
Ord
Ordinaler Ausdruck
Ordinalposition des Ausdruckswertes
Akzeptiert keine Int64-Argumente.
Pred
Ordinaler Ausdruck
Vorgänger des Ausdruckswertes
Succ
Ordinaler Ausdruck
Nachfolger des Ausdruckswertes
High
Ordinaler Typbezeichner oder Variable mit ordinalem Typ
Höchster Wert des Typs
Verarbeitet auch kurze String-Typen und Arrays.
Low
Ordinaler Typbezeichner oder Variable mit ordinalem Typ
Niedrigster Wert des Typs
Verarbeitet auch kurze String-Typen und Arrays.
Beispielsweise liefert High(Byte) den Wert 255, weil 255 der höchste Wert des Typs Byte ist. Succ(2) liefert 3, weil 3 der Nachfolger von 2 ist.
Die Standardprozeduren Inc und
Dec erhöhen bzw. erniedrigen den Wert der ordinalen Variable. Beispielsweise ist Inc(I) identisch mit I := Succ(I) oder mit I := I + 1, wenn I eine Integer-Variable ist.