subrange types/de

From Free Pascal wiki

Deutsch (de) 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';



--Olaf 09:11, 28 December 2013 (CET)