现在想删除一个动态数组中的元素,请问怎样做呀? 我试着用copy函数 可是通过copy得到的两个数组怎么合并成一个呀?  或者由其他的方法?

解决方案 »

  1.   

    需要移动数据的
    然后Setlength效率不高的,经常需要这样建议使用动态链表
      

  2.   

    可以像下面的方法做
    CopyMemory(Array1, Copy(Array, 0, 10), 10);
    CopyMemory(@Array1[10], Copy(Array, 16, 20), 10);
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      s,y : array of char ;
      i : integer;
    begin
      setlength(s,10) ;
      for i:= low(s) to High(s) do
      begin
        s[i] :='Q' ;
      end;
      setlength(y,9) ;
      move(s[0],y[0],4) ;  //删除s[4]
      move(s[5],y[4],5) ;
      showmessage(string(y)) ;
    end;