none
請問利用vs 2005 的timer來設計每天定時的方式? RRS feed

  • 一般討論

  • 請問大家一個問題:
       我想要設計一個,每天早上七點執行的程式,目前想到的是,用timer控制項,去定時讀取現在的系統時間,如果時間是早上七點(或是超過一點點),就執行我設定的動作,請問這樣子想,是正確的嗎?如果是的話,timer控制項,會不會開了幾天後,會發生不穩的狀況呢?
       謝謝       visual basic 2005
    2009年12月27日 上午 09:39

所有回覆

  • 請參閱以下文章
    關於計時器
    http://www.dotblogs.com.tw/billchung/archive/2009/04/18/8044.aspx
    http://www.dotblogs.com.tw/billchung/archive/2009/04/19/8052.aspx
    http://www.dotblogs.com.tw/billchung/archive/2009/05/03/8277.aspx

    關於自製排程器
    http://www.dotblogs.com.tw/billchung/archive/2009/05/08/8340.aspx
    http://www.dotblogs.com.tw/billchung/archive/2009/05/13/8398.aspx

    不過. Windows 自己不是就有排程作業了嗎 ?

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年12月27日 上午 09:55
    版主
  • 如果是每天 7 點跑,用內建的排程跑,消耗的資源少,不然你會多一個程式一直在那邊浪費時間。
    一般來說,長期執行的程式中,當你需要持續監控,或工作密集到需要到半小時以內跑一次,或是 1 小時跑一次,但是跑一次要超過半小時時,這時程式開開關關已沒有太大意義,那麼才需要使用 Timer 。
    而短期跑的程式,則視需求來使用 Timer 。

    比如說你一天中只有一小時需要密集跑,會用 Timer 在一小時密集使用,時間過了就關閉,等下次排程叫起這支程式,因為這支程式有 23 小時在浪費記憶體與 CPU ,還不如把資源節省出來,也可以節省能源。

    使用 Timer 並不會不穩,但是對於長期執行的程式來說,Timer 通常會設在容許誤差 1/2 以下,或是 1 秒,比如說你的程式每小時跑一次,容許誤差 5 分鐘,則你可以兩分鐘檢查一次時間到了沒,而不是把 Timer 設為 1 小時,因為當 OS / APP 其中一個處於忙碌中時, Timer 事件可能會遺失,那就會一漏就漏一小時。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年12月27日 上午 10:16
  • Hi Bill:   
    你是說,就利用windows 中的排程,來定時執行程式就行了嗎?
    2009年12月27日 上午 10:23
  • 使用Windows 中的排程就不用另外寫關於排程的部份了, 不過如果你有興趣研究, 前面列的那些文章你可以看一看.
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年12月27日 上午 10:26
    版主
  • 這個你可以比較笨的方式來製作,用一堆timer來計時,如果要讀取系統時間,用以下程式碼

    me.label1.txt = now.tostring("HH:mm:ss") & now.millisecond

    也許我幫助不大,大是我也盡力了!
    2009年12月29日 上午 10:45
  • me.label1.txt = now.tostring("HH:mm:ss") & now.millisecond

    這輸出來會很怪... 13:25:2333333

    所以乾脆一起寫:
    me.label1.txt = now.tostring("HH:mm:ss.fff") ' f 有多種寫法,詳見線上手冊

    不過輸出時間要幹嘛?
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年12月29日 下午 02:47