Was meinst Du?
Möchtest Du aus einer Prozedur heraus einen ButtonClick auslösen? Dann rufe in der Prozedur die Routine auf, die Du dem ButtonClick-Ereignis zugeordnet hast.
Oder willst Du innerhalb einer Prozedure einem Button eine Routine zuweisen, die er beim Click ausführen soll? Auch das geht.
Delphi-Quellcode:
procedure TForm1.button1Click(Sender: TObject);
begin
ShowMessage('Button1Click');
end;
procedure TForm1.irgendwas;
begin
...
button1Click(Sender);
// oder
button1Click(Nil);
// oder
button1Click(Self);
...
end;
procedure TForm1.IrgendwasZumClickenClick(Sender: TObject);
begin
ShowMessage('IrgendwasZumClickenClick');
end;
procedure TForm1.irgendwas;
begin
...
Button1.OnClick := IrgendwasZumClickenClick;
...
end;
procedure TForm1.IrgendwasZumClickenFuerVieleButtonsClick(Sender: TObject);
begin
if Sender is TButton then begin
if Sender = Button1 then ShowMessage(Format('Button.Name = %s',[TButton(Sender).Name]))
else if Sender = Button2 then FormatC
else if Sender = Button3 then ...;
end;
end;
procedure TForm1.irgendwas;
begin
...
Button1.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
Button2.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
Button3.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
Button4.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
Button5.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
Button6.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
Button7.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
...
end;