Difference between revisions of "Enum Type/de"

From Free Pascal wiki
Jump to navigationJump to search
Line 19: Line 19:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
Type
 
Type
   {$PACKENUM 4}
+
   {$PACKENUM 2}
 
   LargeEnum = ( Null, Eins, Zwei);
 
   LargeEnum = ( Null, Eins, Zwei);
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 25: Line 25:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
Type
 
Type
   {$PACKENUM 1}
+
   {$PACKENUM 4}
 
   SmallEnum = ( Sechs := 6, Sieben, Acht);  
 
   SmallEnum = ( Sechs := 6, Sieben, Acht);  
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 32: Line 32:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
Type
 
Type
   {$PACKENUM 2}
+
   {$PACKENUM 1}
 
   MiddleEnum = ( Null, Zehn := 10, Elf, Zwölf);
 
   MiddleEnum = ( Null, Zehn := 10, Elf, Zwölf);
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 19:14, 24 August 2012

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

Wertebereich:
bei 0 .. 255 Zeichen ist der Datentyp Byte
bei 255 .. 65535 Zeichen ist der Datentyp Word
über 65635 Zeichen ist der Datentyp Longword
Speicherbedarf: abhängig vom Datentyp und der Anzahl der Elemente

Eigenschaft:
Zusätzlich kann für den Datentyp mit Hilfe des Schalters der zu verwendende Datentyp festgelegt werden.
bei 0 .. 255 Zeichen die Schalter für den Datentyp Word:

  • {$Z2} oder {$PACKENUM 2}

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

  • {$Z4} oder {$PACKENUM 4}

bei 255 .. 65535 Zeichen ist der Datentyp Longword:

  • {$Z4} oder {$PACKENUM 4}

Die Werte der Aufzählung erhöhen sich zu 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 seidenn es wird der Aufzählung ein anderer Anfangswert zugewiesen. Dann beginnt die Zählung mit dem zugwiesenen 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, Zwölf);

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);



--Olaf 17:51, 24 August 2012 (UTC)