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 lengoaiako Wait funtzioak milisegundoak erabiltzen dituela iraupena adierazten duen argumentuan eta Python lengoaiako sleep funtzioak, berriz, 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!