SnippetsElapsedTime

Snippets

Base64StringEncoderConstants for numeric limitsDelayMicroSecondsElapsedTimeMD5ModuloRandomFloat

ElapsedTimeFUNCTION

Descrition

Returns the elapsed time between this call and the last call.

Syntax

Time.d = ElapsedTime( [Unit.d] )

Parameter

Unit (optional) The unit of the retuned time or one of the following constants:
#ElapsedTime_Second (default) Time in seconds.
#ElapsedTime_Millisecond Time in milliseconds.
#ElapsedTime_Microsecond Time in micoseconds.

Return value

The elapsed time in the specified unit.

Snippet

#ElapsedTime_Second      = 1e0
#ElapsedTime_Millisecond = 1e3
#ElapsedTime_Microsecond = 1e6

Procedure.d ElapsedTime(Unit.d=#ElapsedTime_Second)
  
  Protected Counter.q, Time.d
  Static QueryPerformanceCounter.q
  Static QueryPerformanceFrequency.q
  
  QueryPerformanceCounter_(@Counter)
  
  If QueryPerformanceFrequency = 0
    QueryPerformanceFrequency_(@QueryPerformanceFrequency)
    Time = 0.0
  Else
    Time = Unit * (Counter-QueryPerformanceCounter) / QueryPerformanceFrequency
  EndIf
  QueryPerformanceCounter = Counter
  
  ProcedureReturn Time
  
EndProcedure

Example

ElapsedTime()

Delay(100)

MessageRequester("", StrF(ElapsedTime(#ElapsedTime_Millisecond)))
Union Bytes | Login