Einzelnen Beitrag anzeigen

generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#7

Re: Kleinster Wert in einem Set

  Alt 9. Mai 2006, 13:05
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;
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat