十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
Timer1.Interval = 500
創(chuàng)新互聯(lián)網(wǎng)絡公司擁有10年的成都網(wǎng)站開發(fā)建設經(jīng)驗,成百上千客戶的共同信賴。提供成都網(wǎng)站設計、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)站定制、賣友情鏈接、建網(wǎng)站、網(wǎng)站搭建、自適應網(wǎng)站建設、網(wǎng)頁設計師打造企業(yè)風格,提供周到的售前咨詢和貼心的售后服務
Private Sub Timer1_Timer()
Timer1.Enabled = False
Dim ss As String
ss = Format(Now, "HH:mm:ss")
If ss = "12:00:00" Then
'執(zhí)行備份語句
End If
Timer1.Enabled = True
End Sub
還有一個辦法就是可以用SQL自身的功能,在SQL里面可以添加任務 ,設置周期為每天,時間為12點,到時候執(zhí)行一下備份
一個程序在同一時刻只能處理一個事件,比如時鐘事件處理時間比時鐘周期長的話,它不會事件還沒處理完又被激活了,也就是在程序代碼執(zhí)行過程中不會接收新的事件。所以要把與時鐘有關的處理事物放在一個獨立的進程中,這個我也不懂,只知道建立一個對象庫,對象庫是一個獨立的進程,程序啟動后啟動對像庫時鐘。就是Activex Dll工程。
Threading.Thread.Sleep(500)這句是線程停止等待的,在這500毫秒的時間里你的任何動作都是不響應的,理論上再SendKeys.Send(TextBox2.Text)這段時間內(nèi)你可以動作,但是send是毫秒級完成的,你還沒有來得及響應就進入了下一次的循環(huán),所以跟卡死類似
解決方法:通過timer定時器延時
如果現(xiàn)在時間是19:57:00,Interval=60000,那么timer1第一次激活時間是20:03:00,早過20:00:00,所以這種方法存在很大的誤差。
既然要監(jiān)視從19:59:59到20:00:00,二者相差僅1秒,你就應該設Interval=1000才對。
這就是你要精確監(jiān)視時間所付出的代價??梢哉f,除此之外,似乎找不到其他的辦法。