微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

德尔福:简单的hh:mm:ss Timer

有没有人为hh:mm:ss计时器(Timer1.Interval:= 1000)提供简短有效的代码?我可以制作一个,但我想要一些有效的东西.

谢谢!

我的代码

Var MyTime:TTime;

MyTime:=EncodeTime(0,0);

procedure TForm1.Timer1Timer(Sender: TObject);
begin
MyTime:=incsecond(Mytime,1);
form1.Label1.Caption:='Time: '+TimetoStr(MyTime);
end;

解决方法

添加一个Var以跟踪计时器何时启动.

TForm1 = class(TForm)
  private
    timerStart: TDateTime;
  public
    proceure StartTimer;
  end;

程序启动计时器

proceure TForm1.StartTimer;
beign
 timerStart := Now();
 timer1.interval = 1000;
 timer1.enabled := true;
end;

在OnTimer活动中

Label1.caption := formatdatetime('hh:nn:ss',timerStart - Now()); //nn is for minutes.

这应该显示任何间隔所需的正确时间.
即每隔5秒显示5000次,即所花费的时间.

注意:如果不进行测试,运行计时器超过24小时可能无法显示正确的时差.为此,我认为日期时间格式字符串应该类似于dd hh:nn:ss以显示过去的日期

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐