想把一个pointer类型转化成array of byte
如:
var
buffer,buf:array [0..100] of byte;
p:pointer;
begin
 buffer[0]:=1;buffer[2]:=2;buffer[3]:=3;buffer[4]:=4;
 p:=@buffer;
//怎么通道p重新把buffer的值赋给buf
end;
请各位大虾帮助~~~~~谢谢~~~!!

解决方案 »

  1.   

    想把一个pointer类型转化成array of byte
    如:
    var
    buffer,buf:array [0..100] of byte;
    p:pointer;
    begin
     buffer[0]:=1;buffer[2]:=2;buffer[3]:=3;buffer[4]:=4;
     p:=@buffer;
    //怎么通过p重新把buffer的值赋给buf
    end;
    请各位大虾帮助~~~~~谢谢~~~!!
      

  2.   

    var
      buffer,buf: array [0..4] of byte;
      p: pointer;
      i: integer;
    begin
      buffer[0]:=0;
      buffer[1]:=1;
      buffer[2]:=2;
      buffer[3]:=3;
      buffer[4]:=4;
      p:=@buffer;
      for i:=0 to 4 do
      begin
        buf[i] := Byte(P^);
        Integer(P) := Integer(P) + 1;
      end;
    end;
      

  3.   

    delphi的指针操作很差劲如果是在C++里面
    buffer,buf:array [0..100] of byte;
    p:pointer;for(int I=0; I<100; I++)
    {
      buf[I] = (BYTE)p[I];
    }
      

  4.   

    var
    buffer,buf:array [0..100] of byte;
    p:pointer;
    begin
      buffer[0]:=1;buffer[2]:=2;buffer[3]:=3;buffer[4]:=4;
      p:=@buffer;
      StrCopy(@buf,pchar(p));
    end;