Und nochmal ein kleines Beispiel, zu dem "warum" es nicht geht.
Das ist wie beim Boolean, welcher auch nicht "nur" zwei Zustände kennt ->
http://www.delphipraxis.net/178082-v...lean-zahl.html
Delphi-Quellcode:
type
TMyEnum = (Anfang = 1, Mitte = 3, Ende = 5);
var
MyEnum: TMyEnum;
MyEnum := TMyEnum(2); // hier ginge auch 0 bis 255 (oder größer, jenachdem wie $MINENUMSIZE definiert und wie groß der größte Wert in der Debinition ist)
Case MyEnum of
Anfang: ShowMessage('Anfang ' + IntToStr(Ord(MyEnum)));
Mitte: ShowMessage('Mitte ' + IntToStr(Ord(MyEnum)));
Ende: ShowMessage('Ende ' + IntToStr(Ord(MyEnum)));
Else ShowMessage('blubb ' + IntToStr(Ord(MyEnum)));
End;