Case

W-Stefan

Mitglied
Hi leute,

ich möchte eine Case-Anweisung so machen.

Code:
procedure TRechner.bearbeiten(Sender: TObject);
begin
  case Sender of
     Button1: 'Anweisung';
     Button2: 'Anweisung';
     Button3: 'Anweisung';
  end;
end;

Dann bringt Delphi mir die Fehlermeldung: "Ordinaltyp erforderlich". :suspekt:

Nun Meine Frage: Kann ich einen Button überhaupt als Sender aussetzen oder geht das nicht. Wenn es geht, kann mir dann bitte jemand erklären wie? :confused:
 
wenn der button nich geklickt wurde, kann er auch kein sender sein. und wenn du auf ihn klickst ist eine unterscheidung mit case sinnlos, da du ja den button schon angeklickt hast und somit einfach die anweisung durchlaufen lassen kannst

mfg mac
 
Verwende einfach einen Trick:

Gib jedem Button einen anderen Wert als Tag

Bspw.
Button1.Tag:=1:
Button2.Tag:=2:
etc

dann kannst Du mit

case ( Sender as TButton).Tag drauf zugreifen, da Tag ein integer und somit ein Ordinaltyp ist.

vop
 

Neue Beiträge

Zurück