Storitev ScriptForge.Timer

Storitev Timer meri pretečeni čas ob izvajanju uporabniških skriptov.

Timer meri trajanje. Lahko je:

Ikona namiga

Trajanja so izražena v sekundah z natančnostjo 3 decimalk (t.j. milisekunde). Vrednost trajanja 12,345 pomeni 12 sekund in 345 milisekund


Priklic storitve

Pred uporabo storitve Timer je potrebno naložiti knjižnico ScriptForge na sledeč način:


    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
  

Spodnji primer ustvari predmet Timer z imenom myTimer in ga nemudoma sproži.


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

Priporočamo, da po uporabi sprostite vire:


    Set myTimer = myTimer.Dispose()
  
note

Ta storitev je v celoti podprta v jezikih Basic in Python. Vsi primeri so zapisani v programskem jeziku Basic in jih lahko enostavno pretvorite v Python.


Lastnosti

Ime

Samo za branje

Vrsta

Opis

Duration

Da

Double

Dejansko pretečeni čas izvajanja od začetka oz. med začetkom in koncem (ne vključuje trajanja morebitnih vmesnih zaustavitev).

IsStarted

Da

Boolean

True, če je merilnik časa zagnan ali začasno ustavljen.

IsSuspended

Da

Boolean

True, če je merilnik časa zagnan in začasno ustavljen.

SuspendDuration

Da

Double

Dejansko pretečeni čas med začasno ustavitvijo ali od začetka do konca.

TotalDuration

Da

Double

Dejansko pretečeni čas od začetka ali od začetka in konca (vključno začasne zaustavitve in pretekli čas)


Ikona namiga

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


Metode

Vse metode ne zahtevajo argumentov in vrnejo (logično) vrednost Boolean.

Če je vrnjena vrednost False, se ni zgodilo nič.

Ime

Opis

Vrnjena vrednost

Continue

Vključi časomer Timer, če je zaustavljen.

False, če časomer ni zaustavljen.

Restart

Ustavi časomer Timer, opusti trenutne vrednosti lastnosti in ponovno zažene kot novi časomer Timer.

False, če je časomer nedejaven.

Start

Zažene nov časomer.

False, če je časomer že zagnan.

Suspend

Začasno zaustavi tekoči časomer.

False, če časomer ni zagnan ali je že zaustavljen.

Terminate

Ustavi tekoči časomer.

False, če časomer sploh ni zagnan niti ni začasno zaustavljen.


Primer:


      myTimer.Start()
      Wait 500
      myTimer.Suspend()
      'Pretečeni čas, odkar je pogovorno okno odprto, bo šteto kot čas prekinitve
      MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
      myTimer.Continue()
      Wait 500
      'Pretečeni čas, odkar je pogovorno okno odprto, bo šteto kot čas delovanja
      MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
      myTimer.Terminate()
      'Pokaže končne meritve časa
      MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
    
note

Če kličete metodo Terminate, nadaljnji klici metode Continue ne bodo nadaljevali z merjenjem časa. Podobno po ustavitvi časomera Timer ga klic metode Start ponovno zažene, kot da gre za nov časomer Timer.


Delo z več časomeri

Možno je zagnati več vzporednih časomernih storitev Timer, kar omogoča zelo prilagodljivo merjenje časa v različnih delih kode.

Naslednji primer ilustrira izdelavo dveh časomernih predmetov Timer in njun ločen zagon.


    Dim myTimerA as Variant, myTimerB as Variant
    myTimerA = CreateScriptService("Timer")
    myTimerB = CreateScriptService("Timer")
    'Zažene časomer myTimerA
    myTimerA.Start()
    Wait 1000 'Wait 1 second (1,000 milliseconds)
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'Zažene časomer myTimerB
    myTimerB.Start()
    Wait 1000
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'Ukine oba časomera
    myTimerA.Terminate()
    myTimerB.Terminate()
  
warning

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic niso namenjeni.


Podprite nas!