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 behar da honako kodea erabilita:


    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
  

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


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

Gomendagarria baliabideak askatzea haiek erabili ondoren:


    Set myTimer = myTimer.Dispose()
  
note

Zerbitzu hau erabat onartuta dago bai Basic bai Python lengoaietan. Adibide guztiak Basic programazio-lengoaian eman dira, baina erraz bihurtu daitezke Python lengoaiara.


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

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


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:


      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.


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.


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

Aurrizki gisa azpimarra bat ("_") duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez daude Basic makroetan erabiltzeko pentsatuta.


Emaguzu laguntza!