例如: A:ARRAY[0..3] OF STRING;B:ARRAY[0..3],将A的值赋给B,怎么才能办到?谢谢。

解决方案 »

  1.   

    for I:=1 to 3 do
      A[I]:=B[I];
      

  2.   

    b:=a;//传地址
    /////////////////
    for I:=1 to 3 do//复制数据
      A[I]:=B[I];
      

  3.   

    b:=a;
    cooy(b,a);
    copy中的参数顺序不清楚了
    看看帮助
      

  4.   

    for I:=1 to 3 do
      A[I]:=B[I];
    就可以了
      

  5.   

    for i:=1 to 3 do
      A[i]:=B[i];
      

  6.   

    直接内存拷贝是不行的,string是引用计数的,拷贝不会增加计数,a[i]改变b[i]也改变了,还是用循环吧
      

  7.   

    procedure TForm1.Button12Click(Sender: TObject);
    var
      A, B: array[0..3] of string;    <----DELPHI认为是相同类型允许相互赋值。
      I: Integer;
    begin
      for I := 0 to 3 do
        A[I] := IntToStr(I);  B := A;  for I := 0 to 3 do
        ShowMessage(B[I]);
    end;说明:
    var
      A: array[0..3] of string
      B: array[0..3] of string
    DELPHI认为A和B是不同类型,所以不能相互赋值。两个数组相互不影响,由于是静态数组所以各自有自己的内存空间。A,B本身没有引用计数,A的元素是按照string规范来定义的。但不是 citytramper(阿琪) 说的“a[i]改变b[i]也改变了”下面的代码证实了这点(不会相互影响)。procedure TForm1.Button12Click(Sender: TObject);
    var
      A, B: array[0..3] of string;
      I: Integer;
    begin
      for I := 0 to 3 do
        A[I] := IntToStr(I);  B := A;  for I := 0 to 3 do
        ShowMessage(B[I]);  for I := 0 to 3 do
        B[I] := IntToStr(I * 10);  for I := 0 to 3 do
        ShowMessage(A[I]);  for I := 0 to 3 do
        ShowMessage(B[I]);end;
      

  8.   

    for I:=1 to n do
      A[I]:=B[I];
    这样就可以了
      

  9.   

    jacky_shen(jacky)我说的直接内存拷贝
    那你试试这个
    var
      A, B: array[0..3] of string;
      I: Integer;
    begin
      for I := 0 to 3 do
        A[I] := IntToStr(I);  move(a,b,sizeof(a));
    //  B := A;  for I := 0 to 3 do
        ShowMessage(B[I]);  for I := 0 to 3 do
        B[I] := IntToStr(I * 10);  for I := 0 to 3 do
        ShowMessage(A[I]);  for I := 0 to 3 do
        ShowMessage(B[I]);end;
      

  10.   

    for i:=1 to 3 do
      A[i]:=B[i];
    --------------------------
    就够了,^_^,
      

  11.   

    用move(a,b,sizeof(a));效率绝对高
      

  12.   


    我的错了
    应该这样
    b:=a;
    b:=copy(a);