Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Wenn eine if-bedingung zutrifft dann...

  Alt 22. Dez 2003, 16:09
Das Problem mit strings und case wurde schon häufiger diskutiert, zb hier.

Wenn Du komplexere Abfragen gestalten möchtest und sie kein Performaceproblem darstellen oder "spätere" Abfragen nur dann Ausgeführt werden sollen, wenn vorherige fehlschlagen, sollte eine Lösung in dieser Art geeignet sein:
Delphi-Quellcode:
function BooleanSwitch(const ABooleanArray: array of Boolean): Integer;
begin
  Result:= High(ABooleanArray);
  while (Result>=Low(ABooleanArray)) and not ABooleanArray[Result] do
    Dec(Result);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  case BooleanSwitch([
    Sender=Button1,
    Sender=Form1,
    Sender=nil])
  of
    0: DoSthButton1;
    1: DoSthForm1;
    2: DoSthNil
  else
    DoSthElse;
  end;
end;
gruß, choose
  Mit Zitat antworten Zitat