我有相同的几个Edit 控件,命名为 Edit1,Edit2,Edit3,……
   具体使用的Edit由变量 Number而定,如果我要把一些不同字符串赋值给
   Number个Edit控件, 用for应该怎么编写, 
   for i:=1 to number do
   begin
   ().TEXT:=string;
   end;
   因为左边括号里是一个Tobject,而右边是一个String,是不是要定义一个函数,
   请问应该怎么解决,谢谢!!

解决方案 »

  1.   

    var
      edtTemp: ^TEdit;
      ...
      

  2.   

    to Nizvoo(会点Pascal)   可以具体一点吗,对于上面的例子
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        Number:Integer;
    begin
        for number:=0 to Form1.ComponentCount-1 do
        begin
            if form1.Components[number] is Tedit then
               TEdit(form1.Components[number]).text:='飞飞猫'+inttostr(number);
            next;
        end;
    end;你可以对这个程序进一步做改动。
      

  4.   

    for i := 1 to 10 do
    TEdit(Findcomponent('Edit'+inttostr(i))).text:= inttostr(i)
      

  5.   

    谢谢各位,不过我用了还是有问题,我找不出问题所在,还得请大家帮忙我在代码中输入了
    TEdit(FindComponent('Edit'+inttostr(i))).text:='HEHE';结果Edit(i) 中都是空白,没有数据然后我用TEdit.Create(Self).Name:='Edit'+inttostr(i);
    TEdit(FindComponent('Edit'+inttostr(i))).text:='HEHE';
    结果提示我Edit(i)已经存在,但其中还是空的,这到底是什么原因,
    既然存在,为何不能够显示呢?/?
      

  6.   

    //这个已经通过了,你再试试看
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        Edit2: TEdit;
        Edit3: TEdit;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    var
       i:Integer;
    begin
       for i:=0 to 3 do
       begin
          TEdit(FindComponent('Edit'+inttostr(i))).text:='HEHE';
       end;
    end;end.
      

  7.   

    //这是第二种方法,请注意,这些Edit是自动生成的,所以你千万不要放同
    //名Tedit在窗体上
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);var
      i: Integer;
    const
      NamePrefix = 'MyEdit';
    begin
      for i := 1 to 20 do begin
        TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
        with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
        begin
          Left := 10;
          Top := i * 20;
          Parent := self;
        end;
      end;
    end;end.