我想做一个定时执行某一段代码的工具
定时的间隔很长 一天只执行2次这样的一个程序,需要用什么控件,怎么样的一个思路?

解决方案 »

  1.   

    用一个Timer
    再加一个记录次数的变量就可以了
      

  2.   

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
       if timetostr(time)='00:00:00' or timetostr(time)='12:00:00' then
       begin
          …………
       end;
    end;
      

  3.   

    因为Timer时刻不会非常准确,所以测试时间时最好给一个时间区间,比如20秒查一次时间,那么时间在你要的时刻的20秒之内即可,即用数学的话说,与你的时刻的差的绝对值小于20秒。
      

  4.   

    同意 kingzhang(凯撒大帝)
      

  5.   

    虽然我不喜欢TIMER但是看来也只能这样了
      

  6.   

    可以用APPLICATION 的ONIDLE 事件,
    在此事件中检测当前系统时间是否与你设置的时间吻合(用上面一位朋友的话,要用时间断,不要用很确定的HHMMSS来判断),这样,你想他什么时候运行都行
    当然,用TIMER也是一样的,并且TIMER比APPLITION.ONIDLE更准确,但有一点好处是ONIDLE不耗资源,TIMER(定时器是一种系统资源)