Typdefinition Teilbereichstypen Aufzählungstypen „Enumeration Types“

Object Pascal im Detail - Eigene Datentypen definieren www.delphi-treff.de 71

4.5. Eigene Datentypen definieren

Wie wir in den folgenden Abschnitten sehen werden, gibt es in Delphi die Möglichkeit, Datentypen auf die eigenen Bedürfnisse anzupassen, z.B. einen Wertebereich einzuschränken wie beim Teilbereichstyp oder aus mehreren Variablen zusammenzusetzen wie bei Records. In diesen Fall ist es ratsam, dem neuen Typ erst einmal einen Namen zu verpassen, unter dem man ihn später verwenden kann. Bei „ei fa he Date t pe wie String, Real, Integer, Boolean usw. ist das natürlich nicht erforderlich.

4.5.1. Typdefinition

Eine Typdefinition wird in einem type-Block hinterlegt. Das Konstrukt ähnelt einer Variablendeklaration. Da aber statt einer Variablen ein Typ deklariert wird, ist das Folgende auch kein Variablen- sondern ein Typname. Typnamen beginnen in Delphi mit einem großen T, wenn sich der Programmierer an den Styleguide gehalten hat. Statt eines Doppelpunkts wird ein Gleichheitszeichen verwendet. I de folge de Beispiele i d zue st ei eue T p defi ie t „t pe u d a s hließe d ei e Va ia le o diese T p a gelegt „ a . I e hal ei e U it sähe das z.B. so aus: program MeinProgramm; {APPTYPE CONSOLE} uses SysUtils; type TKleineZahl = 0..200; var KleineZahl: TKleineZahl; begin ...

4.5.2. Teilbereichstypen

Einen weiteren Datentyp gibt es noch, nämlich den Teilbereichstyp, auch Unterbereichstyp genannt. Hierüber kann man Variablen z. B. zwar den Typ Integer zuordnen, aber nicht den kompletten Definitionsbereich, sondern nur einen Teilbereich davon: type TKleineZahl = 0..200; var KleineZahl: TKleineZahl; Wir definieren hier zuerst einen eigenen Typ mit dem Namen TKleineZahl. Von diesem Typ können wir anschließend beliebig viele Variablen deklarieren und ihn natürlich auch in Methoden-Signaturen für Parametertypen verwenden. Object Pascal im Detail - Eigene Datentypen definieren www.delphi-treff.de 72 Der Variablen KleineZahl lassen sich jetzt nur ganze Zahlen zwischen 0 und 200 zuweisen.

4.5.3. Aufzählungstypen „Enumeration Types“

Will man nicht mit Zahlen, aber auch nicht mit Freitext arbeiten, kann man einen Aufzählungstyp definieren. Das macht den Code besser lesbar. Die einzelnen Werte werden fest definiert und sind zur Laufzeit nicht erweiterbar. type TFarbe = blau, gelb, gruen, rot; var Farbe: TFarbe; Intern werden die Werte bei Null beginnend durchnummeriert und haben deshalb eine feste Reihenfolge. Über die Funktion ord lässt sich die Position bestimmen. Wichtige Funktionen zum Arbeiten mit Aufzählungstypen sind: ord gibt die Position des Bezeichners zurück pred gibt den Vorgänger zurück succ gibt den Nachfolger zurück low gibt den niedrigsten Wert zurück high gibt den höchsten Wert zurück Die Typen Integer und Char gehören ebenfalls zu den ordinalen abzählbaren Typen, d.h. die Werte lassen sich in einer Reihenfolge anordnen, weshalb o.g. Funktionen auf sie ebenfalls angewandt werden können.

4.5.4. Mengentypen „Set“