Sign in Join
Wiki copytemporary

subrange types/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: subrange types/de

OldNewLine
1+Zurück zu den [[Data type/de|Datentypen]].
2+
3+Wertebereich: Entspricht der von einem selbst festgelegten Definition
4+
5+Speicherbedarf: Entspricht dem zugrundeliegenden Basisdatentyp
6+
7+Eigenschaft:
8+
9+Ein Teilbereichstyp:
10+
11+- ist ein Teilbereich eines Basisdatentyps
12+- kann nur Werte aus dem Wertebereich aufnehmen, die bei seiner Definition festgelegt wurden
13+
14+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.
15+
16+Es gibt zwei Möglichkeiten Teilbereichstypen zu definieren.
17+
18+Variante 1:
19+
20+``` pascal
21+ Var
22+ // Definiert einen ganzahligen Teilbereichstyp
23+ // im Wertebereich von 10 bis 123
24+ tbZahl1: 10..123;
25+ // Definiert einen zeichen Teilbereichstypen
26+ // im Wertebereich von A bis Z
27+ tbBuchstabe1: 'A'..'Z';
28+```
29+
30+Variante 2:
31+
32+``` pascal
33+ type
34+ // Definiert einen ganzahligen Teilbereichstyp
35+ // im Wertebereich von 10 bis 123
36+ TZahl2 = 10..123;
37+ TBuchstabe2 = 'A'..'Z';
38+
39+ Var
40+ tbZahl2: TZahl2;
41+ tbBuchstabe2: TBuchstabe2;
42+```
43+
44+Beispiele für die Zuweisung gültiger Werte:
45+
46+``` pascal
47+ tbZahl1 := 10;
48+ tbZahl1 := 123;
49+ tbZahl2 := 10;
50+ tbZahl2 := 123;
51+ tbBuchstabe1 := 'F';
52+ tbBuchstabe2 := 'F';
53+```
54+
55+Beispiele für die Zuweisung ungültiger Werte:
56+
57+``` pascal
58+ // der Wert liegt ausserhalb des Teilbereichs
59+ tbZahl1 := 9;
60+ tbZahl2 := 124;
61+ tbBuchstabe1 := 'f';
62+ tbBuchstabe2 := 'f';
63+ // die Werte sind Stringliterale die einem ganzzahligen
64+ // Datentyp zugewiesen werden
65+ tbZahl1 := '10';
66+ tbZahl1 := '123';
67+ tbZahl2 := '10';
68+ tbZahl2 := '123';
69+```
70+
71+---
72+*From the Free Pascal wiki, page "subrange types/de", as it stood on 2020-02-28 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history