TStopWatch 基本知识
Posted bsor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TStopWatch 基本知识相关的知识,希望对你有一定的参考价值。
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 基本知识的主要内容,如果未能解决你的问题,请参考以下文章