我想用循环来使没次EDIT的下标加一
不知道能不能用数组来表示啊

解决方案 »

  1.   

    var
      EditArr:array[0..9] of TEdit;
      k,aTop:integer;
    begin
      aTop:=10;
      for k:=0 to 9 do
        begin
        EditArr[k]:=TEdit.Create(Self);
        EditArr[k].Parent:=form1;
        EditArr[k].Name:='editarr'+inttostr(k);
        EditArr[k].Left:=20;
        EditArr[k].Top:=aTop;
        aTop:=aTop+30;
        end;
    end;
      

  2.   

    在Create前要先SetLength(EditArray,N);
      

  3.   

    ATOP是什么用的
    EditArr[k].Left:=20 还有这句什么用的
    在Create前要先SetLength(EditArray,N);,这句呢
      

  4.   

    var
      EditArr:array of TEdit;
      k,N:integer;
    begin
      Edt_Num:=100;
      setlength(EditArr,N);
      for k:=0 to N-1 do
      begin
        EditArr[k]:=TEdit.Create(Self);
        EditArr[k].Parent:=form1;
        EditArr[k].Left:=20;
        EditArr[k].Top:=k*30;
      end;
    end;
      

  5.   

    最好将EditArr,N;申明在公共变量区,
    注意及时释放内存:
    For k:=0 To N-1 Do
    Begin
      EditArr[k].Free;
      EditArr[k]:=Nil;
    End;