作者stator (别急着吃棉花糖)
看板Visual_Basic
标题[VB6 ] 计算时间内按钮按下次数
时间Tue Jul 5 20:30:54 2011
因为是想写一个计算在3秒时间内按下按钮的次数
不知道以下的写法,为什麽n都是0
Dim n As Integer '设定n、t全域变数
Dim t As Integer
Private Sub Command1_Click()
Static n '静态变数保留值
n = n + 1
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
t = t + 1
If t = 3 Then
MsgBox ("时间到")
Print n
End If
End Sub
以上谢谢各位前辈
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.11.170.53
1F:推 ClubT:把 Static n 拿掉就好了 ... 话说 Static 是干麻的? 07/05 22:56
2F:→ jwjeng:自己还加了注解说那是静态变数 07/05 23:42
3F:→ stator:原来拿掉就可以了,因为想说要保留每次按下N的值 07/06 02:57
4F:→ stator:谢谢楼上二位前辈~ 07/06 02:58
5F:→ stator:请教前辈,因为参考网路的文章,说静态变数会保留值 07/06 03:01
6F:→ stator:这边为什麽要拿掉呢?谢谢 07/06 03:02
7F:推 fumizuki:拿掉第一行 Dim n 就好了 07/06 07:26
8F:推 fumizuki:Command1_Click 中的Static也是宣告变数 07/06 07:27
9F:推 fumizuki:可见范围是自己(Command1_Click) 07/06 07:28
10F:推 fumizuki:跟开头宣告的模组变数是不同的变数 07/06 07:28
11F:推 fumizuki:或者拿掉static,才可在Command1_Click以外的地方重设n 07/06 07:29
12F:→ fumizuki:(如果需要的话) 07/06 07:29
13F:→ MOONRAKER:全域变数或区域静态变数,两者选一啦 07/06 09:11
14F:→ MOONRAKER:不然就会发生以上版主解释的scope问题 07/06 09:11
15F:→ stator:谢谢版主及楼上前辈 07/06 12:25