动态数组,我想把动态数组扩容,但要保留原来的数据该怎么做
有没有一个简单的函数呀,我怎么也找不到  MSDN就有这样的东东
郁闷!!!

解决方案 »

  1.   

    用SetLength()函数控制,具体察看帮助
      

  2.   

    问题能提的详细一点吗?有点看不懂的var
      ArrTest: Array of string;
      ILength: integer;
    begin
      ILenth:=100;
      SetLength(ArrTest,ILength);
    end;
    这样不可以吗?
      

  3.   

    SetLength可以扩充或者减小动态数组并保留原始数据。
      

  4.   

    setLength(array,newLength);
    it is ok!
      

  5.   

    是这样吗 我怎么觉得不可以呀 
    VU_ftrNO : array of string;
    for I := 1 to 100 do
    begin
    SetLength(VU_ftrNO,i);
    VU_ftrNO[vl_count-1] := i;
    end;怎么出来都是空的? 一个值都没有啊
      

  6.   

    是这样吗 我怎么觉得不可以呀 
    VU_ftrNO : array of string;
    for I := 1 to 100 do
    begin
    SetLength(VU_ftrNO,i);
    VU_ftrNO[i-1] := i;
    end;怎么出来都是空的? 一个值都没有啊
      

  7.   

    你的代码能通过吗?表示怀疑;VU_ftrNO[i-1] := i;??
      

  8.   

    一点问题没有,当然你的代码能通过吗?下面是修改后通过编译的代码,你执行一下看一下到底怎么会“怎么出来都是空的? 一个值都没有啊”procedure TForm1.Button1Click(Sender: TObject);
    var
      VU_ftrNO : array of string;
      I: Integer;
    begin
      for I:=1 to 100 do
      begin
        SetLength(VU_ftrNO,I);
        VU_ftrNO[I-1]:=IntToStr(I);
      end;
      ShowMessage(VU_ftrNO[51]);
    end;
      

  9.   

    该结贴了,就是用SetLength扩容
      

  10.   

    多谢各位了 原来还是我的错  我根本就没有给它值
    这里的朋友很热心 谢谢了
    有学GIS的找我交流 !!! 55005768