只是粗略的写了写,希望能够起到抛砖引玉的作用
以下在模块:
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
'10进制到16进制数组
Public Sub mDec2HexArr(ByVal Dec As Long, ByRef HexArray() As Byte)
CopyMemory ByVal VarPtr(HexArray(0)), Dec, 4
End Sub
'16进制数组到10进制
Public Function mHexArr2Dec(ByRef HexArray() As Byte) As Long
CopyMemory ByVal VarPtr(mHexArr2Dec), ByVal VarPtr(HexArray(0)), 4
End Function
'10进制到16进制
Public Function mDec2Hex(ByVal Dec As Long, Optional ByVal ByteLen As Long = 4) As String
mDec2Hex = Right("00000000" & Hex$(Dec), ByteLen * 2)
End Function
'16进制到10进制
Public Function mHex2Dec(ByVal HexStr As String) As Long
mHex2Dec = "&H" & HexStr
End Function
以下在窗体:
Option Explicit
Dim mBuff(3) As Byte
Dim mIndex As Long
Const mNum = 1234567890
Private Sub Form_Resize()
mDec2HexArr mNum, mBuff()
For mIndex = LBound(mBuff) To UBound(mBuff)
Print mBuff(mIndex)
Print mDec2Hex(mBuff(mIndex), 1)
Print mDec2Hex(mBuff(mIndex))
Print
Next
Print mHex2Dec(mDec2Hex(mBuff(3), 1) & mDec2Hex(mBuff(2), 1) & mDec2Hex(mBuff(1), 1) & mDec2Hex(mBuff(0), 1))
Print mHexArr2Dec(mBuff)
End Sub