ScriptForge.Timer zerbitzua

Timer zerbitzuak erabiltzaile-scriptak exekutatzeak zenbat denbora behar duen neurtzen du.

Timer batek iraupena neurtzen du. Honakoak egin daitezke zerbitzu horrekin:

Iradokizun-ikonoa

Iraupena segundotan adierazten dira, 3 digitu dezimalen doitasunarekin (milisegundoak). Iraupena 12.345 bada, horrek esan nahi du 12 segundo eta 345 milisegundo direla.


Zerbitzuari deitzea

Timer zerbitzua erabiltzeko, ScriptForge liburutegia kargatu edo inportatu behar da:

note

• Basic makroak erabiltzkeo, ScriptForge liburutegia kargatu behar da honako instrukzioa erabiliz:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python scriptak erabiltzeko, berriz, scriptforge modulu baten inportazioa behar dute:
from scriptforge import CreateScriptService


Basic lengoaian

Beheko adibideak myTimer izeneko Timer objektu bat sortzen du eta berehala abiarazten du.


    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim myTimer As Variant
    myTimer = CreateScriptService("Timer", True)
    'Kronometroa berehala hasten da bigarren argumentua = True (egia) denean. Balio lehenetsia = False (gezurra)
  

Gomendagarria baliabideak askatzea haiek erabili ondoren:


    Set myTimer = myTimer.Dispose()
  
Python lengoaian

    from scriptforge import CreateScriptService
    myTimer = CreateScriptService("Timer", start = True)
    # ...
    myTimer = myTimer.Dispose()
  

Propietateak

Izena

Irakurtzeko soilik

Mota

Deskribapena

Duration

Bai

Double

Hasieratik igaro den denbora edo hasieraren eta geldiunearen artean igaro dena (ez du eten-denbora kontuan hartzen)

IsStarted

Bai

Boolean

True (egia) kronometroa hasi bada edo eten bada

IsSuspended

Bai

Boolean

True (egia) kronometroa hasi eta eten bada

SuspendDuration

Bai

Double

Kronometroa etenda egon den denbora hasieratik edo hasieraren eta geldiunearen artean

TotalDuration

Bai

Double

Hasieratik igaro den denbora edo hasieraren eta geldiunearen artean igaro dena (eten-denbora eta exekuzio-denbora kontuan hartuta)


Iradokizun-ikonoa

Kontuan izan TotalDuration propietatea eta Duration eta SuspendDuration propietateen batuketa baliokideak direla.


Metodoak

Metodoek ez dute argumenturik behar eta Boolean balio bat itzultzen dute.

Itzulitako balioa False bada, orduan ez da ezer gertatu.

Izena

Deskribapena

Itzulitako balioa

Continue

Timer berrabiarazten du, eten bada

False (faltsua) kronometroa ez bada eten

Restart

Timer objektua amaitzen du eta bere uneko propietate-balioak baztertzen ditu, eta Timer berri garbi gisa berrabiarazten du.

False (faltsua) kronometroa inaktibo badago

Start

Kronometro garbi berria abiarazten du

False (faltsua) kronometroa dagoeneko hasi bada

Suspend

Abian dagoen kronometro bat eteten du

False (faltsua) kronometroa hasi ez bada edo dagoeneko eten bada

Terminate

Abian dagoen kronometro bat gelditzen du

False (faltsua) kronometroa ez bada hasi edo eten


Adibidea:

Beheko adibideetan, Basic eta Python lengoaietan, Timer zerbitzuaren metodo eta propietateen erabilera erakusten da.

Basic lengoaian

    myTimer.Start()
    Wait 500
    myTimer.Suspend()
    'Elkarrizketa-koadroa irekita egon den bitartean igaro den denbora eten-denboratzat hartuko da
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
    myTimer.Continue()
    Wait 500
    'Elkarrizketa-koadroa irekita egon den bitartean igaro den denbora exekuzio-denboratzat hartuko da
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
    myTimer.Terminate()
    'Amaierako denbora-neurketak erakusten ditu
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
  
note

Terminate metodoari deitzen bazaio, Continue metodoari ondoren egindako deiek ez diote denboraren neurketari berrekingo. Modu berean, kronometro bat amaitzen bada, Start metodoak hura berrabiaraziko du kronometro berria bailitzan.


Python lengoaian

    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))
  
note

Kontuan izan Basic lengoaiaren Wait funtzioak iraupenaren argumentua milisegundotan zenbatzen duela, eta Python lengoaiaren sleepfuntzioak segundoak erabiltzen dituela.


Kronometro anitzekin lan egitea

Posible da Timer zerbitzu anitzen instantziak sortzea paraleloan. Horrek zalutasun gehiago eskaintzen du kodearen toki desberdinetan denbora neurtzeko.

Hurrengo adibidean, bi Timer objektu nola sortu eta bakoitza bere aldetik nola abiarazi erakusten da.

Basic lengoaian

    Dim myTimerA as Variant, myTimerB as Variant
    myTimerA = CreateScriptService("Timer")
    myTimerB = CreateScriptService("Timer")
    'myTimerA hasten du
    myTimerA.Start()
    Wait 1000 'Wait 1 second (1,000 milliseconds)
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'myTimerB hasten du
    myTimerB.Start()
    Wait 1000
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'Amaitu kronometro biak
    myTimerA.Terminate()
    myTimerB.Terminate()
  
Python lengoaian

    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()
  
warning

Azpimarraren karaktere bat, "_", aurrizki gisa duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez dira Basic makroetan edo Python scriptetan erabili behar.


Emaguzu laguntza!