VB 6.0 利用CopyMemory实现 指针功能
2007-09-10 13:44
666 查看
工作需要,要用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使用指针
- 完全用 VB 6.0 自身功能实现对 Windows 消息的拦截!
- Java利用接口和类来实现类似函数指针的功能
- 利用VB.NET Format函数实现四舍五入功能
- vb.net下利用反射实现字符串调用窗体的功能
- 利用接口与类实现类似于函数指针的功能
- [VB.NET]利用vb.net创建一个完全可编辑的DataGrid,从而实现操作Access数据库进行增,删,改的功能,前提是不用任何其他的Button
- (VB.net) 利用DataGrid实现查找, 编辑, 修改, 更新, 删除的功能。
- c++利用指针实现C#字典的功能
- 完全用 VB 6.0 自身功能实现对 Windows 消息的拦截!
- vb.net利用反射实现字符串调用窗体功能
- VB中利用CopyMemory使用指针
- 创建函数利用可变参数列表的形式模拟实现printf的功能
- 利用MultipartFile实现文件上传功能
- 带有头指针的链表的 创建 输出 查找 删除 释放 排序(冒泡排序)功能实现(尾插法(自动记录最后一个节点))
- 利用字典(Dictionary)实现唐诗的添加和查询功能(运用数组的做法)
- 利用FTPClient类实现文件的上传下载功能