我需要动态创建EDIT,然后取得每个EDIT 的内容,便于计算,请给予部分程序参考
谢谢!!!!!!!!!

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      edt: TEdit;
    begin
      edt := TEdit.Create(self);
      edt.Parent := self;
      edt.Top := 10;
      edt.Left := 100;
    end;
      

  2.   

    var
      Edt1:TEdit;
    begin
      Try
        Edt1 := TEdit1.Create(self);
        ......
      Finally
        Edt1.Free;
      End;
      

  3.   

    var s:Tedit;
    begin
      s:=Tedit.create(nil);
      s.parent:=self;
      s.name:='edit1';
      s.left:=
      s.top:=
    end;
      

  4.   

    var i:integer;
    begin
     for I:=0 to 10 do
     begin
       with TEdit.Create(self) do
       begin
        top := i * 30 + 10;
        left := 100;
        parent := self;
        visible := true;
       end;
     end;
      

  5.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure ff(sender:Tobject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    procedure Tform1.ff(sender:Tobject);
    begin
        showmessage((sender as Tedit).Text);
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var T:TEdit;
    begin
       T:=Tedit.Create(nil);
       T.Parent:=self;
       T.Name:='Edit1';
       T.OnChange:=form1.ff;
    end;end.
      

  6.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        Edits:Array[0..9] of TEdit;
        procedure EditKeyPress(Sender: TObject; var Key: Char);
      end;var
      Form1: TForm1;
    implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    //添加10个编辑框
    var
         i:Integer;
    begin
         for i:=0 to 9 do
         begin
              Edits[i]:=TEdit.Create(Self);
              with Edits[i] do
              begin
                   OnKeyPress:=EditKeyPress;
                   Parent:=Self;
                   Text:='0';
                   Left:=10;
                   Top:=i*Height+3;
              end;
         end;
    end;procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
    begin
         if not (Key in ['0'..'9','.',#8]) then Key:=#0;
    end;procedure TForm1.Button2Click(Sender: TObject);
    //求10个编辑框的和
    var
         i:Integer;
         sum:Real;
    begin
         sum:=0.0;
         for i:=0 to 9 do
         begin
              sum:=sum+StrToFloat(Edits[i].Text);
         end;
         ShowMessage(FloatToStr(sum));
    end;end.
      

  7.   

    不建议使用动态创建的方法来创建 Edit ,因为这是一个可视组件,所以在显示方面会将编程变得复杂和不太容易控制;动态创建可以with TEdit.Create(Self) do
    begin
      left := 100;
      top := 50;
      Name := 'edt' + inttostr(i);   //最好能人工命名
    end;访问可以这样if FindComponent('edt' + inttoStr(i)) <> nil then
      tStr := TEdit(FindComponent('edt' + inttoStr(i))).Text;
    其中 i 是编辑框的 编号