Private Sub Command1_Click()
a = CInt(Text1.Text)
Select Case a
Case Is > 100
Label1.Caption = "不匹配"
Case 90 To 100
Label1.Caption = "优"
Case Is >= 80
Label1.Caption = "良"
Case Is >= 30 + 30
Label1.Caption = "及格"
Case Is >= 0
Label1.Caption = "不及格"
End Select
End Sub这段垃圾代码有点问题,,就是当文本框输入的不是整形的时候,,就会出错,,有什么办法,,可以让输入不是整形的时候,不出错,,
a = CInt(Text1.Text)
Select Case a
Case Is > 100
Label1.Caption = "不匹配"
Case 90 To 100
Label1.Caption = "优"
Case Is >= 80
Label1.Caption = "良"
Case Is >= 30 + 30
Label1.Caption = "及格"
Case Is >= 0
Label1.Caption = "不及格"
End Select
End Sub这段垃圾代码有点问题,,就是当文本框输入的不是整形的时候,,就会出错,,有什么办法,,可以让输入不是整形的时候,不出错,,
' 提示一下,好的代码要注意缩进,变量也要声明。 :)Option ExplicitPrivate Sub Command1_Click()
Dim a As Long
a = CLng(Text1.Text)
Select Case a
Case Is > 100
Label1.Caption = "不匹配"
Case 90 To 100
Label1.Caption = "优"
Case Is >= 80
Label1.Caption = "良"
Case Is >= 30 + 30
Label1.Caption = "及格"
Case Is >= 0
Label1.Caption = "不及格"
End Select
End SubPrivate Sub Form_Load()
Text1.Text = ""
Text1.MaxLength = 3
End SubPrivate Sub Text1_Change()
On Error Resume Next
If Len(Text1.Text) = 3 Then
If CLng(Text1.Text) > 100 Then Text1.Text = "0": Text1.SelStart = 1
End If
End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) And KeyAscii <> vbKeyBack Then KeyAscii = 0
End Sub
如果不想让别人输入非数值字符,那可以在key_press里设置,搜索一下,很多。
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) And KeyAscii <> vbKeyBack Then KeyAscii = 0
end sub 请问这句话是什么意思呢? 谢谢你耐心的解答
a = CInt(Text1.Text)
Select Case a
Case Is > 100
Label1.Caption = "不匹配"
Case 90 To 100
Label1.Caption = "优"
Case Is >= 80
Label1.Caption = "良"
Case Is >= 30 + 30
Label1.Caption = "及格"
Case Is >= 0
Label1.Caption = "不及格"
case else
msgbox "非法输入"
End Select
End Sub
b=vartype(a) '这个函数是判断变量类型的
不过作输入正确性判断确实很麻烦。简单一点可以用On Error Resume Next解决。
Option Explicit我的QQ是51433480
大家可以和我交流一下
比如说,我们在程序中使用一个变量,如果事先我们没有声明,在编译的过程中可能就会出错,而且查找起来非常的麻烦。为此,在程序的头部加上一个option explicit这个句子,可以帮助我们判断某个变量是不是被声明过。
我的qq 103483990
说白了 Option Explicit 就是强制声明变量.to visualmm(虚拟小美女) :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) And KeyAscii <> vbKeyBack Then KeyAscii = 0
end sub
只能让文本框中输入数字和退格.