Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#1

Kleinster Wert in einem Set

  Alt 8. Mai 2006, 23:10
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 ?
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat