怎样遍历所有相同的按钮生成所有相同的事件过程,详细看内容解决办法

怎样遍历所有相同的按钮生成所有相同的事件过程,详细看内容
我有个程序有特殊要求,类似软件盘.
我再panel上放了很多个button按钮,在点击每个button按钮时都是将button的caption值付给控件memo1,因为每个button都是基本相同的过程,所以想能不能在窗体创建时,直接将各控件的事件用简单的方法设置出来.
请帮帮忙.
只剩40分,全部奉上.新手

------解决方案--------------------
type
TForm1 = class(TForm)
Memo1: TMemo;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure ClickProc(Sender : TObject);//类方法
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ClickProc(Sender : TObject);
begin
Memo1.Lines.Add(TButton(Sender).Caption);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
I : integer;
begin
for I := Panel1.ControlCount-1 downto 0 do
if Panel1.Controls[I] is TButton then
TButton(Panel1.Controls[I]).OnClick := ClickProc;
end;
------解决方案--------------------
顶楼上,纯属骗分
procedure TForm1.ClickProc(Sender: TObject);
begin
Memo1.SelText := TButton(Sender).Caption;
end;