VB中 byte数组和其他数据类型之间的转化
来源:互联网 发布:王家卫台词知乎 编辑:程序博客网 时间:2024/05/16 11:43
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Sub Command1_Click()
Dim test(0 To 3) As Byte
Dim i As Long, j As Long
i = 1000
'从long转化为byte数组
CopyMemory test(0), i, 4
'从byte数组转化为long
CopyMemory j, test(0), 4
MsgBox j
End Sub
或者根据下面的代码中的函数进行转换:
Public Function HiByte(ByVal wParam As Integer) As Byte
'note: VB4-32 users should declare this function As Integer
HiByte = (wParam And &HFF00&) / (&H100)
End Function
Public Function LoByte(ByVal wParam As Integer) As Byte
'note: VB4-32 users should declare this function As Integer
LoByte = wParam And &HFF&
End Function
Public Function HiWord(wParam As Long) As Integer
If wParam And &H80000000 Then
HiWord = (wParam / 65535) - 1
Else
HiWord = wParam / 65535
End If
End Function
Public Function LoWord(wParam As Long) As Integer
If wParam And &H8000& Then
LoWord = &H8000& Or (wParam And &H7FFF&)
Else
LoWord = wParam And &HFFFF&
End If
End Function
Public Function LoWordCM(wParam As Long) As Integer
'using API
CopyMemory LoWordCM, wParam, 2
End Function
Public Function LShiftWord(ByVal w As Integer, ByVal c As Integer) As Integer
Dim dw As Long
dw = w * (2 ^ c)
If dw And &H8000& Then
LShiftWord = CInt(dw And &H7FFF&) Or &H8000&
Else
LShiftWord = dw And &HFFFF&
End If
End Function
Public Function RShiftWord(ByVal w As Integer, ByVal c As Integer) As Integer
Dim dw As Long
If c = 0 Then
RShiftWord = w
Else
dw = w And &HFFFF&
dw = dw / (2 ^ c)
RShiftWord = dw And &HFFFF&
End If
End Function
'两个byte转换为一个integer
Public Function MakeWord(ByVal bHi As Byte, ByVal bLo As Byte) As Integer
If bHi And &H80 Then
MakeWord = (((bHi And &H7F) * 256) + bLo) Or &H8000&
Else
MakeWord = (bHi * 256) + bLo
End If
End Function
'两个integer转换为一个long
Public Function MakeDWord(wHi As Integer, wLo As Integer) As Long
If wHi And &H8000& Then
MakeDWord = (((wHi And &H7FFF&) * 65536) Or _
(wLo And &HFFFF&)) Or &H80000000
Else
MakeDWord = (wHi * 65535) + wLo
End If
End Function
- VB中 byte数组和其他数据类型之间的转化
- byte数组和其他数据类型之间的转化
- byte数组和String之间的转化
- Byte,CString,Char数组之间的转化
- C#中结构体和byte数组的转化
- byte[]和string之间的转化
- C# struct和byte[]之间的转化
- vb中字符串和其他类型之间的转换
- Java中String类型和其他数据类型之间的转换
- Android中 字符串、byte数组、十六进制串、ASCII之间的相互转化
- Java中字符和byte数组之间的相互转换
- Java中字符和byte数组之间的相互转换
- java中int类型和byte[]数组之间的转换
- Java中byte[]数组和int之间的转换
- Java中字符和byte数组之间的相互转换
- byte数组的转化
- Java 中 byte、byte 数组和 int、long 之间的转换
- Java 中 byte、byte 数组和 int、long 之间的转换
- 飞信Symbian客户端的接口下载
- Struts-menu 权限控制
- 基于数据库的Struts Menu动态菜单分析
- Struts Menu开发向导
- Active 控件--条形码--Smartscan Xpress Barcode
- VB中 byte数组和其他数据类型之间的转化
- DotNet组件--商业图表-Chart FX for .NET
- Hibernate的三种连接池设置C3P0、dbcp和Proxool
- 中国排名前100的IT公司
- 对易语言汉语编程环境误解与偏见的十个低级问题
- Java组件--商业图表--Chart FX for Java
- Java网络编程中inputStream.available()的使用方法
- C++ string类的一些成员函数
- 修炼一名程序员的职业水准【转贴】(林庆忠__署名原创)