LibreOffice 25.8 Hjælp
Tjenesten Timer (stopur) måler den tid, det tager at køre brugerscripts.
En Timer måler varigheder. Det kan være:
Startet, for at vise, hvornår tidstagningen starter.
Udsat, pause i målingen af den løbende tid.
Genoptaget, for at fortsætte målingen af den løbende tid, efter at timeren har været stoppet.
Genstartet, hvilket vil annullere de tidligere målinger starter Timeren fra nul.
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
Før brug af tjenesten Timer skal biblioteket ScriptForge være indlæst eller importeret:
Eksemplet herunder opretter et Timer (stopur)-objekt kaldet myTimer (mit stopur) og starter det øjeblikkeligt.
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim myTimer As Variant
    myTimer = CreateScriptService("Timer", True)
    ' Timeren starter straks, når det andet argument = True (Sand), standard = False (Falsk)
  Det anbefales at frigøre ressourcer efter brug:
    Set myTimer = myTimer.Dispose()
  
    from scriptforge import CreateScriptService
    myTimer = CreateScriptService("Timer", start = True)
    # ...
    myTimer = myTimer.Dispose()
  | Navn | Readonly (skrivebeskyttet) | Type (type) | 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) | 
Bemærk, at egenskaben TotalDuration svarer til at opsummere egenskaberne Duration og (varighed) SuspendDuration (suspender_varighed).
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.
| Navn | 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 | 
Eksemplerne herunder i Basic og Python illustrerer brugen af mtoder og egenskaber i tjenesten Timer (tidstager).
    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
  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.
    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))
  Vær opmærksom på, at funktionen Wait i Basic har input i millisekunder, mens funktionen sleep i Python bruger antal sekunder som argument.
Det er muligt at oprette flere instanser af tjenesten Timer (stopur) parallelt, hvad der giver fleksibilitet i tidtagningen i forskellige dele af koden.
Det følgende eksempel illustrerer, hvordan der kan oprettes to instanser af Timer (stopur), som 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()
  
    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()