Hier eine Lösung für Mengen mit Wertzuweisung:
Anzahl := Ord(High(TMenge)) - Ord(Low(TMenge)) + 1;
Dieser Ausdruck liefert auch für den folgenden Fall die richtige Lösung (8 Elemente):
Delphi-Quellcode:
TYPE TFarbe = (rot=3, gelb=9, gruen);
TMenge = SET OF TFarbe;
Von diesen 8 Elementen haben im Beispiel nur 3 einen Namen erhalten. Die restlichen Elemente können aber durchaus vorkommen:
Variable := [rot..gruen]; // enthält alle 8 Elemente
Gruß Hawkeye