helfen euch die funktionen low() high() ord() nicht?
Delphi-Quellcode:
type
TDirection = (drLeft, drRight, drUp, drDown);
TDirections = Set of TDirection;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
anzahl, lowwert: integer;
a: TDirections;
// kann leider nicht leer sein, also ist immer noch eine prüfung auf
// lowwert>-1 notwendig!
lowordwert: TDirection;
begin
a:=[drRight,drDown];
anzahl:=0;
lowwert:=-1;
for i:=ord(low(TDirection)) to ord(high(TDirection)) do
begin
if TDirection(i) in a then
begin
//wert gefunden
inc(anzahl);
// niedrigsten wert merken
if (lowwert=-1) then
begin
lowwert:=i;
lowordwert:=TDirection(i);
end;
end;
end;
caption:=format('%d %d', [anzahl, lowwert]);
end;