說到「定時」有這麼幾種常見的形式:
(1)每天固定時間執行,就像手機鬧鐘一樣,到時間就會執行操作。這種情況我執行有一篇文章教程《問題解答:怎麼做一個定時功能》,想學習的朋友可以去看一下。
(2)每隔一段時間執行一次任務;這種是我們用的最多的,每次我們循環執行一段代碼,都會在循環底部加上一個延遲,這個其實就是間隔固定時間的「定時」。
比如:
Do TracePrint "我是任務" Delay 30000Loop這是一個每個30秒時間,輸出一句話的操作。
(3)間隔一段時間執行一次任務,同時在間隔等待期間,執行別的任務操作。
Dim t=tickcount()Call 函數1()For 10If TickCount() - t > 10000 Then Call 函數1()t=tickcount()Else Call 函數2()End IfNext
Function 函數1()TracePrint 1End FunctionFunction 函數2()TracePrint 2Delay 3000End Function來分析一下這個實現的原理,這段代碼中有一個關鍵命令,TickCount()這個命令是獲取腳本運行時間,這個時間獲取的方式是從你按下開始鍵的那一刻開始計時,到你執行這個命令時所用的時間。
我們使用TickCount()這個命令,通常是使用運行兩次之後的相對時間,來計算某段代碼運行時間。
如上圖,第一次執行TickCount()命令得到是時間①,第二次執行TickCount()命令得到是時間②,用時間②減去時間①,得到的結果就是兩次執行TickCount()命令之間代碼所用的時間。
回看上面的代碼Dim t=tickcount(),我們先把第一次執行的存入變量t當中,然後TickCount() - t 就可以得到兩次執行的時間差。
之後把時間差和預先設定的時間比較,If TickCount() - t > 10000 Then 成立
就說明到時間了,如果不成立就是還在等待期間,此時可以執行別的任務。
(4)給腳本添加試用時間,這個也是一種「定時」,執行的操作比較特殊是關閉腳本。
我在基礎課第12課專門講的這個,感興趣的朋友,可以回到公眾號主頁回復「教程」,下載相關視頻教程。
好了本期內容就這些了,如果覺得文章還行,麻煩點個讚。
3分鐘學堂⑩群:661372264
微信:xiaomu86119