由于有很多的edit控件,不想这样
a[1]:=edit1.text  a[2]:=edit2.text ……,太麻烦
能不能用个循环语句就能赋值给数组a[i]?该怎么写?

解决方案 »

  1.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      I, n: Integer;
    begin
      n := 3;
      for I := 1 to n do
      begin
        a[I]:=TEdit(self.FindComponent('edit'+IntToStr(I))).Text;
      end;
    end;
      

  2.   

    利用Tagprocedure TForm1.BitBtn1Click(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to Form1.ControlCount -1 do
        if Form1.Controls[i].ClassNmae = TEdit then
           with TEdit(Form1.Controls[i]) do
          a[Tag]:=Text;
    end;
      

  3.   

    利用Tag.方法同楼上.cxz7531(cat) 的办法不可靠.
      

  4.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      I,Seq: Integer;
    begin
      Seq := 0;
      for I := 0 to Self.ComponentCount - 1 do
        if Self.Compoment[i] is TEdit then
        begin
          a[Seq] := TEdit(Self.Component[I]).Text;
          Inc( Seq ); 
        end;
    end;
      

  5.   

    //------------------------------
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to Form1.ControlCount -1 do
        if Form1.Controls[i].ClassNmae = TEdit then
           with TEdit(Form1.Controls[i]) do
          a[Tag]:=Text;
    end;//-----------------------------上面这段代码谁能解释一下...我不大看得懂 amiao(城市工人) 的代码我看懂了 ^___^
      

  6.   

    a[i]:=TEdit(FindComponent('edit'+IntToStr(i))).Text;
      

  7.   

    wsforqyc(大海) 的方法
    if Form1.Controls[i].ClassNmae = TEdit then这句应该为if Form1.Controls[i].ClassNmae = TEdit].ClassNmae  then
    而amiao(城市工人)方法用tag,要设置每个edit的tag属性1……n