0

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

4

3 回答 3

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 到许多任何东西”。

于 2013-03-20T20:53:55.687 回答
0

即使我找不到检查二进制数据的功能。但是你不能像这样检查吗

   If textbox1.text = 1 or textbox1.text = 2

我认为您也可以使用 instr 函数。

于 2013-03-20T18:21:58.033 回答
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
于 2013-03-20T18:29:31.240 回答