for i:=1 to 10 do begin
    b[i]:=a[i-1];
end;
提示内存访问出错

解决方案 »

  1.   

    数组的定义不对,  检查你的a数组是不是  a[0..9]
    b数组是不是 b[1..10]如果不是的,就访问不到了。
      

  2.   

    我的意思是字符数组转字符串
    a:array [0..9] of char 
    b:string怎么a->b?
      

  3.   

    SetLength(B, SizeOf(A)); //先分配资源~~
    Move(A[0], B[1], SizeOf(A)); //可以不用循环~~
      

  4.   

    for i := 0 to 9 do
    begin
      b:= b+ a[i];
    end;
    可不可以呀
      

  5.   

    for i:=1 to 10 do begin
        b[i]:=a[i-1];
    end;
    提示内存访问出错
    你要先给b分配内存空间
     setlength(b,10)
      

  6.   

    setlength(b,sizeof(a));
     for i:=1 to 10 do begin
        b[i]:=a[i-1];
     end;
     showmessage(b);
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      a:array[0..9] of char;
      b:string;
    begin
      for i:=0 to 9 do
      a[i]:='1';
      setlength(b,sizeof(a));
      for i:=1 to 10 do begin
        b[i]:=a[i-1];
      end;
      showmessage(b);
    end;
      

  8.   

    SetLength( b, 10);
    StrCopy(pchar(b), a);
      

  9.   

    for i := 0 to 9 do
      b := b + strPas(a[i]);