Angenommen ich habe folgendes:
type TMeinBeispiel = (mbEins=0, mbZwei=1, mbDrei=5);
Jetzt erhalte ich einen Integer i aus einer externen Quelle (Ini,
DB, etc.) und möchte diesen zu TMeinBeispiel casten.
Per
MeinBeispiel := TMeinBeispiel(i);
funktioniert dies immer. Auch dann, wenn i gar nicht in TMeinBeispiel vorhanden ist. Dann hat MeinBeispiel schlicht den Wert i angenommen (der Debugger sagt "out of bound (i)").
Nun würde ich gerne bei Werten, die nicht in der Aufzählung vorhanden sind, einen Standardwert vorgeben.
Wie kann ich nun aber prüfen, ob ein Wert enthalten ist (0, 1, 5: True; 3, 6: False)? Sowas wie
if i in TMeinBeispiel then
funktioniert ja leider nicht.
Muss ich den unschönen Umweg über GetEnumName/GetEnumValue gehen oder gibt es eine elegantere Lösung?