例如:procedure TForm1.Button1Click(Sender: TObject);
type a1=array[1..2] of integer;
type b1=array[1..2] of integer;var
  a:a1;
  b:b1;begin
  a[1]:=1;
  a[2]:=2;
  b:a;  //要把a数组中的所有元素及值都赋给b数组,但这句不知怎样写
end;

解决方案 »

  1.   

    定义成一种类型不行吗?
    var
      a,b:al;
      

  2.   

    显然要定义成一个类型如果一定要两个不同类型,那么使用Move进行内存复制把
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    type a1=array[1..20] of integer;
    type b1=array[1..20] of integer;var
      a:a1;
      b:b1;
      i:integer;
    begin
      //这里的给数据a1赋值的代码。
      for i:=1 to High(a1) do
        b[i]:=a[i];
    end;
      

  4.   

    var
      a1, b1: array of integer; // 动态数组
    begin
      setlength(a1, 2);
    //  setlength(b1, 2);
      a1[0] := 99;
      a1[1] := 88;
    //  b1[0] := 12;
    // b1[1] := 34;
      b1 := a1; // 这样就可以赋值啦
      text := inttostr(b1[1]);
    end;
      

  5.   

    不好意思,上面是引用,下面才是复制var
      a1, b1: array of integer;
      p: pinteger;
    begin
      setlength(a1, 2);
      setlength(b1, 2);
      a1[0] := 99;
      a1[1] := 88;
      b1[0] := 12;
      b1[1] := 34;
      b1 := Copy(a1, 0, length(a1));
      a1[1] := 77;
      text := inttostr(b1[1]);
    end;