Einzelnen Beitrag anzeigen

lxo

Registriert seit: 30. Nov 2017
288 Beiträge
 
Delphi 12 Athens
 
#7

AW: Case-Anweisung - Zwingen alle Elemente des Typen auszuprogrammieren

  Alt 19. Nov 2024, 13:31
vielleicht so?
Delphi-Quellcode:
  case Value of
    t1: Result := true;
    t2: Result := true;
    {$IF High(TEnum) <> t2} {$MESSAGE Error 'peng'} {$IFEND}
  end;
Geht schon mehr in die Richtung wie ich das haben will, aber auch noch nicht so die optimale Lösung die ich mir vorstelle.
Funktioniert z.B. nicht wenn jemand mittendrin ein Element einträgt (auch wenn man sowas lieber nicht machen sollte).
Und wenn man die Bedingung unten anpasst ohne den neuen Case-Fall hinzuzufügen würde man das ja auch schon umgehen.

Kann man denn evtl. mit den Compiler-Direktiven eine variable Hochzählen? Hab dazu nichts gefunden.
Damit könnte ich ja für jeden Case-Fall die Variable hochzählen und dann gegen "Ord(High(TEnum))" checken.
  Mit Zitat antworten Zitat