一段关于mscomm控件接收二进制数据并显示的代码,请大家帮我看看,谢谢
我按msdn上的提示写的:
Dim Buffer As Variant
Dim Arr() As Byte
'设定 InputMode 读取二进制数据
MSComm1.InputMode = comInputModeBinary
'等待直到输入缓冲区有 10 个字节
Do Until MSComm1.InBufferCount < 10
DoEvents
Loop
'往缓冲区存二进制数据
Buffer = MSComm1.Input
'赋值于字节数组以便处理
Arr = Buffer
我想知道怎么对Arr进行处理呀,我想把接收到二进制转换成十进制给用户显示出来
think a lot
问题点数:0、回复次数:5Top
1 楼ZHYPDW(无奈)回复于 2003-09-01 12:39:05 得分 0
dim Instring As Variant
dim lngi as Long
dim mComm3String as String '全局变量
For lngi = 0 To UBound(Instring)
mComm3String = mComm3String & String(2 - Len(Hex(Instring(lngi))), "0") & Hex(Instring(lngi))
NextTop
2 楼zpwly(选你所爱,爱你所选)回复于 2003-09-01 12:56:03 得分 0
谢谢了,能解析一下么Top
3 楼kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!)回复于 2003-09-02 13:38:20 得分 0
如果没有中文字符:
Dim Buffer As Variant
dim strTemp as string
Dim Arr() As Byte
'设定 InputMode 读取二进制数据
MSComm1.InputMode = comInputModeBinary
'等待直到输入缓冲区有 10 个字节
Do Until MSComm1.InBufferCount < 10
DoEvents
Loop
'往缓冲区存二进制数据
Buffer = MSComm1.Input
'赋值于字节数组以便处理
Arr = Buffer
for i=LBound(arr) to UBound(arr)
strtemp=strtemp & chr(arr(i))
next
msgbox strtempTop
4 楼zpwly(选你所爱,爱你所选)回复于 2003-09-02 14:13:56 得分 0
多谢Top
5 楼Gelim(Gelim)回复于 2003-09-02 15:03:43 得分 0
将Arr的内容以十进制的形式显示在text1中
dim a() as byte
dim i as long
a=Arr
text1.text=""
for i=0 to ubound(a)
text1.text=text1.text+cstr(a(i))+" "
next iTop



