Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#11

AW: Wie läßt sich die Anzahl der Elemente eines AufzählungsTyps bestimmen?

  Alt 21. Apr 2023, 14:27
Jupp, High liefert nicht die Anzahl den Index, sondern das Element, also ee.

Mit Ord lässt sich der Index in einen anderen ordinalen Typen (Integer) konvertieren.

Delphi-Quellcode:
Anzahl := Ord(High(MyType)) + 1;
Anzahl := Succ(Ord(High(MyType)));
//Anzahl := Ord(Succ(High(MyType)));

Ja, wenn man die Indize im Typen manipuliert/vorgibt, und dabei Lücken entstehen, dann fehlt in der Typeinfo die Liste der Elementnamen (auch wenn es dafür einen einfachen Bugfix gäbe, aber Emba wollte nicht)
und somit fehlt auch die Möglichkeit den Teilbereich zu bestimmen. (dann geht es nur noch über die Speichergröße des ganzen Enum und die ist nunmal 1, 2, 4 oder 8 Bytes, bzw. beim Set bis 32 Byte, also 0..255)
$2B or not $2B

Geändert von himitsu (21. Apr 2023 um 18:21 Uhr)
  Mit Zitat antworten Zitat