时钟控件的Interval是Cardinal类型,最大值=4294967295,以1/1000秒为单位,这样计算可以最大设置触发间隔为1193小时,5分钟太少了。

解决方案 »

  1.   

    SLEEP()会不会减慢系统速度,你每几秒取系统时间,看有没有到5分钟,
      

  2.   

    你看这样行吗:
    //定义一个全局变量,用来指示时间:
    var k:integer;//初值为0;//在计时器的OnTimer事件中!begin
      k:=k+1;
      if k=300000 then begin
        //在这儿写你要实现的功能!
      
      end;
    end;计时器每秒触发一次。(当然,也可按你的需要进行设计啦!)
    是不是这方法很........^_^
      

  3.   

    可以设置每五分执行一次。但如果像上面的大哥所说,时间越长就越不准的话,你可以这样:设一个全局变量 整型如: iMyTime:Integer  初值0然后让Timer第一秒执行一次。
    在Timer执行事件里写:  iMyTime:=iMyTime+1;
      If iMyTime=300 Then
        Begin
          //在这里加上你要执行的代码
          iMyTime:=0;
        End;这样可以保证每五分钟执行一次