例如:
edit1的exit事件为:
s:=edit1.textedit2的exit 事件为:
s:=edit2.text请问能不能多个控件进行代码公用,写成:
s:=????.text
这样edit1和edit2各自调用时前面就变成了自己的控件名.

解决方案 »

  1.   

    procedure TForm1.edit1Change(Sender);
    begin
      if Sender is TCustomEdit then
        s:=TCustomEdit(Sender).Text;
    end;
      

  2.   

    楼一的办法不能共享代码,应该从TEdit中派生出一个子类,在它的OnChang事件中写,比如
    s:= Text;
      

  3.   

    补充: zhoutian618(秦失其鹿,天下共逐,唯胜者得鹿而割)的答案代码部分没有什么好说的了,这样就可以了。这样做的前提是所有你想指定的Edit的OnChange事件必须指向edit1Change事件。
    你可以这样做,按住Shift键,选择多个Edit,然后在Object Inspector中双击OnChange事件,然后添上代码。就可以实现你要的功能。
      

  4.   

    代码共享最好使用dll文件
      

  5.   

    procedure TForm1. Edit1onExit(sender:TObject);
    begin
      s:=Sender.text;
     endprocedure TForm1.FormCreate(Sender:Tobject);
    begin
      Edit2.onExit:=Edit1onExit;
    end
      

  6.   

    问题解决了,procedure TForm1.edit1Change(Sender);
    begin
      if Sender is TCustomEdit then
        s:=TCustomEdit(Sender).Text;
    end;就是这个样子,很简单的!
      

  7.   

    procedure aaa(Sender: TObject);
    begin
    if Sender is TCustomEdit then
        s:=TCustomEdit(Sender).Text
    end;edit1.onexit=aaa;
    edit2.onexit:=aaa;
    .......
      

  8.   

    一楼的办法不错,正是我希望得到的!
    feng93017(Edge)的也不错!
    1FCSOFT(程序员)的办法也可以么?好像不行呀,我再试一试!
    fj218(fj218)、efsnake(八蛇)、xinshiji(无名)把你们的办法说得再详细一点吧,或许是很不错的办法!