| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1202 人关注过本帖
标题:网口的问题
只看楼主 加入收藏
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
结帖率:91.22%
收藏
已结贴  问题点数:10 回复次数:1 
网口的问题
Dim MyStr As String

。。。。。。。。。。。。。。。。。。。。。。。
Call SckServer.GetData(arrBuff, vbByte, bytesTotal)
    MyStr = StrConv(arrBuff, vbUnicode)
   
    Charnum = Len(MyStr)
    '
    a = 0
    b = 0
    For i = 0 To (Charnum - 1)
        
        fbuf = Mid(MyStr, i + 1, 1)
        If (fbuf = ".") Then
            b = i
        ElseIf (fbuf = "-") Then
            a = i
        Else
            
            Encoder(i) = Mid(MyStr, i + 1, 1)
        End If
           
    Next
我网口中断里是这样写的,只能存放字符,不是字符的就不好收发。
我想改成能收发任意16进制的,该怎么改呀?谢谢!

[此贴子已经被作者于2019-9-23 08:22编辑过]

搜索更多相关主题的帖子: Mid Then 收发 存放 字符 
2019-09-23 08:21
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:10 
arrBuff 这个变量是byte类型的数组,然后经过这行命令
    MyStr = StrConv(arrBuff, vbUnicode)
变成了一个字符串,在这个命令里,非可显示字符的部分就会被丢弃。
所以你要对任意16进制数据,直接对 arrBuff 这个数组操作。
    For i = 0 To ubound(arrbuff)
        If (arrbuff(i)= ?? ) Then       '?? 填 "." 的ASCII 码值
            b = i
        ElseIf (arrbuff(i)= ?? ) Then     '?? 填 "-" 的ASCII 码值
            a = i
        Else
            
            Encoder(i) = Mid(MyStr, i + 1, 1)      '取下一个?  chr(arrbuff(i+1)),需要转字符吗?
        End If

授人于鱼,不如授人于渔
早已停用QQ了
2019-09-24 11:09
快速回复:网口的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014598 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved