汎用的な関数をつくるには?

解決


山中  2008-07-21 13:24:59  No: 31333  IP: 192.*.*.*

初めまして、山中と申します。
プログラム歴が浅いので、こういう状況をなんと言って良いのかわからないのですが、

フォームに配置したButton1をクリックしたときのイベントは、
procedure TForm1.Button1Click(Sender: TObject);
と記述されますが、これを汎用的に使いたい、と言いますか。
Button2を押してもButton3を押しても、すべてまとめて「[Button]を押したときの動作」として記述したいのです。
こういう動作を専門用語で何かあると思うのですが、分らないためネットでの検索も上手くいきません。

編集 削除
igy  2008-07-21 13:32:32  No: 31334  IP: 192.*.*.*

コンポーネントのプロパティやTextの変更について
https://www.petitmonte.com/bbs/answers?question_id=4231

>igy 2006/09/19(火) 13:10:53 

で挙げたように、
コード上で指定するか、オブジェクトインスペクタで指定するのは、どうでしょう?

編集 削除
山中  2008-07-21 14:33:49  No: 31335  IP: 192.*.*.*

igyさん、素早い回答ありがとうございます。望んでいた結果です!
コード上で指定してみました。
このような、同じ動作を割り当てるというか、汎用的な部分を作るのってなんて言うんでしょうね。

ありがとうございました!

編集 削除
KHE00221  2008-07-21 14:40:49  No: 31336  IP: 192.*.*.*

趣旨とはすこし違うけど
こんなやりかたもあるよ?

  TButton = class(StdCtrls.TButton)
  public
    procedure Click;override;
  end;

procedure TButton.Click;
begin
    inherited Click;

    //Button毎の処理
    case StrToInt(Copy(TButton(Self).Name,7,Length(TButton(Self).Name)-6)) of
      1:;
      2:;
      3:;
    end;

end;

編集 削除