求助:如何将byte数组组合成long型的数据?
请问:
如何将byte数组组合成long型的数据?
例如: dim value_byte(4) As Byte
dim value_long As Long
如果value_byte(0)=&HAA
value_byte(1)=&H33
value_byte(2)=&H22
value_byte(3)=&H11
怎样使才能利用value_byte使value_long=&HAA332211?
[解决办法]
- VB code
Private Sub Command1_Click() Dim value_byte(4) As Byte Dim value_long As Long value_byte(0) = &HAA value_byte(1) = &H33 value_byte(2) = &H22 value_byte(3) = &H11 value_long = "&H" & (CStr(Hex(value_byte(0))) & CStr(Hex(value_byte(1)))) & CStr(Hex(value_byte(2))) & CStr(Hex(value_byte(3))) MsgBox Hex(value_long)End Sub
[解决办法]
其实你的赋值是反的:
- VB code
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)Private Sub Command1_Click() Dim value_byte(4) As Byte Dim value_long As Long value_byte(0) = &HAA value_byte(1) = &H33 value_byte(2) = &H22 value_byte(3) = &H11 CopyMemory value_long, value_byte(0), 4 MsgBox Hex(value_long)End Sub
[解决办法]
Private Declare Sub CopyMemoryLib " kernel32 " Alias " RtlMoveMemory " (Destination As Any, Source As Any, ByVal Length As Long ) Private Sub Command1_Click() Dim value_byte( 4 ) As Byte Dim value_long As Long value_byte( 0 ) = & HAA value_byte( 1 ) = & H33 value_byte( 2 ) = & H22 value_byte( 3 ) = & H11 CopyMemory value_long, value_byte( 0 ), 4 MsgBox Hex(value_long) End Sub