Tulong sa LibreOffice 25.8
Ang Timer sinusukat ng serbisyo ang dami ng oras na kinakailangan upang patakbuhin ang mga script ng user.
A Timer mga hakbang mga tagal . Maaari itong maging:
Nagsimula, upang ipahiwatig kung kailan magsisimulang magsukat ng oras.
Nasuspinde, upang i-pause ang pagsukat ng oras ng pagtakbo.
Ipinagpatuloy, upang ipagpatuloy ang pagsubaybay sa oras ng pagtakbo pagkatapos masuspinde ang Timer.
Na-restart, na magkansela ng mga nakaraang pagsukat at simulan ang Timer sa zero.
Ang mga tagal ay ipinahayag sa mga segundo na may katumpakan na 3 decimal digit (milliseconds). Ang halaga ng tagal na 12.345 ay nangangahulugang 12 segundo at 345 millisecond
Bago gamitin ang Timer serbisyo ang ScriptForge kailangang i-load o i-import ang library:
Ang halimbawa sa ibaba ay lumilikha ng a Timer bagay na pinangalanan myTimer at sinimulan ito kaagad.
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim myTimer As Variant
    myTimer = CreateScriptService("Timer", True)
    'Ang timer ay magsisimula kaagad kapag ang pangalawang argumento = True, default = False
  Inirerekomenda na magbakante ng mga mapagkukunan pagkatapos gamitin:
    Set myTimer = myTimer.Dispose()
  
    from scriptforge import CreateScriptService
    myTimer = CreateScriptService("Timer", start = True)
    # ...
    myTimer = myTimer.Dispose()
  | Pangalan | Readonly | Type | Mga nilalaman | 
|---|---|---|---|
| Duration | Mayroon | Double | Ang aktwal na oras ng pagtakbo ay lumipas mula noong magsimula o sa pagitan ng pagsisimula at paghinto (hindi isinasaalang-alang ang nasuspinde na oras) | 
| IsStarted | Mayroon | Boolean | totoo kapag sinimulan o nasuspinde ang timer | 
| IsSuspended | Mayroon | Boolean | totoo kapag nagsimula at nasuspinde ang timer | 
| SuspendDuration | Mayroon | Double | Lumipas ang aktwal na oras habang nasuspinde mula noong simula o sa pagitan ng pagsisimula at paghinto | 
| TotalDuration | Mayroon | Double | Ang aktwal na oras na lumipas mula nang magsimula o sa pagitan ng pagsisimula at paghinto (kabilang ang mga pagsususpinde at oras ng pagtakbo) | 
Tandaan na ang KabuuangDuration ang ari-arian ay katumbas ng pagsusuma ng Tagal at PagsuspindeDuration ari-arian.
Ang lahat ng mga pamamaraan ay hindi nangangailangan ng mga argumento at ibalik ang a Boolean halaga.
Kung ang ibinalik na halaga ay Mali , tapos walang nangyari.
| Pangalan | Mga nilalaman | Ibinalik na halaga | 
|---|---|---|
| Continue | Ipinagpapatuloy ang Timer kung ito ay nasuspinde | Mali kung ang timer ay hindi nasuspinde | 
| Restart | Tinatapos ang Timer at itinatapon ang kasalukuyang mga halaga ng ari-arian nito, na magsisimula muli bilang isang bagong malinis Timer | Mali kung hindi aktibo ang timer | 
| Start | Magsisimula ng bagong clean timer | Mali kung nagsimula na ang timer | 
| Suspend | Sinususpinde ang tumatakbong timer | Mali kung ang timer ay hindi sinimulan o nasuspinde na | 
| Terminate | Pinahinto ang tumatakbong timer | Mali kung ang timer ay hindi sinimulan o sinuspinde | 
Ang mga halimbawa sa ibaba sa Basic at Python ay naglalarawan ng paggamit ng mga pamamaraan at katangian sa Timer serbisyo.
    myTimer.Start()
    Wait 500
    myTimer.Suspend()
    'Ang oras na lumipas habang nakabukas ang Dialog box ay mabibilang bilang suspendido na oras
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
    myTimer.Continue()
    Wait 500
    'Ang oras na lumipas habang nakabukas ang Dialog box ay mabibilang bilang oras ng pagtakbo
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
    myTimer.Terminate()
    'Ipinapakita ang huling mga sukat ng oras
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
  Kung tatawagan mo ang Tapusin pamamaraan, mga kasunod na tawag para sa Magpatuloy ang pamamaraan ay hindi ipagpatuloy ang pagsukat ng oras. Katulad nito, pagkatapos na wakasan ang isang Timer, ang pagtawag sa Magsimula paraan ay i-restart ito na parang ito ay isang malinis na bagong Timer.
    from time import sleep
    bas = CreateScriptService("Basic")
    myTimer.Start()
    sleep(0.5)
    myTimer.Suspend()
    bas.MsgBox("{} {} {}".format(myTimer.Duration, myTimer.SuspendDuration, myTimer.TotalDuration))
    myTimer.Continue()
    sleep(0.5)
    bas.MsgBox("{} {} {}".format(myTimer.Duration, myTimer.SuspendDuration, myTimer.TotalDuration))
    myTimer.Terminate()
    bas.MsgBox("{} {} {}".format(myTimer.Duration, myTimer.SuspendDuration, myTimer.TotalDuration))
  Magkaroon ng kamalayan na ang Teka Ang function sa BASIC ay tumatagal ng isang tagal ng argumento sa milliseconds samantalang ang matulog Ang function sa Python ay gumagamit ng mga segundo sa argumento nito.
Posibleng mag-instantiate ng maramihan Timer mga serbisyo nang magkatulad, na nagbibigay ng flexibility sa pagsukat ng oras sa iba't ibang bahagi ng code.
Ang sumusunod na halimbawa ay naglalarawan kung paano lumikha ng dalawa Timer mga bagay at simulan ang mga ito nang hiwalay.
    Dim myTimerA as Variant, myTimerB as Variant
    myTimerA = CreateScriptService("Timer")
    myTimerB = CreateScriptService("Timer")
    'Nagsisimula ang myTimerA
    myTimerA.Start()
    Wait 1000 'Wait 1 second (1,000 milliseconds)
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'Nagsisimula ang myTimerB
    myTimerB.Start()
    Wait 1000
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'Wakasan ang parehong timer
    myTimerA.Terminate()
    myTimerB.Terminate()
  
    from time import sleep
    myTimerA = CreateScriptService("Timer")
    myTimerB = CreateScriptService("Timer")
    myTimerA.Start()
    sleep(1)
    bas.MsgBox("{} {}".format(myTimerA.Duration, myTimerB.Duration))
    myTimerB.Start()
    sleep(1)
    bas.MsgBox("{} {}".format(myTimerA.Duration, myTimerB.Duration))
    myTimerA.Terminate()
    myTimerB.Terminate()