开发者

Delphi: Simple hh:mm:ss Timer

Does anybody have a short and effective code for hh:mm:ss timer (Timer1.Interval:=1000)? I can make one but I want something efficient.

Thanks!

My Code:

Var MyTime:TTime;

MyTime:=EncodeTime(0,0,0,0);

pro开发者_开发问答cedure TForm1.Timer1Timer(Sender: TObject);
begin
MyTime:=incsecond(Mytime,1);
form1.Label1.Caption:='Time: '+TimeToStr(MyTime);
end;


Add A Var to keep track of when the timer started.

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

The procedure To start the Timer

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

In the OnTimer Event

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

This should show the correct time taken for any interval.
i.e. 5000 to show every 5 seconds, the time taken.

Note: With out testing, running the timer for longer than 24 hours might not show the correct time difference. For that I think that the datetime format string should be something like dd hh:nn:ss to show the days passed

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜