用Timer实现定时运行

书香驿站168

书香驿站168

2016-02-19 19:58

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐用Timer实现定时运行,希望大家看完后也有个好心情,快快行动吧!

  定时运行这个问题其实老早就接触到了,不过在上次的程序中似乎没有很好的解决这个问题,并且没有深入下去。这次再次碰到同样的问题,在查找了网上的资料以后,对这一问题有了比较深的理解。在程序中实现定时运行的思路:
  由timer控件实现
  两个timer控件,其中timer1负责每一分钟检查一次系统时间和设定时间的差值,如果两者相差5分钟,则继续检查,直到当相差时间小于5分钟,触发timer2,timer2的定时器时间就是这个时间间隔。当timer2到时以后,就触发主程序。具体代码

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  procedure TForm1.Button1Click(Sender: TObject);
  begin
    timer1.Interval:=60*1000;        //启动监控,每1分钟检查一次设定时间和当前时间
    timer1.Enabled:=true;
  end;

  procedure TForm1.Timer1Timer(Sender: TObject);
  var
    l_time: TDateTime;
    h_time: TDateTime;
    ss:Int64;
  begin
    timer1.enabled:=false;
    h_time:= strtotime('10:30:00');
    l_Time := time;        //now是取当前的日期加时间,time只取当前时间
    if (h_timel_time) then   begin
    ss:=SecondsBetween(h_time,l_time); //求两个时间相差多少秒
    if ss5*60 then begin         //如果时间间隔小于5分钟定时启动timer2
      timer1.Enabled:=false;
      showmessage('Inteval seconds:'+inttostr(ss));
      timer2.Interval:=ss*1000;     
      timer2.Enabled:=true;
    end;
   end
   else
      timer1.enabled:=true; 
  end;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  procedure TForm1.Timer2Timer(Sender: TObject);
  begin
    timer2.enable:=false;
    showmessage('ok on time run the program');
    // start...
    timer1.Enabled:=true;   //再次开始监控
  end;

  

展开更多 50%)
分享

猜你喜欢

用Timer实现定时运行

编程语言 网络编程
用Timer实现定时运行

如何准确定时运行ASP文件

ASP
如何准确定时运行ASP文件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

设置win7系统定时运行指定软件

电脑网络
设置win7系统定时运行指定软件

用VB实现“木马”式隐形运行程序

编程语言 网络编程
用VB实现“木马”式隐形运行程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

同时运行多个MySQL服务器的方法

编程语言 网络编程
同时运行多个MySQL服务器的方法

如何禁止Win7中播放视频时运行屏保

电脑网络
如何禁止Win7中播放视频时运行屏保

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何在win10预览版中对DPI进行调整

如何在win10预览版中对DPI进行调整

Dreamweaver一句话技巧集萃

Dreamweaver一句话技巧集萃
下拉加载更多内容 ↓