ບໍລິການ ScriptForge.Timer

ບໍລິການ Timer ໃຊ້ວັດແທກໄລຍະເວລາທີ່ໃຊ້ໃນການປະມວນຜົນສະຄຣິບຂອງຜູ້ໃຊ້.

Timer ໃຊ້ວັດແທກ ໄລຍະເວລາ (durations). ມັນສາມາດ:

ໄອຄອນ ເຄັດລັບ

ໄລຍະເວລາຈະຖືກສະແດງເປັນວິນາທີ ດ້ວຍຄວາມລະອຽດທົດສະນິຍົມ 3 ຕຳແໜ່ງ (ມິນລິວິນາທີ). ຄ່າໄລຍະເວລາ 12.345 ໝາຍເຖິງ 12 ວິນາທີ ແລະ 345 ມິນລິວິນາທີ


ການເອີ້ນໃຊ້ບໍລິການ

ກ່ອນທີ່ຈະໃຊ້ບໍລິການ Timer, ໄລບຣາຣີ ScriptForge ຈະຕ້ອງຖືກໂຫຼດ ຫຼື ອິມພອດກ່ອນ:

ໄອຄອນ ບັນທຶກ

• ມາໂຄຣ Basic ຕ້ອງມີການໂຫຼດຄັງສຳນວນ ScriptForge ໂດຍໃຊ້ຄຳສັ່ງດັ່ງນີ້:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• ສະຄຣິບ Python ຕ້ອງມີການນຳເຂົ້າຈາກໂມດູນ scriptforge:
from scriptforge import CreateScriptService


ໃນ Basic

ຕົວຢ່າງລຸ່ມນີ້ແມ່ນການສ້າງອັອບເຈັກ Timer ຊື່ myTimer ແລະ ເລີ່ມເຮັດວຽກທັນທີ.


    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Dim myTimer As Variant
    myTimer = CreateScriptService("Timer", True)
    'ໂມງຈັບເວລາຈະເລີ່ມເຮັດວຽກທັນທີເມື່ອອາກິວເມນທີສອງ = True, ຄ່າເລີ່ມຕົ້ນ = False
  

ແນະນຳໃຫ້ຄືນຊັບພະຍາກອນຫຼັງຈາກໃຊ້ງານແລ້ວ:


    Set myTimer = myTimer.Dispose()
  
ໃນ Python

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

ຄຸນສົມບັດ

ຊື່

ອ່ານຢ່າງດຽວ

ປະເພດ

ຄຳອະທິບາຍ

Duration

ແມ່ນ

Double

ເວລາເຮັດວຽກຕົວຈິງທີ່ຜ່ານໄປນັບຕັ້ງແຕ່ເລີ່ມຕົ້ນ ຫຼື ລະຫວ່າງການເລີ່ມ ແລະ ຢຸດ (ບໍ່ນັບລວມເວລາທີ່ຖືກລະງັບໄວ້)

IsStarted

ແມ່ນ

Boolean

True ເມື່ອໂມງຈັບເວລາເລີ່ມຕົ້ນ ຫຼື ຖືກລະງັບໄວ້

IsSuspended

ແມ່ນ

Boolean

True ເມື່ອໂມງຈັບເວລາເລີ່ມຕົ້ນ ແລະ ຖືກລະງັບໄວ້

SuspendDuration

ແມ່ນ

Double

ເວລາຕົວຈິງທີ່ຜ່ານໄປໃນຂະນະທີ່ຖືກລະງັບໄວ້ ນັບຕັ້ງແຕ່ເລີ່ມຕົ້ນ ຫຼື ລະຫວ່າງການເລີ່ມ ແລະ ຢຸດ

TotalDuration

ແມ່ນ

Double

ເວລາຕົວຈິງທີ່ຜ່ານໄປນັບຕັ້ງແຕ່ເລີ່ມຕົ້ນ ຫຼື ລະຫວ່າງການເລີ່ມ ແລະ ຢຸດ (ລວມທັງເວລາທີ່ຖືກລະງັບ ແລະ ເວລາທີ່ກຳລັງເຮັດວຽກ)


ໄອຄອນ ເຄັດລັບ

ສັງເກດວ່າຄຸນສົມບັດ TotalDuration ແມ່ນເທົ່າກັບຜົນລວມຂອງຄຸນສົມບັດ Duration ແລະ SuspendDuration.


ວິທີການ (Methods)

ທຸກໆວິທີການບໍ່ຕ້ອງການອາກິວເມນ ແລະ ຈະສົ່ງຄ່າ Boolean ກັບຄືນມາ.

ຖ້າຄ່າທີ່ສົ່ງກັບຄືນມາແມ່ນ False, ສະແດງວ່າບໍ່ມີຫຍັງເກີດຂຶ້ນ.

ຊື່

ຄຳອະທິບາຍ

ຄ່າທີ່ສົ່ງກັບຄືນ

Continue

ສືບຕໍ່ການເຮັດວຽກຂອງ Timer ຖ້າຫາກມັນຖືກລະງັບໄວ້

False ຖ້າຫາກໂມງຈັບເວລາບໍ່ໄດ້ຖືກລະງັບໄວ້

Restart

ສິ້ນສຸດການເຮັດວຽກຂອງ Timer ແລະ ຍົກເລີກຄ່າຄຸນສົມບັດປັດຈຸບັນ, ແລ້ວເລີ່ມຕົ້ນໃໝ່ເປັນ Timer ທີ່ວ່າງເປົ່າ

False ຖ້າຫາກໂມງຈັບເວລາບໍ່ໄດ້ເຮັດວຽກ

Start

ເລີ່ມຕົ້ນໂມງຈັບເວລາໃໝ່ທີ່ວ່າງເປົ່າ

False ຖ້າຫາກໂມງຈັບເວລາໄດ້ເລີ່ມຕົ້ນແລ້ວ

Suspend

ລະງັບໂມງຈັບເວລາທີ່ກຳລັງເຮັດວຽກຢູ່

False ຖ້າຫາກໂມງຈັບເວລາບໍ່ໄດ້ເລີ່ມຕົ້ນ ຫຼື ຖືກລະງັບໄວ້ແລ້ວ

Terminate

ຢຸດໂມງຈັບເວລາທີ່ກຳລັງເຮັດວຽກຢູ່

False ຖ້າຫາກໂມງຈັບເວລາບໍ່ໄດ້ເລີ່ມຕົ້ນ ຫຼື ບໍ່ໄດ້ຖືກລະງັບໄວ້


ຕົວຢ່າງ:

ຕົວຢ່າງດ້ານລຸ່ມນີ້ໃນ Basic ແລະ Python ສະແດງໃຫ້ເຫັນເຖິງການນຳໃຊ້ວິທີການ ແລະ ຄຸນສົມບັດຕ່າງໆໃນບໍລິການ Timer.

ໃນ Basic

    myTimer.Start()
    Wait 500
    myTimer.Suspend()
    'ເວລາທີ່ຜ່ານໄປໃນຂະນະທີ່ກ່ອງໂຕ້ຕອບເປີດຢູ່ ຈະຖືກນັບເປັນເວລາທີ່ຖືກລະງັບໄວ້
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
    myTimer.Continue()
    Wait 500
    'ເວລາທີ່ຜ່ານໄປໃນຂະນະທີ່ກ່ອງໂຕ້ຕອບເປີດຢູ່ ຈະຖືກນັບເປັນເວລາທີ່ກຳລັງເຮັດວຽກ
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
    myTimer.Terminate()
    'ສະແດງການວັດແທກເວລາຂັ້ນສຸດທ້າຍ
    MsgBox myTimer.Duration & " " & myTimer.SuspendDuration & " " & myTimer.TotalDuration
  
ໄອຄອນ ບັນທຶກ

ຖ້າທ່ານເອີ້ນໃຊ້ວິທີການ Terminate, ການເອີ້ນໃຊ້ວິທີການ Continue ໃນຄັ້ງຕໍ່ໄປຈະບໍ່ສາມາດສືບຕໍ່ການວັດແທກເວລາໄດ້. ໃນທຳນອງດຽວກັນ, ຫຼັງຈາກທີ່ Timer ຖືກຢຸດແລ້ວ, ການເອີ້ນໃຊ້ວິທີການ Start ຈະເປັນການເລີ່ມຕົ້ນໃໝ່ຄືກັບວ່າມັນເປັນ Timer ໃໝ່ທີ່ວ່າງເປົ່າ.


ໃນ Python

    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))
  
ໄອຄອນ ບັນທຶກ

ໃຫ້ລະວັງວ່າ ຟັງຊັນ Wait ໃນ BASIC ຮັບຄ່າອາກິວເມນໄລຍະເວລາເປັນມິນລີວິນາທີ (milliseconds) ໃນຂະນະທີ່ຟັງຊັນ sleep ໃນ Python ໃຊ້ເປັນວິນາທີ (seconds).


ການເຮັດວຽກກັບຫຼາຍໂມງຈັບເວລາ

ມັນເປັນໄປໄດ້ທີ່ຈະສ້າງບໍລິການ Timer ຫຼາຍອັນພ້ອມກັນ, ເຊິ່ງຊ່ວຍໃຫ້ມີຄວາມຍືດຫຍຸ່ນໃນການວັດແທກເວລາໃນພາກສ່ວນຕ່າງໆຂອງໂຄ້ດ.

ຕົວຢ່າງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນເຖິງວິທີການສ້າງອັອບເຈັກ Timer ສອງອັນ ແລະ ເລີ່ມຕົ້ນການເຮັດວຽກແຍກກັນ.

ໃນ Basic

    Dim myTimerA as Variant, myTimerB as Variant
    myTimerA = CreateScriptService("Timer")
    myTimerB = CreateScriptService("Timer")
    'ເລີ່ມຕົ້ນ myTimerA
    myTimerA.Start()
    Wait 1000 'Wait 1 second (1,000 milliseconds)
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'ເລີ່ມຕົ້ນ myTimerB
    myTimerB.Start()
    Wait 1000
    MsgBox myTimerA.Duration & " " & myTimerB.Duration
    'ສິ້ນສຸດການເຮັດວຽກຂອງທັງສອງໂມງຈັບເວລາ
    myTimerA.Terminate()
    myTimerB.Terminate()
  
ໃນ Python

    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()
  
ໄອຄອນ ຄຳເຕືອນ

ຣູທີນ ຫຼື ຕົວລະບຸ Basic ຂອງ ScriptForge ທັງໝົດທີ່ຂຶ້ນຕົ້ນດ້ວຍເຄື່ອງໝາຍຂີດກ້ອງ "_" ແມ່ນສະຫງວນໄວ້ສຳລັບໃຊ້ພາຍໃນ. ພວກມັນບໍ່ໄດ້ມີໄວ້ໃຫ້ໃຊ້ໃນມາໂຄຣ Basic ຫຼື ສະຄຣິບ Python.


ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!