Sign in Join
Wiki copytemporary

Enum Type/de: what changed

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

Title: Enum Type/de

OldNewLine
1+Zurück zu den [[Data type/de|Datentypen]].
2+
3+Wertebereich:
4+
5+bei 0 .. 255 Zeichen ist der [[Data type/de|Datentyp]] automatisch [[Byte/de|Byte]]
6+
7+bei 255 .. 65535 Zeichen ist der Datentyp automatisch [[Word/de|Word]]
8+
9+über 65635 Zeichen ist der Datentyp automatisch [[Longword/de|Longword]]
10+
11+Speicherbedarf: abhängig vom Datentyp und der Anzahl der Elemente.
12+
13+Eigenschaft:
14+
15+Beim Datentyp **Enum Type** handelt es sich um eine Aufzählung ganzzahliger vorzeichenloser Konstanten.\
16+Zusätzlich kann für den Datentyp mit Hilfe des Schalters der zu verwendende vorzeichenlose Integer-Datentyp festgelegt werden.
17+
18+bei 0 .. 255 Zeichen die Schalter für den Datentyp [[Byte/de|Byte]]:
19+
20+- {\$Z1} oder {\$PACKENUM 1}
21+
22+bei 255 .. 65535 Zeichen die Schalter für den Datentyp [[Word/de|Word]]:
23+
24+- {\$Z2} oder {\$PACKENUM 2}
25+
26+bei 65535 .. 4294967295 Zeichen ist der Datentyp [[Longword/de|Longword]]:
27+
28+- {\$Z4} oder {\$PACKENUM 4}
29+
30+Die Werte der Aufzählung erhöhen sich zum nächsten Element immer um 1.
31+
32+Beispiele für die Deklarierung des Datentyps Enum:
33+
34+Die Werte der Aufzählung beginnen standardmäßig bei 0:
35+
36+``` pascal
37+Type
38+ {$PACKENUM 2}
39+ LargeEnum = (Null, Eins, Zwei);
40+```
41+
42+Die Werte der Aufzählung beginnen standardmäßig bei 0, es sei denn, es wird der Aufzählung ein anderer Anfangswert zugewiesen. Dann beginnt die Zählung mit dem zugewiesenen Anfangswert.
43+
44+``` pascal
45+Type
46+ {$PACKENUM 4}
47+ SmallEnum = (Sechs := 6, Sieben, Acht);
48+```
49+
50+Wird mitten in der Aufzählung einem Element ein höherer Wert zugewiesen, dann wird ab diesem Wert weitergezählt.
51+
52+``` pascal
53+Type
54+ {$PACKENUM 1}
55+ MiddleEnum = (Null, Zehn := 10, Elf, Zwoelf);
56+```
57+
58+Explizite (ausdrückliche) Verwendung des Datentyps Byte für die Aufzählung.
59+
60+``` pascal
61+Type
62+ byte = (Null, Eins, Zwei);
63+```
64+
65+Beispiele für die Zuweisung des Datentyps Enum:
66+
67+``` pascal
68+Var
69+ S : SmallEnum;
70+ M : MiddleEnum;
71+ L : LargeEnum;
72+```
73+
74+Beispiele für die Konvertierung des Datentyps Enum:
75+
76+``` pascal
77+ Application.MessageBox(PChar(IntToStr(Qword(Ord(Sechs)))),'Konvertierung',MB_OK);
78+ Application.MessageBox(PChar(IntToStr(Qword(Ord(S.Sechs)))),'Konvertierung',MB_OK);
79+```
80+
81+---
82+*From the Free Pascal wiki, page "Enum Type/de", as it stood on 2020-02-14 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