Mal zwei Fragen zu Sets.
Ich habe deklariert
Delphi-Quellcode:
type
TDirection=(drLeft,drRight,drUp,drDown);
TDirections=Set of TDirection;
var
directions:TDirections;
Ich möchte wissen
1) Wieviel Werte stehen gerade in directions.
2) Welches ist der kleinste Wert, der gerade in directions enthalten ist.
(1) könnte man durch zählen der Bits in direction herausfinden.
(2) löse ich zur Zeit so
Delphi-Quellcode:
var dr:TDirection;
smallestdr:TDirection;
begin
smallestdr:=[];
for dr in directions do begin
smallestdr:=dr;
break;
end
;
Weiß jemand eine elegantere Lösung ?