VB验证TextBox输入为二进制数

时间:2013-03-20 18:12:13

标签: vb6

我正在尝试验证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中的输入应该只接受二进制数字,因此只允许10

3 个答案:

答案 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