Zitat von
TomDooley:
Nun möchte ich prüfen ob ein Integer einen Wert der Menge angenommen hat:
if (MyInteger in MyMenge) then...
Du möchtest einen Integer auf ein Element der Menge casten (Aufzählungsemelent).
Aber Du hast gar keinen Typ dafür definiert - also kannst Du auch keinen Cast anwenden.
Lösung: Definiere den Aufzählungstyp:
Delphi-Quellcode:
type
TFoo = (f0, f1, f2);
TFooSet = set of TFoo;
function Test(FooSet: TFooSet; FooBar: Integer): Boolean;
begin
Result := TFoo(FooBar) in FooSet;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
FooSet: TFooSet;
FooBar: Integer;
begin
FooSet := [f0, f2];
FooBar := Integer(f2);
ShowMessage(BoolToStr(Test(FooSet, FooBar), True));
end;