国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

用Timer實(shí)現(xiàn)定時(shí)運(yùn)行

2019-11-18 17:59:42
字體:
供稿:網(wǎng)友

定時(shí)運(yùn)行這個(gè)問題其實(shí)老早就接觸到了,不過在上次的程序中似乎沒有很好的解決這個(gè)問題,并且沒有深入下去。這次再次碰到同樣的問題,在查找了網(wǎng)上的資料以后,對(duì)這一問題有了比較深的理解。在程序中實(shí)現(xiàn)定時(shí)運(yùn)行的思路:
由timer控件實(shí)現(xiàn)
兩個(gè)timer控件,其中timer1負(fù)責(zé)每一分鐘檢查一次系統(tǒng)時(shí)間和設(shè)定時(shí)間的差值,如果兩者相差5分鐘,則繼續(xù)檢查,直到當(dāng)相差時(shí)間小于5分鐘,觸發(fā)timer2,timer2的定時(shí)器時(shí)間就是這個(gè)時(shí)間間隔。當(dāng)timer2到時(shí)以后,就觸發(fā)主程序。具體代碼

PRocedure TForm1.Button1Click(Sender: TObject);
begin
  timer1.Interval:=60*1000;        //啟動(dòng)監(jiān)控,每1分鐘檢查一次設(shè)定時(shí)間和當(dāng)前時(shí)間
  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是取當(dāng)前的日期加時(shí)間,time只取當(dāng)前時(shí)間
  if (h_time>l_time) then   begin
  ss:=SecondsBetween(h_time,l_time); //求兩個(gè)時(shí)間相差多少秒
  if ss<5*60 then begin         //如果時(shí)間間隔小于5分鐘定時(shí)啟動(dòng)timer2
    timer1.Enabled:=false;
    showmessage('Inteval seconds:'+inttostr(ss));
    timer2.Interval:=ss*1000;     
    timer2.Enabled:=true;
  end;
 end
 else
    timer1.enabled:=true; 
end;

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


上一篇:url編碼與解碼工具附代碼

下一篇:修改的一個(gè)導(dǎo)出DataSet到xls的單元

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 林州市| 望都县| 贵州省| 诸暨市| 阿拉善左旗| 抚顺市| 沅江市| 云南省| 逊克县| 延津县| 军事| 巴彦淖尔市| 呼玛县| 文安县| 南昌县| 肥西县| 广灵县| 互助| 平顶山市| 辉县市| 淮滨县| 河北区| 宜阳县| 中江县| 杂多县| 济阳县| 洛隆县| 静海县| 久治县| 彭州市| 且末县| 时尚| 沙雅县| 岚皋县| 临武县| 台南县| 新宁县| 平度市| 桦南县| 淅川县| 正阳县|