[Delphi]统计时间StopWatch类

Delphi 现在提供了秒表类TStopWatch,用于统计程序使用的时间。其实,看这个类的实现接口,实际就是实现了C#,Java中早就有的StopWatch类。

这样我们就可以放弃gettickcount函数了。

记得引用System.Diagnostics单元。

 var NewTime: TStopwatch;

    ……

  1. Create:建立一个实例
  2. Reset:复位
  3. Start:开始计时
  4. StartNew:返回一个新的实例
  5. Stop:停止计时
  6. Elapsed:消耗的时间,属性有年月日时分秒。


Stopwatch提供了上面几个方法,来控制stopwatch对象。Start方法开始一个计时操作,stop方法停止计时。此时如果第二次使用start方法,将继续计时,最终计时的结果为两次计时的累加。如果你不需要累加,则每次计时时,使用Reset方法将对象清零。通过IsRunning可以确定stopwatch的当前运行状态。

计时结束后,通过以下属性读取用时:

  • Elapsed:表示时间间隔;这是一个TTimeSpan类,通过这个类,可以直接取得所有的天数、小时、分钟、秒等值,方便多了。
  • ElapsedMillinseconds:返回计时经过的微妙数;
  • ElapsedTicks:返回计时经过的计时器刻度(timer tick)数。计时器刻度时stopwatch对象可能的最小量度单位。计时器刻度时间的长度由特定的计算机和操作系统确定。
分享到: