Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#16

AW: Prüfen ob Integer im Enumeration-Type enthalten ist

  Alt 26. Jan 2015, 07:28
Da sieht man mal wieder, weshalb Enums 'böse' sind.

Ich würde eine Funktion schreiben, die über ein 'CASE' die Validität des Integers prüft und mich dann um die wichtigen Dinge kümmern.
Delphi-Quellcode:
Function IsValidEnum (aValue : Integer) : Boolean;
Begin
  case TMyEnum(aValue) Of
     myFirstEnum,
     mySecondEnum,
     ...
     myLastEnum : result := True;
     else result := False;
  end
end;
Das ist häßlich, aber leicht verständlich, und schnell umgesetzt. Klar, kommt ein Enum dazu, muss ich das die case-label anpassen erweitern.

Vereinfachen (z.B. über RTTI) würde ich das nie, denn das verleitet dann zum Verwenden von Enums auch bei neuen Projekten.
  Mit Zitat antworten Zitat