举个例子, 我有是个 edit 控件 ,分别取名为 edit1、edit2、edit3、edit4、....edit10我现在想要做的是,在程序中能否用变量 i:integer  来控制这些控件呢? 比如我想编这样一段小程序:var i:integer;
for i:=1 to 10 do
begin
edit(i).text:=edit(i+1).text;   //当然这样肯定是不对的, 我想知道的是能否实现这种功能呢???
end;

解决方案 »

  1.   

    你的NAME怎么能够随便改动呢?
      

  2.   

    看看我的,你可以修改一下
      for i :=1  to 8 do
      begin
        if TCheckBox(FindComponent('chk_s'+IntToStr(i))).Checked then
        begin
          TComboBox(FindComponent('cbb_t'+IntToStr(i))).Enabled:=True;
          TComboBox(FindComponent('edt_a'+IntToStr(i))).Enabled:=True;
        end;
      end;就可以了.
      

  3.   

    var
      i:integer;
    begin
      for i :=1  to 3 do
      begin
            TEdit(FindComponent('Edit'+IntToStr(i))).Text:='haha';
      end;
      

  4.   

    FindComponent可以根据Name的字符串得到组件的实例
      

  5.   

    var
      i:integer;
    begin
      for i :=1  to 9 do
      begin
        TEdit(FindComponent('Edit'+IntToStr(i))).Text:=TEdit(FindComponent('Edit'+IntToStr(i+1))).Text;
      end;
      

  6.   

    谢谢各位,
    不过还有个问题
    要是 像  Tadoquery  这种组件呢,  使用FindComponent 好像不行啊!!
    有没有其他的办法呢
      

  7.   

    我刚才输入错误了
    adoquery也可以多谢大家!!!