标题:case 为什么运转不起来呢?
只看楼主
苍穹之舞
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:35
注 册:2014-10-7
结帖率:87.5%
已结贴  问题点数:20 回复次数:5 
case 为什么运转不起来呢?
我写了个猜数字的代码,就是窗体随机生成一个100以内的数字,然后你向文本框里填入你猜测的数字,如果大了,消息框提示你大了,如果小了,就提示你小了,直到猜测对了为止

我做了,可是无论我填入什么数字,都显示大了,哪怕是1

这究竟是怎么回事??
Private Sub Form_Load()
Dim c
Randomize
c = Int((100 * Rnd) + 1)
End Sub

Private Sub Command1_Click()
Dim b As Integer

b = Val(Text.Text)

Select Case b
Case Is = c
MsgBox "恭喜你答对了"

Case Is > c:
MsgBox "太大了"
Text.SetFocus
Case Is < c:
MsgBox "太小了"
Text.SetFocus
End Select

List1.AddItem "你回答的数字是" & b

Randomize

End Sub
搜索更多相关主题的帖子: 文本框 
2014-10-07 09:16
苍穹之舞
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:35
注 册:2014-10-7
得分:0 
我换成常量,试了,还不行啊,这究竟怎么了?很简单的东西,是我写错了,还是我的VB软件有毛病?不可能的啊
2014-10-07 09:16
chen3523
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:33
帖 子:223
专家分:1165
注 册:2013-2-12
得分:7 
Dim c As Integer
Private Sub Form_Load()
Randomize
c = Int((100 * Rnd) + 1)
End Sub

Private Sub Command1_Click()
Dim b As Integer

b = Val(Text.Text)

Select Case b
Case Is = c
    MsgBox "恭喜你答对了"
Case Is > c
   MsgBox "太大了"
   Text.SetFocus
Case Is < c
   MsgBox "太小了"
   Text.SetFocus
End Select

List1.AddItem "你回答的数字是" & b
End Sub

调试失败3次后,关机睡觉,当醒来时多有收获。
2014-10-07 22:27
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:7 
关键是c要在通用里面定义,否则按钮点击事件里的c仍然算作新定义的,与form_load中赋的值不相干,只能是0。如果在通用的最前面加一句Option Explicit就能检测出这一点。
2014-10-10 22:34
穿梭的粒子
Rank: 2
等 级:论坛游民
帖 子:10
专家分:50
注 册:2014-10-12
得分:7 
这究竟是怎么回事??
Private Sub Form_Load()
Dim c

你只要把上面的两行代码 ,调换下位置就可以了
Dim c
Private Sub Form_Load()


希望你能弄明白什么全局变量的作用
2014-10-13 14:44
苍穹之舞
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:35
注 册:2014-10-7
得分:0 
感谢各位指点,我已经搞清楚了
2014-10-20 15:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-436908-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.122559 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved