如题:
用for 语句将动态定义的adoquery select出来的值付给EDIT组?????
with adoquery1 do
begin
 ...........
while not eof do
begin
     将数据显示在edit 组上 // edit组的个数远大于select出来的记录个数----这个句子如何写?
     next;
end;
..........
end;

解决方案 »

  1.   

    直接用组件数组就好了。或者用Form1.components[i]判断一下是不是edit组件,是的话填入。这样就是代码复杂一点
      

  2.   

    先将TEDIT按自己的要求分组,最好一EDIT+X为命名方法.X为数字,
    这样根据你要复值的变换后,把控件的名字付给找到的控件即可.procedure TForm1.Button1Click(Sender: TObject);
    var
       t:Tedit;
       i:integer;
    begin   t:=Tedit(self.FindComponent('edit1'));
       t.Text:='XXXX';
    end;
      

  3.   

    hacking(hacking) :
    不好意思,本人愚笨,还是不理解,i:integer在那用?
    t:=Tedit(self.FindComponent('edit1'));这句话是什么意思?如果edit命名为DT1,DT2,......
    如何写????
      

  4.   

    FORM中的 components[i] 属性记录着所有控件,然后可以利用控件的Name属性分组,把你想合在一组的EDIT组件以同一前缀命名.
    判断一下NAME的前缀相同的做同一处理!
      

  5.   

    for I := 0 to Form1.ComponentCount-1 do
    begin
        if Copy(Form1.Components[I].Name,1,2)='DT' then
        begin
            Tedit(Form1.Components[I]).Text := '' ;
        end ;
    end ;
      

  6.   

    Tedit(Form1.Components[I]).Text 
    good
      

  7.   

    比如EDIT1到EDIT10
    procedure TForm1.Button1Click(Sender: TObject);
    var
       t:Tedit;
       i:integer;
    begin
       for i:= to 10 do
       begin
         t:=Tedit(self.FindComponent('edit'+inttostr(i)));
         t.Text:=inttostr(i);
       end;
    end;明白了吗
    你可以根据你要分组的EDIT通过一次线行变换分组,比如1-5是一组,6-10是一组
    然后你根据地几组用不同的循环来写就OK了
     ultima_thule(ultima_thule) 说的也可以,不过代码多一点呵呵不能体现出分组来