第一个问题:
程序代码:
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Dim a As Double '你定义的的是过程级变量
Dim b As Double '你定义的的是过程级变量
a = Sqr(Val(Text1.Text)) '前面 Text1.Text = ""了。那么a的值应该是0
b = Val(Text2.Text) + Val(Text3.Text) '前面 Text2.Text = ""、Text3.Text = ""了。那么b的值应该是0
End Sub
第二个问题:
Private Sub Command1_Click()
Text4 = a / b '变量a、b无值,不存在!
Text5 = Sin(Val(Text1.Text) * pi / 180) '变量pi=0,因此,Text5。Text=0
End Sub
修改代码:
程序代码:
Dim a As Double '必须定义为模块级变量
Dim b As Double '必须定义为模块级变量
Dim pi As Single '定义pi变量
Private Sub Command1_Click()
pi = 3.1415926
If Val(Text1.Text) < 0 Then '判断Text1的值
MsgBox "Text1的值必须大于0"
Exit Sub
End If
If Val(Text2.Text) = 0 Then '判断Text2的值
MsgBox "Text2的值必须不能等于0"
Exit Sub
End If
If Val(Text3.Text) = 0 Then '判断Text3的值
MsgBox "Text3的值必须不能等于0"
Exit Sub
End If
'经过上面的判断,下面运算才不会出错!
a = Sqr(Val(Text1.Text)) '在这里赋值
b = Val(Text2.Text) + Val(Text3.Text) '在这里赋值
Text4 = a / b '这样a、b才会有值
Text5 = Sin(Val(Text1.Text) * pi / 180) '变量pi=0,因此,Text5。Text=0
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub