谁帮我看看这段VB代码错在哪里

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:25:06
Private Sub Command1_Click()
Dim i As Integer
a1 = Int(5 * Rnd()) + 1
Text1.Text = a1
a2 = Int(5 * Rnd()) + 1
Text2.Text = a2

End Sub

Private Sub Form_Load()
Randomize
End Sub

Private Sub Text3_Change()
a3 = Val(Text3.Text)
If a1 + a2 = a3 Then
Label1.Caption = "正确!"
Else
Label1.Caption = "错误!"
End If
End Sub

我的意图是想程序随时出现两个5以内的数,然后自己输入得数,程序再判断显示“正确”或“错误”。但现在是即使输入的是对的也显示“错误”,看了一下午,实在不知哪出错。请各位帮忙看看。跪谢啊!!

N年前学了一点皮毛,而且都还给老师了,结果这么简单的功能都编不了了。真想找块豆腐撞头算了:(
一个字打错了,是随机出现

Dim a1 As Integer, a2 As Integer, a3 As Integer '先在所有代码之前声明全窗体内全局变量。
'如果这里不声明,那么下面的a1、a2就只能在Command1_Click这个过程中使用,而a3只能在Text3_Change这个过程中使用,Text3_Change中的a1和a2永远是等于0的

Private Sub Command1_Click()
Dim i As Integer
a1 = Int(5 * Rnd()) + 1
Text1.Text = Cstr(a1) '最好尽量少用变量类型自动转换,Text中的内容是String型的,而a1是Integer型的,需要转换类型
a2 = Int(5 * Rnd()) + 1
Text2.Text = Cstr(a2) '同上
End Sub

Private Sub Form_Load()
Randomize
End Sub

Private Sub Text3_Change()
a3 = Val(Text3.Text)
If a1 + a2 = a3 Then
Label1.Caption = "正确!"
Else
Label1.Caption = "错误!"
End If
End Sub

注意这里a1+a2表示a1与a2两数的和,不表示Str(a1)+Str(a2).这个Text2.Text = a2,Text1.Text = a1最好是Text2.Text = Str(a2),Text1.Text = Str(a1)

你的a1 和 a2 a3都是变量,上面command的变量在下面没用,所以你要声明公用变量,在程序代码最顶端加上:dim a1,a2,a3 as integer

dim a1,a2,a3
Private Sub Command1_Click()
a1 = Int(5 * Rnd()) + 1<