Difference between revisions of "Enum Type/de"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed syntax highlighting; deleted category included in page template)
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{Enum Type}}
 
{{Enum Type}}
  
Wertebereich:<br>
 
bei 0 .. 255 Zeichen ist der [[Data type/de|Datentyp]] [[Byte/de|Byte]]<br>
 
bei 255 .. 65535 Zeichen ist der [[Data type/de|Datentyp]] [[Word/de|Word]]<br>
 
über 65635 Zeichen ist der [[Data type/de|Datentyp]] [[Longword/de|Longword]]<br>
 
Speicherbedarf: abhängig vom [[Data type/de|Datentyp]] und der Anzahl der Elemente<br>
 
  
Eigenschaft:<br>
+
Zurück zu den [[Data type/de|Datentypen]].
Zusätzlich kann für den [[Data type/de|Datentyp]] mit Hilfe des Schalters der zu verwendende [[Data type/de|Datentyp]] festgelegt werden.<br>
 
bei 0 .. 255 Zeichen die Schalter für den [[Data type/de|Datentyp]] [[Word/de|Word]]:<br>
 
{$Z2} oder {$PACKENUM 2}<br>
 
bei 0 .. 255 Zeichen die Schalter für den [[Data type/de|Datentyp]] [[Longword/de|Longword]]:<br>
 
{$Z4} oder {$PACKENUM 4}<br>
 
bei 255 .. 65535 Zeichen ist der [[Data type/de|Datentyp]] [[Longword/de|Longword]]:<br>
 
{$Z4} oder {$PACKENUM 4}<br>
 
  
 +
 +
Wertebereich:
 +
 +
bei 0 .. 255 Zeichen ist der [[Data type/de|Datentyp]] automatisch [[Byte/de|Byte]]
 +
 +
bei 255 .. 65535 Zeichen ist der Datentyp automatisch [[Word/de|Word]]
 +
 +
über 65635 Zeichen ist der Datentyp automatisch [[Longword/de|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.<br>
 +
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/de|Byte]]:
 +
 +
* {$Z1} oder {$PACKENUM 1}
 +
 +
bei 255 .. 65535 Zeichen die Schalter für den Datentyp [[Word/de|Word]]:
 +
 +
* {$Z2} oder {$PACKENUM 2}
 +
 +
bei 65535 .. 4294967295 Zeichen ist der Datentyp [[Longword/de|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:
 
Beispiele für die Deklarierung des Datentyps Enum:
<syntaxhighlight>
+
 
 +
Die Werte der Aufzählung beginnen standardmäßig bei 0:
 +
 
 +
<syntaxhighlight lang=pascal>
 +
Type
 +
  {$PACKENUM 2}
 +
  LargeEnum = (Null, Eins, Zwei);
 +
</syntaxhighlight>
 +
 
 +
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.
 +
 
 +
<syntaxhighlight lang=pascal>
 
Type
 
Type
 
   {$PACKENUM 4}
 
   {$PACKENUM 4}
   LargeEnum = ( Eins, Zwei, Drei);
+
   SmallEnum = (Sechs := 6, Sieben, Acht);  
 +
</syntaxhighlight>
 +
 
 +
Wird mitten in der Aufzählung einem Element ein höherer Wert zugewiesen, dann wird ab diesem Wert weitergezählt.
 +
 
 +
<syntaxhighlight lang=pascal>
 +
Type
 
   {$PACKENUM 1}
 
   {$PACKENUM 1}
   SmallEnum = ( Sechs := 6, Sieben, Acht);  
+
   MiddleEnum = (Null, Zehn := 10, Elf, Zwoelf);
 +
</syntaxhighlight>
 +
 
 +
Explizite (ausdrückliche) Verwendung des Datentyps Byte für die Aufzählung.
 +
 
 +
<syntaxhighlight lang=pascal>
 +
Type
 +
  byte = (Null, Eins, Zwei);
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
Beispiele für die Zuweisung des Datentyps Enum:
 
Beispiele für die Zuweisung des Datentyps Enum:
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
Var  
 
Var  
 
   S : SmallEnum;
 
   S : SmallEnum;
 +
  M : MiddleEnum;
 
   L : LargeEnum;
 
   L : LargeEnum;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
Beispiele für die Konvertierung des Datentyps Enum:
 
Beispiele für die Konvertierung des Datentyps Enum:
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
   Application.MessageBox(PChar(IntToStr(Qword(Ord(Sechs)))),'Konvertierung',MB_OK);
 
   Application.MessageBox(PChar(IntToStr(Qword(Ord(Sechs)))),'Konvertierung',MB_OK);
 
   Application.MessageBox(PChar(IntToStr(Qword(Ord(S.Sechs)))),'Konvertierung',MB_OK);
 
   Application.MessageBox(PChar(IntToStr(Qword(Ord(S.Sechs)))),'Konvertierung',MB_OK);
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 18:09, 19 August 2012 (UTC)
 
[[Category:Pascal]]
 

Latest revision as of 08:51, 14 February 2020

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