Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Array [Auszählungstyp] of irgendwas?

  Alt 17. Dez 2013, 10:50
Die einzige Möglichkeit, die mir einfällt, wäre:
Delphi-Quellcode:
Type
  TEnum = (Anfang = 1, Mitte = 3, Ende = 5);

Function NextEnum (e: TEnum) : TEnum;
Begin
  case e of
    Anfang : Return Mitte;
    Mitte : Return Ende;
    else Raise EInvalidArgument.Create; // K.A. wie das in Delphi heißt.
  End
End;
...

e := Anfang;
While e <> Ende Do begin
  e :=NextEnum(e);
end;
Anders würde der Compiler eine Sukkzessor-Funktion auf TEnum auch nicht umsetzen.

Wieso willst Du den Enum-Elementen eigentlich nicht fortlaufende Werte geben? Wenn Du gleichzeitig iterieren musst, könntest Du doch eine Abbildungsfunktion schreiben, also z.B. so:
Delphi-Quellcode:
Type
  TEnum := (Anfang, Mitte, Ende);

Const
  EnumWerte : Array [TEnum] Of Integer = (1,3,5);
  EnumNamen : Array [TEnum] Of String = ('Anfang','Mitte','Ende');

Geändert von Furtbichler (17. Dez 2013 um 10:53 Uhr)
  Mit Zitat antworten Zitat