vb求解(无效的过程调用或参数)
Private Sub Command6_Click()
Dim s As String
Dim T As Integer
Dim i As Integer, j As Integer, cnt As Integer
Dim a As Integer
Dim send_buf() As Byte
ReDim send_buf(1024)
cnt = 0
s = Trim(Text2.Text)
T = Len(s)
Do While (l)
Do Until IsHex(Left(s, 1)) <> 16
T = T - 1
If l = 0 Then Exit Do ‘当我删除这个语句之后,如果假设Text2.Text=a(随意一个字符),点击Command6_Click,就会出现错误:无效的过程调用或参数
经过验证 s = Right(s, 0)也没有错误,求解
s = Right(s, T)
Loop
a = IsHex(Left(s, 1))
If l = 0 Then Exit Sub
T = T- 1
s = Right(s, T)
If T <> 0 And IsHex(Left(s, 1)) <> 16 Then
a = a * 16 + IsHex(Left(s, 1))
T = T - 1
s = Right(s, l)
End If
cnt = cnt + 1
send_buf(cnt) = a
Loop
If cnt > 128 Then cnt = 128
ReDim Preserve send_buf(cnt)
MSComm1.Output = send_buf()
End Sub
Public Function IsHex(c As String) As Integer
If c >= "0" And c <= "9" Then
IsHex = Val(c) - Val("0")
ElseIf c >= "a" And c <= "f" Then
IsHex = Asc(c) - Asc("a") + 10
ElseIf c >= "A" And c <= "F" Then
IsHex = Asc(c) - Asc("A") + 10
Else
IsHex = 16
End If