首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于VB以太网通信winsock的一个有关问题,多谢诶

2013-08-01 
关于VB以太网通信winsock的一个问题,急!谢谢诶!要使用VB做一个工控上位机软件,使用的是winsock进行通信,进

关于VB以太网通信winsock的一个问题,急!谢谢诶!
要使用VB做一个工控上位机软件,使用的是winsock进行通信,进行通信的时候,要向下位机发送字符串“1101670001013902000360010203040506070809”,现在想要将其转换为十六进制,然后再将其发给下位机,请问我该如何处理字符串“1101670001013902000360010203040506070809“,使其转化为十六进制?使用Hex函数好像行不通啊!若要自己写函数,该怎么写啊!本人很迷茫,请各位达人指点一下!谢谢诶!
[解决办法]
s="1101670001013902000360010203040506070809"
dim a() as byte
dim L as long

l=len(s)
redim a(l/2-1)

j=0
for i=1 to l step 2
a(j)=val(mid(s,i,2))
next
[解决办法]
注意所谓16进制实际仍是10进制的Byte数据类型

Option Explicit
    Dim s As String
    Dim i As Long
    Dim Hsj() As Byte
    
Private Sub Command1_Click()
    s = "1101670001013902000360010203040506070809"
    ReDim Hsj(Len(s) / 2 - 1)
    For i = 1 To Len(s) Step 2
        Hsj((i - 1) / 2) = Val("&H" & Mid(s, i, 2))
    Next i
    For i = 0 To UBound(Hsj)
        Print Hsj(i)
    Next
End Sub

热点排行