作者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