关于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