比如byte[0],byte[1],byte[2],byte[3] 拷贝到LongWord[0]
结果为:LongWord[0]:=byte[0] shl 24+byte[1] shl 16+byte[2] shl 8+byte[3]我试了几种方法都得不到需要的结果。请教高手,谢谢

解决方案 »

  1.   

    var
    PByt,PLongW:Pchar;
    len:integer;
    //......其他定义
    begin
       PByt:=pointer(@ByteNum[0]);
       len:=length(ByteNum);
       //PLongW:=pointer(@LongWordNum[0]);
       setlength(LongWordNum,(len div 4));
       move(PByt^,PLongW^,len);
    end;
      

  2.   

    应该这样:var 
    PByt,PLongW:Pchar; 
    len:integer; 
    //......其他定义 
    begin 
       PByt:=pointer(@ByteNum[0]); 
       len:=length(ByteNum); 
       setlength(LongWordNum,(len div 4)); 
       PLongW:=pointer(@LongWordNum[0]); 
       move(PByt^,PLongW^,len); 
    end;