我正在尝试验证TextBox的输入以确保它是二进制数。到目前为止我所拥有的是:
Private Sub Command1_Click()
Dim b() As Byte
b = Text1.Text
If Not IsByte (b) Then
Text3 = "Wrong input"
Else
Text3 = "CRC is generated"
' checksum.Text = Text1.Text Xor Text2.Text
' Trans(2).Text = (Text1.Text) + (checksum.Text)
End If
Text1中的输入应该只接受二进制数字,因此只允许1
或0
。
答案 0 :(得分:4)
您可以在此处使用Like
:
Private Sub Command1_Click()
If Len(Text1.Text) = 0 Or Text1.Text Like "*[!0-1]*" Then
MsgBox "bad binary string"
Else
MsgBox "good binary string"
End If
End Sub
这个模式测试的是“0到很多任何东西,后跟一个不在0到1范围内的字符,然后是0到很多东西。”
答案 1 :(得分:0)
即使我找不到检查二进制数据的功能。但你不能像
那样检查 If textbox1.text = 1 or textbox1.text = 2
我认为你也可以使用instr函数。
答案 2 :(得分:0)
以下是代码。在向论坛发布任何问题之前请您进行谷歌搜索。
'will only allow 0 and 1
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey1
Case Else
KeyAscii = 0
End Select
End Sub
' will validate if its numeric and you can further check for 0 or 1
Private Sub Command1_Click()
If Not IsNumeric(Text1.Text) Then
MsgBox "Please enter numbers only.", vbInformation
'you may also consider erasing it
Text1.Text = ""
End If
End Sub