Sign in Join
Wiki copytemporary

Revision 3 of 3, by WikiArchive on 11-4-2026. The page as it is now.

Enum Type/de

Zurück zu den Datentypen.

Wertebereich:

bei 0 .. 255 Zeichen ist der Datentyp automatisch Byte

bei 255 .. 65535 Zeichen ist der Datentyp automatisch Word

über 65635 Zeichen ist der Datentyp automatisch Longword

Speicherbedarf: abhängig vom Datentyp und der Anzahl der Elemente.

Eigenschaft:

Beim Datentyp Enum Type handelt es sich um eine Aufzählung ganzzahliger vorzeichenloser Konstanten.
Zusätzlich kann für den Datentyp mit Hilfe des Schalters der zu verwendende vorzeichenlose Integer-Datentyp festgelegt werden.

bei 0 .. 255 Zeichen die Schalter für den Datentyp Byte:

bei 255 .. 65535 Zeichen die Schalter für den Datentyp Word:

bei 65535 .. 4294967295 Zeichen ist der Datentyp Longword:

Die Werte der Aufzählung erhöhen sich zum nächsten Element immer um 1.

Beispiele für die Deklarierung des Datentyps Enum:

Die Werte der Aufzählung beginnen standardmäßig bei 0:

pascal
Type
  {$PACKENUM 2}
  LargeEnum = (Null, Eins, Zwei);

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.

pascal
Type
  {$PACKENUM 4}
  SmallEnum = (Sechs := 6, Sieben, Acht);

Wird mitten in der Aufzählung einem Element ein höherer Wert zugewiesen, dann wird ab diesem Wert weitergezählt.

pascal
Type
  {$PACKENUM 1}
  MiddleEnum = (Null, Zehn := 10, Elf, Zwoelf);

Explizite (ausdrückliche) Verwendung des Datentyps Byte für die Aufzählung.

pascal
Type
  byte = (Null, Eins, Zwei);

Beispiele für die Zuweisung des Datentyps Enum:

pascal
Var 
  S : SmallEnum;
  M : MiddleEnum;
  L : LargeEnum;

Beispiele für die Konvertierung des Datentyps Enum:

pascal
  Application.MessageBox(PChar(IntToStr(Qword(Ord(Sechs)))),'Konvertierung',MB_OK);
  Application.MessageBox(PChar(IntToStr(Qword(Ord(S.Sechs)))),'Konvertierung',MB_OK);

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.