Hallo jdiephaus
für jeden deiner SpeedButtons vergibst du im Objektinspektor eine Tag-Nummer.
Du musst nun für einen deiner SpeedButtons im Objektinspektor OnClick auswählen und dann Code reinschreiben
Delphi-Quellcode:
procedure machetwas( z : integer );
begin
ShowMessage( z.ToString );
end;
procedure TForm52.SpeedButton1Click(Sender: TObject);
var ziffer : integer;
begin
if Sender is TSpeedButton then
begin
ziffer := ( sender as TSpeedButton ).tag;
machetwas( ziffer );
end;
end;
Bis jetzt reagiert das Programm nur auf Klicks auf SpeedButton1.
Wenn dein Programm auch auf SpeedButton2 reagieren soll, dann wähle im Objektinspektor für das OnClick Ereignis von SpeedButton2 "SpeedButton1Click" aus. Jetzt reagiert auch SpeedButton2 (via SpeedButton1Click) auf Klicks. Mach's für die weiteren SpeedButtons ähnlich. Fertig.
Noch ein Tipp: Das Setzen und Abfragen der Eigenschaft Tag ist praktisch, wenn du viele Buttons mit ähnlicher Funktion hast.
Wenn du einen Taschenrechner mit vielen Tasten [+,-,*,/,Speichern, Löschen, etc.] baust, dann wird die OnClick Ereignisbehandlungsroutine eventuell übersichtlicher, wenn du für diese Tastenklicks statt den Wert des jeweiligen Tags die Eigenschaft "Name" des Senders auswertest.