VB 6.0 利用CopyMemory实现 指针功能
2009-08-14 11:57
344 查看
工作需要,要用VB写一个接口程序,其中要把浮点型转成Byte数组,用到了一个API,先记录下来,以后C#中可能会用到同样的功能。
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)
浮点转换Byte函数
Private Function FloatToBytes(value As Single) As Byte()
Dim returnByte(4) As Byte
Dim sPtr As Long, bPtr As Long
sPtr = VarPtr(value)
bPtr = VarPtr(returnByte(1))
CopyMemory bPtr, sPtr, 4
FloatToBytes = returnByte
End Function
Byte转换浮点函数
Private Function BytesToFloat(bytes() As Byte) As Single
Dim returnValue As Single
Dim sPtr As Long, bPtr As Long
sPtr = VarPtr(returnValue)
bPtr = VarPtr(bytes(1))
CopyMemory sPtr, ByVal bPtr, 4
BytesToFloat = returnValue
End Function
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Long, ByVal Source As Long, ByVal Length As Long)
浮点转换Byte函数
Private Function FloatToBytes(value As Single) As Byte()
Dim returnByte(4) As Byte
Dim sPtr As Long, bPtr As Long
sPtr = VarPtr(value)
bPtr = VarPtr(returnByte(1))
CopyMemory bPtr, sPtr, 4
FloatToBytes = returnByte
End Function
Byte转换浮点函数
Private Function BytesToFloat(bytes() As Byte) As Single
Dim returnValue As Single
Dim sPtr As Long, bPtr As Long
sPtr = VarPtr(returnValue)
bPtr = VarPtr(bytes(1))
CopyMemory sPtr, ByVal bPtr, 4
BytesToFloat = returnValue
End Function
相关文章推荐
- VB 6.0 利用CopyMemory实现 指针功能
- 利用VB.NET Format函数实现四舍五入功能
- 利用C++重载实现类似“类成员指针”的功能
- VB中利用CopyMemory使用指针
- Java利用接口和类来实现类似函数指针的功能
- 利用VB.NET Format函数实现四舍五入功能
- 完全用 VB 6.0 自身功能实现对 Windows 消息的拦截!
- vb.net下利用反射实现字符串调用窗体的功能
- 利用接口与类实现类似于函数指针的功能
- (VB.net) 利用DataGrid实现查找, 编辑, 修改, 更新, 删除的功能。
- [VB.NET]利用vb.net创建一个完全可编辑的DataGrid,从而实现操作Access数据库进行增,删,改的功能,前提是不用任何其他的Button
- c++利用指针实现C#字典的功能
- 完全用 VB 6.0 自身功能实现对 Windows 消息的拦截!
- vb.net利用反射实现字符串调用窗体功能
- VB中利用CopyMemory使用指针
- 利用MultipartFile实现文件上传功能
- ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页
- 带有头指针的链表的 创建 输出 查找 删除 释放 排序(冒泡排序)功能实现(尾插法(自动记录最后一个节点))
- 利用JAVASCRIPT控制MEDIA PLAYER的功能实现
- 利用位操作实现简单的功能