Forum: Object-Pascal / Delphi-Language
Delphi
by Sir Rufo,
12. Sep 2015
Das Pizza-Beispiel ist schlecht, denn niemand würde einen Pizza-Service schreiben, wo die Toppings als Enums deklariert sind.
Kommen wir mal zu diesem Beispiel, eine Ampelschaltung mit der StateMachine (auch die kann erweitert werden):
program Project3;
{$APPTYPE CONSOLE}
{$R *.res}
{$DEFINE USE_ENUMS}
Forum: Object-Pascal / Delphi-Language
Delphi
by Sir Rufo,
11. Sep 2015
Enums und Konstanten haben beide ihre Tücken.
Ein case auf einem Enum, der alle States berücksichtigen muss sollte immer so aufgebaut sein
TMyEnum = (a,b,c);
case MyEnum of
TMyEnum.a : ;
TMyEnum.b : ;
TMyEnum.c : ;
Forum: Object-Pascal / Delphi-Language
Delphi
by Sir Rufo,
9. Sep 2015
Für Enums muss man sich die Informationen über System.TypInfo holen.
Das sieht dann z.B. so ( s. TEnum) aus.