ເນື້ອໃນ

# ບໍລິການ ScriptForge.Services

ຈຸດປະສົງຫຼັກຂອງໂມດູນ Services ແມ່ນເພື່ອໃຫ້ສາມາດເຂົ້າເຖິງເມທອດ CreateScriptService, ເຊິ່ງສາມາດເອີ້ນໃຊ້ໃນສະຄຣິບຂອງຜູ້ໃຊ້ເພື່ອສ້າງອິນສະແຕນຊ໌ຂອງບໍລິການຕ່າງໆທີ່ຖືກສ້າງຂຶ້ນໂດຍໃຊ້ໂຄງຮ່າງ ScriptForge.

ໃນຄຳສັບຂອງ ScriptForge, ບໍລິການ (service) ແມ່ນການລວບລວມເມທອດ ແລະ ຄຸນສົມບັດຕ່າງໆທີ່ສາມາດນຳໃຊ້ເພື່ອຈຸດປະສົງໃດໜຶ່ງ. ຕົວຢ່າງ: ບໍລິການ String ໃຫ້ເມທອດສຳລັບການຈັດການຂໍ້ຄວາມ (strings), ໃນຂະນະທີ່ບໍລິການ FileSystem ຊ່ວຍໃຫ້ສາມາດຈັດການໄຟລ໌ ແລະ ໂຟນເດີໄດ້.

ໂມດູນ Services ຂອງໄລບຣາຣີ ScriptForge ໃຫ້ເມທອດເພີ່ມເຕີມທີ່ໃຊ້ພາຍໃນເພື່ອລົງທະບຽນບໍລິການທີ່ມີຢູ່ ຫຼື ໃຊ້ໂດຍນັກພັດທະນາທີ່ຕ້ອງການຂະຫຍາຍ ScriptForge ໂດຍການສ້າງບໍລິການໃໝ່. ເມທອດດຽວທີ່ກ່ຽວຂ້ອງກັບສະຄຣິບຂອງຜູ້ໃຊ້ແມ່ນ CreateScriptService.

## CreateScriptService

ເມທອດນີ້ໃຊ້ເພື່ອສ້າງອິນສະແຕນຊ໌ຂອງບໍລິການ ScriptForge ເພື່ອໃຫ້ສາມາດເອີ້ນໃຊ້ໃນສະຄຣິບຂອງຜູ້ໃຊ້ໄດ້.

ຄ່າທີ່ສົ່ງຄືນແມ່ນອັອບເຈັກ Basic ຫຼື Nothing ຖ້າເກີດຂໍ້ຜິດພາດ.

### ໄວຍາກອນ:

svc.CreateScriptService(service: str, [arg0: any] ...): svc

### ພາຣາມິເຕີ:

service: ຊື່ຂອງບໍລິການທີ່ລະບຸເປັນສະຕຣິງໃນຮູບແບບ "library.service":

- library ແມ່ນໄລບຣາຣີ Basic ທີ່ຕ້ອງມີຢູ່ໃນ GlobalScope. ຄ່າເລີ່ມຕົ້ນແມ່ນ "ScriptForge".

- service ແມ່ນໜຶ່ງໃນບໍລິການທີ່ລົງທະບຽນໂດຍໄລບຣາຣີ ScriptForge.

arg0, ...: ລາຍການອາຄິວເມນ (arguments) ທີ່ຈຳເປັນສຳລັບບໍລິການທີ່ຖືກເອີ້ນ.

ຖ້າອາຄິວເມນທຳອິດອ້າງອີງເຖິງຕົວຈັດການເຫດການ (event manager), arg0 ແມ່ນຈຳເປັນ ແລະ ຕ້ອງເປັນອັອບເຈັກ UNO ທີ່ສະແດງເຖິງເຫດການທີ່ສົ່ງໃຫ້ມາໂຄຣຂອງຜູ້ໃຊ້.

### ຕົວຢ່າງ:

##### ໃນ Basic

        GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
        ' ເຮັດພຽງຄັ້ງດຽວ
        Dim svc As Object
        Set svc = CreateScriptService("Array")
        ' ອ້າງອີງເຖິງບໍລິການ "ScriptForge.Array" ຫຼື SF_Array
        Set svc = CreateScriptService("ScriptForge.Dictionary")
        ' ສົ່ງຄືນອິນສະແຕນຊ໌ໃໝ່ຂອງຄລາສ dictionary ທີ່ວ່າງເປົ່າ; "ScriptForge." ແມ່ນຈະໃສ່ຫຼືບໍ່ກໍໄດ້
        Set svc = CreateScriptService("SFDocuments.Calc")
        ' ອ້າງອີງເຖິງບໍລິການ Calc, ເຊິ່ງຖືກສ້າງຂຶ້ນໃນໄລບຣາຣີ SFDocuments ທີ່ກ່ຽວຂ້ອງ
        Set svc = CreateScriptService("Timer", True)
        ' ສົ່ງຄືນອິນສະແຕນຊ໌ຂອງຄລາສ Timer ທີ່ເລີ່ມເຮັດວຽກທັນທີ
        Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
        ' ອ້າງອີງເຖິງບໍລິການ DocumentEvent ທີ່ຖືກສ້າງຂຶ້ນໃນໄລບຣາຣີ SFDocuments ທີ່ກ່ຽວຂ້ອງ
        ' ສົ່ງຄືນອິນສະແຕນຊ໌ຂອງຄລາສ Document ທີ່ເຮັດໃຫ້ເກີດເຫດການ

##### ໃນ Python

        from scriptforge import CreateScriptService
        svc = CreateScriptService("Array")
        svc = CreateScriptService("ScriptForge.Dictionary")
        svc = CreateScriptService("SFDocuments.Calc")
        svc = CreateScriptService("Timer", True)
        svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)

ສະຄຣິບ Python ຮອງຮັບ keyword arguments ເມື່ອເອີ້ນໃຊ້ CreateScriptService. ຕົວຢ່າງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນເຖິງແນວຄິດນີ້ໂດຍການສ້າງອິນສະແຕນຊ໌ຂອງບໍລິການ Timer ແລະ Document ໂດຍໃຊ້ keyword arguments.

        from scriptforge import CreateScriptService
        # Timer
        my_timer = CreateScriptService("Timer", start = True)
        # Document
        my_doc = CreateScriptService("Document", windowname = "some_file.ods")

ເພື່ອເຮັດໃຫ້ການຂຽນສະຄຣິບ Python ມີຄວາມຄ່ອງຕົວຂຶ້ນ, ScriptForge ໄດ້ໃຫ້ບໍລິການ Basic ເຊິ່ງຊ່ວຍໃຫ້ສະຄຣິບ Python ສາມາດເອີ້ນໃຊ້ເມທອດຕ່າງໆທີ່ມີໄວຍາກອນ ແລະ ຄວາມໝາຍຄືກັນກັບຟັງຊັນ Basic ດັ້ງເດີມທີ່ມີຊື່ຄືກັນ.

ຕົວຢ່າງຕໍ່ໄປນີ້ແມ່ນການສ້າງອິນສະແຕນຊ໌ຂອງບໍລິການ Basic ແລະ ເອີ້ນໃຊ້ເມທອດ MsgBox, ເຊິ່ງທຽບເທົ່າກັບຟັງຊັນ MsgBox ທີ່ມີຢູ່ໃນ Basic:

        from scriptforge import CreateScriptService
        bas = CreateScriptService("Basic")
        bas.MsgBox("Hello World!")

ກະລຸນາຮັບຊາບວ່າບໍລິການ Basic ຈະຕ້ອງຖືກສ້າງອິນສະແຕນຊ໌ໃນສະຄຣິບ Python ໂດຍໃຊ້ເມທອດ CreateScriptService.

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

ຫົວຂໍ້ທີ່ກ່ຽວຂ້ອງ

ການບໍລິການ ScriptForge.Basic

ຄຳສັ່ງ Set

GlobalScope specifier

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