Delphi byte[]轉換為int


http://bbs.csdn.net/topics/330082331 

1、

var
  buf: array[0..1] of byte;
  bus: array[0..3] of byte;
  si:SmallInt ;
  i:Integer ;
begin
  buf[0] := $01;
  buf[1] := $02;
  bus[0] := $00;
  bus[1] := $01;
  bus[2] := $02;
  bus[3] := $03;

  Move(buf,si,SizeOf(SmallInt) );
  ShowMessage(IntToStr(si));

  Move(bus,i,SizeOf(Integer) );
  ShowMessage(IntToStr(i));

2、

類型轉換
用個Integer指針直接指向字節數組就OK了,如果就想看看轉換結果的話,MOVE都不用了
var
  buf : array[0..3] of byte;
  Pint:PInteger;
begin
  buf[0] := $00;
  buf[1] := $01;
  buf[2] := $02;
  buf[3] := $03;
  Pint:=@buf[0];
  ShowMessage(IntToStr( Pint^));
end;

3、

var
  buf : array[0..1] of byte;
  bus : array[0..3] of byte;
  function ByteToHex(InByte:byte):shortstring;
    const Digits:array[0..15] of char='0123456789ABCDEF';
  begin
    result:=digits[InByte shr 4]+digits[InByte and $0F];
  end;
  function BinArrayToString(aArray: array of Byte): string;
  var
    i: integer;
  begin
    result:='';
    for i:= Low(aArray) to High(aArray) do
    begin
      result:= result + ByteToHex(aArray[i]);
    end;
    Result:= IntToStr(StrToInt('$'+result));
  end;
begin
  buf[0] := $01;
  buf[1] := $02;
  showmessage(BinArrayToString(buf));
  bus[0] := $00;
  bus[1] := $01;
  bus[2] := $02;
  bus[3] := $03;
  showmessage(BinArrayToString(bus));
end;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM