Nja, erstmal, was hindert dich daran selber für die gewünschte Reinfolge zu sorgen?
Delphi-Quellcode:
If test > High(Tmy123) Then test := Low(Tmy123)
Else Inc(test);
Das Ganze liese sich dann notfalls auch noch schön in eine neue Inc-Prozedur verpacken.
Außerdem, weißt du wie aufwenig der Code ('s kompilierte
ASM-Ergebnis) würde, wenn die "Designer der Sprache" auf jeden Wertesprung eingehen würden?
... abgesehn davon, daß Erstens die Codeausführung schonmal schön langsam werden könnte (durch unmassen Abfragen wann wie weitergesprungen werden sollte)
und Zweitens, was wäre mit den Programmieren, welche soein Verhalten nicht wöllten?
(wer sagt denn, daß die "undefinierten" Werte nicht doch verwendet werden?)
PS: Schlimmer wird es, wenn man da mal selber die Werte festlegt
, da kommt noch weniger das raus, was du willst.
Delphi-Quellcode:
type Tmy123 = (eins=1,zwei=4,drei=9,vier=100);
var test : Tmy123;
begin
test := eins; // für Alle die es initialisiert haben wollen (=1)
inc(test); // =2 und nicht 4(zwei)
inc(test); // =3 und nicht 9(drei)
inc(test); // =4 und nicht 100(vier)
inc(test); // =5 und nicht 1(eins)
end;