ການຊ່ວຍເຫຼືອ LibreOffice 26.2
ຈຸດປະສົງຫຼັກຂອງໂມດູນ Services ແມ່ນເພື່ອໃຫ້ສາມາດເຂົ້າເຖິງເມທອດ CreateScriptService, ເຊິ່ງສາມາດເອີ້ນໃຊ້ໃນສະຄຣິບຂອງຜູ້ໃຊ້ເພື່ອສ້າງອິນສະແຕນຊ໌ຂອງບໍລິການຕ່າງໆທີ່ຖືກສ້າງຂຶ້ນໂດຍໃຊ້ໂຄງຮ່າງ ScriptForge.
ໃນຄຳສັບຂອງ ScriptForge, ບໍລິການ (service) ແມ່ນການລວບລວມເມທອດ ແລະ ຄຸນສົມບັດຕ່າງໆທີ່ສາມາດນຳໃຊ້ເພື່ອຈຸດປະສົງໃດໜຶ່ງ. ຕົວຢ່າງ: ບໍລິການ String ໃຫ້ເມທອດສຳລັບການຈັດການຂໍ້ຄວາມ (strings), ໃນຂະນະທີ່ບໍລິການ FileSystem ຊ່ວຍໃຫ້ສາມາດຈັດການໄຟລ໌ ແລະ ໂຟນເດີໄດ້.
ໂມດູນ Services ຂອງໄລບຣາຣີ ScriptForge ໃຫ້ເມທອດເພີ່ມເຕີມທີ່ໃຊ້ພາຍໃນເພື່ອລົງທະບຽນບໍລິການທີ່ມີຢູ່ ຫຼື ໃຊ້ໂດຍນັກພັດທະນາທີ່ຕ້ອງການຂະຫຍາຍ ScriptForge ໂດຍການສ້າງບໍລິການໃໝ່. ເມທອດດຽວທີ່ກ່ຽວຂ້ອງກັບສະຄຣິບຂອງຜູ້ໃຊ້ແມ່ນ 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 ທີ່ສະແດງເຖິງເຫດການທີ່ສົ່ງໃຫ້ມາໂຄຣຂອງຜູ້ໃຊ້.
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 ທີ່ເຮັດໃຫ້ເກີດເຫດການ
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.