Tjenesten ScriptForge.Timer (stopur)

Tjenesten Timer (stopur) måler den tid, det tager at køre brugerscripts.

En Timer Måler varigheder. Det kan være:

Tipikon

Varigheder udtrykkes i sekunder med en præcision på 3 decimalcifte (tusindedele af et sekund). En varighed på 12,345 betyder 12 sekunder og 345 tusindedele


Kald af tjeneste

Før du bruger tjenesten Timer (stopur) skal biblioteket ScriptForge være hentet ved hjælp af:


    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
  

Eksemplet herunder opretter et Timer (stopur)-objekt kaldet myTimer (mit stopur) og starter det øjeblikkeligt.


    Dim myTimer As Variant
    myTimer = CreateScriptService("Timer", True)
    'The timer starts immediately when the second argument = True, default = False
  

Det anbefales at frigøre ressourcer efter brug:


    Set myTimer = myTimer.Dispose()
  
note

This service is fully supported in both Basic and Python languages. All examples are expressed using the Basic programming language and can be easily converted to Python.


Properties (egenskaber)

Name (navn)

Readonly (skrivebeskyttet)

Type (type)

Description (beskrivelse)

Duration

Yes (ja)

Double

Den faktisk løbende tid, der er gået fra start eller mellem start og stop (medregner ikke tid under pauser)

IsStarted

Yes (ja)

Boolean

True (sand), når timeren er startet eller eller på pause

IsSuspended

Yes (ja)

Boolean

True (sand), når timeren er startet eller på pause

SuspendDuration

Yes (ja)

Double

Den faktiske tid under pauser siden start eller mellem start og stop

TotalDuration

Yes (ja)

Double

Den faktiske tid, der er gået efter start eller mellem start og stop (medregnet pauser og løbende tid)


Tipikon

Note that the TotalDuration property is equivalent to summing the Duration and SuspendDuration properties.


Methods (metoder)

Ikke alle metoder kræver argumenter og returnerer en Boolean (Boolsk) værdi.

Hvis den returnerede værdi er False (falsk), er der ikke sket noget.

Name (navn)

Description (beskrivelse)

Returned value (returneret værdi)

Continue

Genoptager Timeren, hvis den har været stoppet

False (falsk), hvis timeren ikke er på pause

Restart

Afslutter Timeren og kasserer dens aktuelle egenskabsværdier, mens den genstartes som en ny, ren Timer

False (falsk), hvis timeren er deaktiveret

Start

Starter en ny, ren timer

False (falsk), hvis timeren allerede er startet

Suspend

Sætter en løbende timer på pause

False (falsk), hvis timeren ikke er startet eller allerede er sat på pause

Terminate

Stopper en løbende timer

False (falsk), hvis timeren hverken er startet eller sat på pause


Eksempel:


      myTimer.Start()
      Wait 500
      myTimer.Suspend()
      'Tiden, der går, mens dialogfeltet er åbent, regnes som pausetid
      MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
      myTimer.Continue()
      Wait 500
      'Tiden, der går, mens dialogfeltet er åbent, regnes som løbende tid
      MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
      myTimer.Terminate()
      'Viser den endelige tidstagning
      MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
    
note

Hvis du kalder metoden Terminate (afslut) og efterfølgende kalder metoden Continue (fortsæt) fortsættes tidtagningen ikke. Hvis du ligeledes kalder metoden Start, efter at en timer er afsluttet, genstartes den, som om den var en ren, ny timer.


Arbejde med flere timere

Det er muligt at instantiere flere forekomster af tjenesten Timer (stopur) parallelt, hvad der giver fleksibilitet i tidtagningen i forskellige dele af koden.

Det følgende eksempel illustrerer, hvor der oprettes forekomster af objektet Timer (stopur) og startes separat.


    Dim myTimerA as Variant, myTimerB as Variant
    myTimerA = CreateScriptService("Timer")
    myTimerB = CreateScriptService("Timer")
    'Starter myTimerA
    myTimerA.Start()
    Wait 1000 'Wait 1 second (1,000 milliseconds)
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'Starter myTimerB
    myTimerB.Start()
    Wait 1000
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'Afslutter begge timere
    myTimerA.Terminate()
    myTimerB.Terminate()
  
warning

Alle ScriptForge Basic-rutiner eller identifikatorer, som indledes med et understregningstegn "_" er reserveret til internt brug. De er ikke beregnet til brug i Basic-makroer.


Funktionen Now (nu)

Funktionen Timer

Støt os venligst!