按下按钮1 对Edit1赋值1  Edit2以后怎么办 怎么调用函数

解决方案 »

  1.   

    写个通用函数,根据输入参数,分别给不同的edit赋值
    fun(type: intger)
    begin
       if type = 1 then
          edit1.text := '1';
      if tyep = 2 then2
         edit2.text  := '2';
    end
      

  2.   

    利用控件的tag属性和动态绑定事件,可以写的很通用。
    关键点:TEdit.tag 和 TButton.Tag设置成相同值,表示同一组。或者通过控件name取值,按某种规则也行。
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        Edit2: TEdit;
        Button2: TButton;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure OnSetValue(sender: TObject);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      Button1.OnClick := OnSetValue;
      Button2.OnClick := OnSetValue;
      //如果有更多控件,继续动态绑定事件
    end;procedure TForm1.OnSetValue(sender: TObject);
    var
      i: integer;
    begin
      for i:=0 to ControlCount-1 do
      begin
        if (Controls[i] is TEdit) and TEdit(Controls[i]).Tag=TButton(sender).Tag then
        begin
          TEdit(Controls[i]).Text := TButton(sender).Caption+' clicked'; //edit赋值
        end;
      end;
    end;end.