当然有了。
var fedit:array of Tedit;
    i:integer;
begin
 setlength(fedit,96);
 for i:= 0 to 95 do
 begin
  fedit[i]:=Tedit.create(self);
  fedit[i].parent:=panel1;
  fedit[i].left:=
  fedit[i].top:=
  fedit[i].width:=
  fedit[i].height:=
 end;
end; 
剩下的就看你自己了
  

解决方案 »

  1.   

    还有很多方法,可以实现
    不熟悉delphi,就请不要说delphi不行
      

  2.   

    在取个例子
    var
    ed: ^TEdit (只声明一个)
    i: integer;
    begin
    for i:= 0 to 95 do
    begin
      ed :=Tedit.create(self);
      ed^.Parent := ...
      ....
      ed^ := nil;
    end;end;
      

  3.   

    小弟也考虑过zhuoyuesky(卓越)的方法,但要我设96个edit的位置我觉得太烦!因为他们位置没规律,不能只用一个循环搞掂,千灯兄的办法也没解决此问题啊
    我的方法:
    先在窗体把96个edit放好,定义一procedure:
    procedure AssignEdit(edits:array of TEdit);//把窗体上的EDIT与Fedt数组对应procedure TForm.assignEdit(edits: array of TEdit);
    var
      i:integer;
      j:integer;
      count:integer;
    begin
      count:=-1;
      for  i:=0  to 7  do
      begin
        for j :=0  to 11 do
        begin
          count:=count+1;
          Fedt[i,j]:=edits[count];
        end;
      end;
    end;再在FormCreate中用:
    AssignEdit([edit1,edit2,edit3,edit4,edit5,edit6,edit7,edit8,edit9,edit10,
        edit11,edit12,edit13,edit14,edit15,edit16,edit17,edit18,edit19,edit20,
        edit21,edit22,edit23,edit24,edit25,edit26,edit27,edit28,edit29,edit30,
        edit31,edit32,edit33,edit34,edit35,edit36,edit37,edit38,edit39,edit40,
        edit41,edit42,edit43,edit44,edit45,edit46,edit47,edit48,edit49,edit50,
        edit51,edit52,edit53,edit54,edit55,edit56,edit57,edit58,edit59,edit60,
        edit61,edit62,edit63,edit64,edit65,edit66,edit67,edit68,edit69,edit70,
        edit71,edit72,edit73,edit74,edit75,edit76,edit77,edit78,edit79,edit80,
        edit81,edit82,edit83,edit84,edit85,edit86,edit87,edit88,edit89,edit90,
        edit91,edit92,edit93,edit94,edit95,edit96]);
    小弟先前问题没提清楚,在此道歉
    但,有更好的方法吗?