Enum Type/de

From Lazarus wiki

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


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:

  • {$Z1} oder {$PACKENUM 1}

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

  • {$Z2} oder {$PACKENUM 2}

bei 65535 .. 4294967295 Zeichen ist der Datentyp Longword:

  • {$Z4} oder {$PACKENUM 4}

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:

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.

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.

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

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

Type
  byte = (Null, Eins, Zwei);

Beispiele für die Zuweisung des Datentyps Enum:

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

Beispiele für die Konvertierung des Datentyps Enum:

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