请VB高手 帮我看下这个控件数组的问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 15:02:20
各位VB高手:请帮我看下下面的程序为什么执行不了
程序如下——是重庆大学出版社 王世迪老师的书 不知道是不是印刷的问题 这本书我才学到59页(共291页)就发现很多例题中的程序执行不了,很多细节的东西也讲的不清楚,自学起来真费劲……
Private Sub cmdClr_Click()
txtValue1.Text = ""
txtValue2.Text = ""
lblResult.Caption = ""
End Sub

Private Sub cmdEnd_Click()
End
End Sub

Private Sub cmdOperate_Click()
Dim v1, v2 As Single
Dim Result As Double
v1 = Val(txtValue1.Text)
v2 = Val(txtValue2.Text)
If v2 = 0 Then End
For k = 0 To 3
If optOpMode(k).Value = True Then Exit For
Next
Select Case k
case0: Result = v1 + v2
case0: Result = v1 - v2
case0: Result = v1 * v2
case0: Result = (v1 / v2 * 1000 + 0.5) / 1000
End Select
lblResult.Caption = Result
End Sub
If optOpMode(k).Value = True Then Exit For
提示未定义

1.确保你的窗体上有如下控件
txtValue1,txtValue2,lblResult
cmdClr,cmdEnd,cmdOperate
optOpMode(0),optOpMode(1),optOpMode(2),optOpMode(3)

2.定义变量有问题
Dim v1, v2 As Single 改为:
Dim v1 As Single , v2 As Single

3,然后就是代码的严重问题了:
通过for 0 to 3的判断4个option的单选钮位置,来判断计算是相应的+-*/
然后你的select case语句中,居然使用了4个case 0呵呵:
正确的应该是
case 0: Result = v1 + v2
case 1: Result = v1 - v2
case 2: Result = v1 * v2
case 3: Result = (v1 / v2 * 1000 + 0.5) / 1000

报什么错?把错误提示信息写出来啊,还有停在哪一行

没写报什么错误,怎么给你判断?
从代码上看,没问题

Private Sub cmdOperate_Click()
Dim v1, v2 As Single
Dim Result As Double
v1 = Val(txtValue1.Text) '此行如果txtvalue1的内容不是纯数字,则报错:VAL函数的变量只能是纯数字
v2 = Val(txtValue2.Text) '此行同上
If v2 = 0 Then End
For k = 0 To 3 'K未定义
If optOpMode(k).Value = True Then Exit For
Next
Select Case k
case0: Result = v1 + v2 'case0:case和0之间少了空格
case0: Result = v1 - v2