码迷,mamicode.com
首页 > 其他好文 > 详细

TStopWatch 基本知识

时间:2018-07-27 12:15:46      阅读:361      评论:0      收藏:0      [点我收藏+]

标签:var   har   function   func   fir   its   eve   highlight   ring   

System.Diagnostics.pas:

 

Delphi includes a helpful unit called System.Diagnostics , which implements a

TStopwatch record. It allows us to measure time events with a better precision than 1
millisecond and has a pretty exhaustive public interface, as shown in the code fragment
below:

 

 TStopwatch = record
  strict private
    class var FFrequency: Int64;
    class var FIsHighResolution: Boolean;
    class var TickFrequency: Double;
  strict private
    FElapsed: Int64;
    FRunning: Boolean;
    FStartTimeStamp: Int64;
    function GetElapsed: TTimeSpan;
    function GetElapsedDateTimeTicks: Int64;
    function GetElapsedMilliseconds: Int64;
    function GetElapsedTicks: Int64;
    class procedure InitStopwatchType; static;
  public
    class function Create: TStopwatch; static;
    class function GetTimeStamp: Int64; static;
    procedure Reset;
    procedure Start;
    class function StartNew: TStopwatch; static;
    procedure Stop;
    property Elapsed: TTimeSpan read GetElapsed;
    property ElapsedMilliseconds: Int64 read GetElapsedMilliseconds;
    property ElapsedTicks: Int64 read GetElapsedTicks;
    class property Frequency: Int64 read FFrequency;
    class property IsHighResolution: Boolean read FIsHighResolution;
    property IsRunning: Boolean read FRunning;
  end;

To use a stopwatch, you first have to create it. You can call TStopwatch.Create to create a

new stopped stopwatch or TStopwatch.StartNew to create a new started stopwatch. As
TStopwatch is implemented as a record , there‘s no need to destroy a stopwatch object.
When a stopwatch is started, it is measuring time. To start a stopwatch, call the Start
method and to stop it, call the Stop method. The IsRunning property will tell you if the
stopwatch is currently started. Call the Reset method to reset the stopwatch to zero.

 

 

The TStopwatch contains a few functions that return the currently measured time. The

most precise of them is ElapsedTicks , but as there is no built-in (public) function to
convert this into standard time units, this function is hard to use. My recommendation is to
just use the ElapsedMilliseconds property which will give you elapsed (measured) time
in milliseconds.

 

TStopWatch 基本知识

标签:var   har   function   func   fir   its   eve   highlight   ring   

原文地址:https://www.cnblogs.com/BSor/p/9376439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!