| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 486 人关注过本帖
标题: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
快速回复:case 为什么运转不起来呢?
数据加载中...
 
   



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

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