subrange types/de

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Deutsch (de) English (en) français (fr)


Zurück zu den Datentypen.


Wertebereich: Entspricht der von einem selbst festgelegten Definition

Speicherbedarf: Entspricht dem zugrundeliegenden Basisdatentyp

Eigenschaft:

Ein Teilbereichstyp:

  • ist ein Teilbereich eines Basisdatentyps
  • kann nur Werte aus dem Wertebereich aufnehmen, die bei seiner Definition festgelegt wurden

Das Zuweisen anderer Werte führt beim Kompilieren des Programms zu Fehlermeldungen des Compilers und der Compiliervorgang wird abgebrochen. Das heißt, das ausführbare Programm wird nicht erstellt.


Es gibt zwei Möglichkeiten Teilbereichstypen zu definieren.

Variante 1:

 Var
   // Definiert einen ganzahligen Teilbereichstyp
   // im Wertebereich von 10 bis 123
   tbZahl1: 10..123;
   // Definiert einen zeichen Teilbereichstypen
   // im Wertebereich von A bis Z
   tbBuchstabe1: 'A'..'Z';

Variante 2:

 type
   // Definiert einen ganzahligen Teilbereichstyp
   // im Wertebereich von 10 bis 123
  TZahl2 = 10..123;
  TBuchstabe2 = 'A'..'Z';

 Var
   tbZahl2: TZahl2;
   tbBuchstabe2: TBuchstabe2;

Beispiele für die Zuweisung gültiger Werte:

   tbZahl1 := 10;
   tbZahl1 := 123;
   tbZahl2 := 10;
   tbZahl2 := 123;
   tbBuchstabe1 := 'F';
   tbBuchstabe2 := 'F';

Beispiele für die Zuweisung ungültiger Werte:

   // der Wert liegt ausserhalb des Teilbereichs
   tbZahl1 := 9;
   tbZahl2 := 124;
   tbBuchstabe1 := 'f';
   tbBuchstabe2 := 'f';
   // die Werte sind Stringliterale die einem ganzzahligen
   // Datentyp zugewiesen werden
   tbZahl1 := '10';
   tbZahl1 := '123';
   tbZahl2 := '10';
   tbZahl2 := '123';