VB6 实现从字节到具体数据类型的转换
对于单片机软件工程师在设计上下位机通讯时,经常会遇到这样一个问题,那就是如何传递一个float或者说是double或者是long 类型的数据,这些数据是由多个字节组成的,那么符合实现发送和在vb6中接收,以及将数据还原是个问题。 事实上在C/C++中要实现很简单,只要通过指针和字节访问即可! 下面来看一个使用Turbo C 2.0做的例子: #include<stdio.h> void main() fa=3.14; pa=&fa; pb[0]=pa[0]; clrscr(); 到此我们知道一个数据类新是如何在C中实现字节操作的,相信大家也应该知道怎么把一个float从串口中发送出去了吧,那么下面的工作就是如何在VB6中将收到的4个字节数据进行还原咯! 前面我们已经知道一个float类型的数据,当其值为3.14的时候,其值在内存中占据4个字节,其内容用十六进制表示为0xC3,0xF5,0x48,0x40 在vb中的代码实现如下: Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any,Source As Any,ByVal Length As Long) '内存拷贝 Private Sub Form_Load() 到此,相信大家应该可以很容易实现任意数据类型的传递以及在上位机中准确显示了! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |