vb visual basic

来源:百度知道 编辑:UC知道 时间:2024/06/23 12:48:11
Private Sub CmdReceive_Click()
Dim i%, Buf$
Buf = ""
InByte = Comm1.Input
For i = LBound(InByte) To UBound(InByte)
Buf = Buf + Hex(InByte(i)) + Chr(32)
Next i
txtReceive.Text = Buf
End Sub
这有什么功能,为什么?
Buf = Buf + Hex(InByte(i)) + Chr(32)是什么意思
最好讲详细点

由于程序代码段缺少嵌入的其他代码段,较多变量、控件无法判断其数据类型,所以以下解说用了“也许”,“可能”的字眼:
首先要说明这句
InByte = Comm1.Input
comm1也许是某一自定义的输入设备控件对象吧,它的一个属性Input可返回部分数组数据;
InByte被定义成数组,用于接收Comm1.Input赋值的输入数据序列;可以是任意数据类型(Variant);
For i = LBound(InByte) To UBound(InByte)
Buf = Buf + Hex(InByte(i)) + Chr(32)
Next i
然后这段用循环把上述数组的内容逐个转换为16进制码,并以一定的格式符“Chr(32)”(32是ASCII码,表示空格)进行间隔开来,并赋值给Buf变量直到所有的InByte内容完成转换。
Buf = Buf + Hex(InByte(i)) + Chr(32)
主要就是把InByte中的数据(为number类型)从头到尾,按16进制码(Hex函数返回16进制数值的string类型)连接起来,并在每个数据之间+Chr(32)(即空格)间隔开来
最后是把buf的字符串赋值到控件txtReceive.text
这段代码的作用应该就是进行数据输入后的格式变换吧。
这样解释是否能满足你的需要呢?