发送16进制的时候,数据中间会有空格,有时候又没有空格,现在就准备把空格屏蔽掉! 例如:发送1122 3344 55 66 778899要等同于:11 22 33 44 55 66 77 88 99
我是往text框里写数据,再发送.以下是我的代码:
fsendsrclen = Len(FSend.Text1.Text)
For i = 1 To fsendsrclen
If Str_Int(Mid(Text1.Text, i, 1)) <> 20 Then '空格的asc码为20
fsendsrc(j + 1) = Val("&H" & Mid(Text1.Text, i, 2))
i = i + 1
j = j + 1
Else
i = i + 1
End If
Next i
fsendsrclen = j
fsendresult = DSSendData( fsendsrclen, fsendsrc(1)) 'DSSendData为发送函数Function Str_Int(a As String) As Integer '字符转换成hex码
Select Case a
Case "0" To "9"
Str_Int = Asc(a) - 48
Case "A" To "F"
Str_Int = Asc(a) - 55
Case "a" To "f"
Str_Int = Asc(a) - 87
Case Else
Str_Int = Asc(a)
End Select
End Function
可是好像每次还是把空格当成数据了,
例如我发送1122 33 44 55,
接收到:11 22 03 03 44 05 05是不是我这一句Str_Int(Mid(Text1.Text, i, 1)) <> 20 Then有问题啊!
我是往text框里写数据,再发送.以下是我的代码:
fsendsrclen = Len(FSend.Text1.Text)
For i = 1 To fsendsrclen
If Str_Int(Mid(Text1.Text, i, 1)) <> 20 Then '空格的asc码为20
fsendsrc(j + 1) = Val("&H" & Mid(Text1.Text, i, 2))
i = i + 1
j = j + 1
Else
i = i + 1
End If
Next i
fsendsrclen = j
fsendresult = DSSendData( fsendsrclen, fsendsrc(1)) 'DSSendData为发送函数Function Str_Int(a As String) As Integer '字符转换成hex码
Select Case a
Case "0" To "9"
Str_Int = Asc(a) - 48
Case "A" To "F"
Str_Int = Asc(a) - 55
Case "a" To "f"
Str_Int = Asc(a) - 87
Case Else
Str_Int = Asc(a)
End Select
End Function
可是好像每次还是把空格当成数据了,
例如我发送1122 33 44 55,
接收到:11 22 03 03 44 05 05是不是我这一句Str_Int(Mid(Text1.Text, i, 1)) <> 20 Then有问题啊!
dim strTmp as string
strtmp=replace(text1.text," ","")