procedure MapImageLowStart;
var
   i,j:integer;
begin
  i:=0;
  j:=0;
  while j<10 do
  begin
    While i<10 do
    begin
      MapImageLow[i,j]:=TImage.Create(Form1);
      MapImageLow[i,j].Parent:=Form1;
      MapImageLow[i,j].Width:=40;
      MapImageLow[i,j].Height:=30;
      MapImageLow[i,j].Left:=i*40;
      MapImageLow[i,j].Top:=j*30;
      MapImageLow[i,j].Picture.Assign(Form1.ImageAll.Picture);
      MapImageLow[i,j].Show;
      Inc(i);
    end;
    Inc(j);
  end;
end;
ImageAll是窗体上已有的TImage组件   我想动态创建100个Timage控件,并在窗体上以10×10的方式排列  可这段代码运行的结果确之出现一行   为什么  哪里不对么

解决方案 »

  1.   

    为什么不用for,你的j:=1的时候i=10,不会进入循环的
      for j:=0 to 10 do
      begin
        While i:=0 to 10 do
        begin
          MapImageLow[i,j]:=TImage.Create(Form1);
          MapImageLow[i,j].Parent:=Form1;
          MapImageLow[i,j].Width:=40;
          MapImageLow[i,j].Height:=30;
          MapImageLow[i,j].Left:=i*40;
          MapImageLow[i,j].Top:=j*30;
          MapImageLow[i,j].Picture.Assign(Form1.ImageAll.Picture);
          MapImageLow[i,j].Show;
        end;
      end;
      

  2.   

    for j:=0 to 10 do
        for i:=0 to 10 do
        begin
        //....
        end;
      

  3.   

    nnd又错了,不好意思
    for j:=0 to 9 do
        for i:=0 to 9 do
        begin
        //....
        end;
      

  4.   

    啊   不好意思   忘加退出了   那个For循环老记不住  谢谢  我实在是太马虎了