
vb 怎么将接收到的字符串转成数组 10
这是利用mscomm1控件做串口通讯,串口接收到下位机的数据是ASCII码而且这个数据至少是16个数据。用strBuff=MSComm1.Input接受了数据串,调试的时...
这是利用mscomm1控件做串口通讯,串口接收到下位机的数据是ASCII码而且这个数据至少是16个数据。用 strBuff = MSComm1.Input接受了数据串,调试的时候发现每次只读取了8个数据,现在我是要把接收到的数据放到数组里面,
Private Sub MSComm1_OnComm()
Dim sData() As Byte
MSComm1.InputLen = 0 '设定一次接受的数据的位数
If MSComm1.CommEvent = 2 Then '接受数据事件
strBuff = MSComm1.Input
sData = strBuff
End If
End Sub
求解:1:如何将接受的ASCII字符串发在数组里面,以便于对数组里面各个数据进行运算操作!
2 :为什么每次读取缓存的数据只是8个?
3:数组里面的ASCII码如何转化成字符或者数字? 展开
Private Sub MSComm1_OnComm()
Dim sData() As Byte
MSComm1.InputLen = 0 '设定一次接受的数据的位数
If MSComm1.CommEvent = 2 Then '接受数据事件
strBuff = MSComm1.Input
sData = strBuff
End If
End Sub
求解:1:如何将接受的ASCII字符串发在数组里面,以便于对数组里面各个数据进行运算操作!
2 :为什么每次读取缓存的数据只是8个?
3:数组里面的ASCII码如何转化成字符或者数字? 展开
4个回答
展开全部
1.
STR1=...
DIM B()AS BYTE
REDIM B(LENB(STR1)-1)
COPYMEMORY B(0),byval strptr(str1),lenb(str1)
因为我是手机,copymemory的定义请自行百度
3.可以用STRCONV
至于转换为数字,不知道你的要求 。一个LONG数字占4字节,如果你是说把4个数据作为一个数字返回,也可以用COPYMEMORY.另一种更直观(但更慢)的方法是 NUM=BYTE(0)*&H1000000+BYTE(1)*&H10000+BYTE(2)*&H100+BYTE(3)
STR1=...
DIM B()AS BYTE
REDIM B(LENB(STR1)-1)
COPYMEMORY B(0),byval strptr(str1),lenb(str1)
因为我是手机,copymemory的定义请自行百度
3.可以用STRCONV
至于转换为数字,不知道你的要求 。一个LONG数字占4字节,如果你是说把4个数据作为一个数字返回,也可以用COPYMEMORY.另一种更直观(但更慢)的方法是 NUM=BYTE(0)*&H1000000+BYTE(1)*&H10000+BYTE(2)*&H100+BYTE(3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ascii 就是数字 互相转换:chr$() 用于将asscii转换成字符 asc()是将字符转换成asscii 值 怎么用相信你会用,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
split函数拆分字符串,返回数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
作个循环
dim sdata(16) as integer
for i=0 to len(strbuff)
sdata(i)=Cint(mid(strbuff,i+1,1)
next
dim sdata(16) as integer
for i=0 to len(strbuff)
sdata(i)=Cint(mid(strbuff,i+1,1)
next
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询