如果我在窗体中有十个tedit,分别取名为ed1,ed2..ed10.
如果我现在要将1..10分别赋给此十个组件的text,如何写最方便.

解决方案 »

  1.   

    只要TEdit放在同一容器中(Parent相同),
    都可以利用以下形式访问(比如Form1是它们的Parent):
    for iLoop := 0 to Form1.ControlCount - 1 do
      if Form1.Controls[iLoop].ClassType = 'TEdit' then
         (Form1.Controls[iLoop] as TEdit).Text := 'A'
      

  2.   

    控件遍历:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
      Temp: TComponent;
    begin
      for I := ComponentCount - 1 downto 0 do
      begin
        Temp := Components[I];
        if Temp is TEdit then
          TEdit(Temp).Text:=inttostr(I);
      end;
    end;
      

  3.   

    在VB中可以用数组,不知DELPHI是否可以。
      

  4.   

    没有数组。
    用楼上的方法,再加上edit的tag属性控制。
      

  5.   

    to lamfish
    delphi当然可以了!edit:array[0..10] of tedit;
    楼主:可以这样做,
    for I := ComponentCount - 1 downto 0 do
      begin
        Temp := Components[I];
        if Temp is TEdit then
          if (temp as TEdit).name='ed'+inttostr(i) then
            TEdit(Temp).Text:=inttostr(I);
      end;