ເນື້ອໃນ

# ຄັງສຳນວນ ScriptForge

ເພື່ອເຂົ້າເຖິງຄຳສັ່ງນີ້...

ເປີດ ເຄື່ອງມື - ມາໂຄຣ - LibreOfficeDev Basic - ແກ້ໄຂ ແລະ ເລືອກບ່ອນເກັບ ມາໂຄຣຂອງແອັບພລິເຄຊັນ.

ຄັງສຳນວນ ScriptForge ສ້າງຊຸດຊັບພະຍາກອນການຂຽນສະຄຣິບມາໂຄຣທີ່ສາມາດຂະຫຍາຍໄດ້ສຳລັບ LibreOfficeDev ເພື່ອເອີ້ນໃຊ້ຈາກມາໂຄຣ Basic ຫຼື ສະຄຣິບ Python.

• ມາໂຄຣ Basic ຕ້ອງມີການໂຫຼດຄັງສຳນວນ ScriptForge ໂດຍໃຊ້ຄຳສັ່ງດັ່ງນີ້:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• ສະຄຣິບ Python ຕ້ອງມີການນຳເຂົ້າຈາກໂມດູນ scriptforge:
from scriptforge import CreateScriptService

ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບວິທີສ້າງ ແລະ ປະຕິບັດການສະຄຣິບ Python ໂດຍໃຊ້ຄັງສຳນວນ ScriptForge, ໃຫ້ອ່ານໜ້າຊ່ວຍເຫຼືອ ການສ້າງສະຄຣິບ Python ດ້ວຍ ScriptForge.

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

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

ວິທີການ Dispose ມີໃຫ້ໃຊ້ໃນທຸກການບໍລິການ ແລະ ຄວນຖືກເອີ້ນໃຊ້ເພື່ອຄືນຊັບພະຍາກອນຫຼັງຈາກໃຊ້ງານແລ້ວ:

##### ໃນ Basic

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
        ' ...
        oSvc.Dispose()

##### ໃນ Python

        from scriptforge import CreateScriptService
        svc = CreateScriptService('servicename'[, arg0, arg1, ...])
        # ...
        svc.Dispose()

## ການບໍລິການທີ່ສະໜອງໃຫ້ໂດຍຄັງສຳນວນ ScriptForge

ໝວດໝູ່ | ການບໍລິການ
--- | ---
LibreOfficeDev Basic | Array Dictionary | Exception FileSystem | String TextStream
ເນື້ອໃນເອກະສານ | Base Calc Chart | Database Dataset Datasheet | Document FormDocument Writer
ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ | ContextMenu Dialog DialogControl Form | FormControl Menu PopupMenu | Toolbar ToolbarButton UI
ເຄື່ອງມືອຳນວຍຄວາມສະດວກ | Basic L10N Platform | Region Services Session | Timer UnitTest

## ການບໍລິການ ScriptForge.Array

ສະໜອງຊຸດວິທີການສຳລັບການຈັດການ ແລະ ປ່ຽນແປງອາເຣແບບໜຶ່ງມິຕິ (ເວັກເຕີ) ແລະ ອາເຣແບບສອງມິຕິ (ມາຕຣິກ). ເຊິ່ງລວມເຖິງການດຳເນີນການແບບເຊັດ (Set), ການຈັດລຽງ, ການນຳເຂົ້າຈາກ ແລະ ການສົ່ງອອກໄປຍັງໄຟລ໌ຂໍ້ຄວາມ.

ອາເຣທີ່ມີຫຼາຍກວ່າສອງມິຕິບໍ່ສາມາດໃຊ້ກັບວິທີການໃນການບໍລິການນີ້ໄດ້, ຍົກເວັ້ນພຽງແຕ່ວິທີການ CountDims ທີ່ຮອງຮັບອາເຣທີ່ມີຈຳນວນມິຕິເທົ່າໃດກໍໄດ້.

## ການບໍລິການ SFDocuments.Base

ການບໍລິການ Base ສະໜອງວິທີການ ແລະ ຄຸນສົມບັດຫຼາຍຢ່າງເພື່ອອຳນວຍຄວາມສະດວກໃນການຈັດການ ແລະ ຄວບຄຸມເອກະສານ LibreOfficeDev Base.

ການບໍລິການນີ້ກ່ຽວຂ້ອງຢ່າງໃກ້ຊິດກັບການບໍລິການ Document, ເຊິ່ງສະໜອງວິທີການທົ່ວໄປສຳລັບການຈັດການເອກະສານ LibreOfficeDev, ລວມທັງເອກະສານ Base. ດັ່ງນັ້ນ, ການບໍລິການ Base ຈຶ່ງເປັນສ່ວນຂະຫຍາຍຂອງການບໍລິການ Document ແລະ ສະໜອງວິທີການເພີ່ມເຕີມທີ່ສະເພາະເຈາະຈົງສຳລັບເອກະສານ Base, ຊ່ວຍໃຫ້ຜູ້ໃຊ້ສາມາດ:

- ເຂົ້າເຖິງຖານຂໍ້ມູນທີ່ຢູ່ໃນເອກະສານ Base.

- ເປີດເອກະສານຟອມທີ່ເກັບໄວ້ໃນເອກະສານ Base.

- ກວດສອບວ່າເອກະສານຟອມຈາກເອກະສານ Base ຖືກໂຫຼດຢູ່ຫຼືບໍ່.

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

ການບໍລິການ ScriptForge.Basic ສະເໜີຊຸດວິທີການຂອງ LibreOfficeDev Basic ເພື່ອໃຫ້ປະຕິບັດການໃນສະພາບແວດລ້ອມຂອງ Python. ວິທີການຂອງການບໍລິການ Basic ຈະມີຮູບແບບຄຳສັ່ງ ແລະ ພຶດຕິກຳທີ່ຄືກັນກັບຟັງຊັນທີ່ມາພ້ອມກັບ Basic.

## ບໍລິການ SFDocuments.Calc

ໄລບຣາຣີທີ່ໃຊ້ຮ່ວມກັນ SFDocuments ມີຫຼາຍເມທອດ ແລະ ຄຸນສົມບັດ ເພື່ອອຳນວຍຄວາມສະດວກໃນການຈັດການ ແລະ ການດຳເນີນການກັບເອກະສານ LibreOfficeDev.

ບໍລິການ SFDocuments.Calc ແມ່ນຄລາດຍ່ອຍ (subclass) ຂອງບໍລິການ SFDocuments.Document. ເມທອດ ແລະ ຄຸນສົມບັດທັງໝົດທີ່ກຳນົດໄວ້ສຳລັບບໍລິການ Document ຍັງສາມາດເຂົ້າເຖິງໄດ້ໂດຍໃຊ້ອິນສະແຕນຊ໌ຂອງບໍລິການ Calc.

ບໍລິການ Calc ເນັ້ນໃສ່:

- ການຈັດການແຜ່ນງານພາຍໃນເອກະສານ Calc (ສຳເນົາ, ແຊກ, ຍ້າຍ, ແລະ ອື່ນໆ)

- ການແລກປ່ຽນຂໍ້ມູນລະຫວ່າງໂຄງສ້າງຂໍ້ມູນ Basic ແລະ ຊ່ວງຂອງ Calc

- ການສຳເນົາ ແລະ ການນຳເຂົ້າຂໍ້ມູນຈຳນວນມະຫາສານ

- ການຈັດຮູບແບບຊ່ວງເຊວແບບງ່າຍໆ

## ບໍລິການ SFDocuments.Chart

ບໍລິການ Chart ສະໜອງຄຸນສົມບັດ ແລະ ວິທີການຕ່າງໆເພື່ອຈັດການແຜນພູມໃນເອກະສານ Calc. ດ້ວຍບໍລິການນີ້, ທ່ານສາມາດ:

- ເຂົ້າເຖິງອັອບເຈັກແຜນພູມໃນເອກະສານ Calc ແລະ ຈັດການຄຸນສົມບັດຂອງພວກມັນ.

- ສ້າງ ແລະ ແຊກແຜນພູມໃໝ່ລົງໃນເອກະສານ Calc.

- ສົ່ງອອກແຜນພູມເປັນໄຟລ໌ຮູບພາບ.

## ບໍລິການ SFWidgets.ContextMenu

ເມນູຄລິກຂວາ (Context menus) ຖືກກຳນົດໄວ້ລ່ວງໜ້າຕັ້ງແຕ່ຕອນຕິດຕັ້ງ LibreOfficeDev. ທ່ານສາມາດປັບແຕ່ງພວກມັນໄດ້ໃນກ່ອງໂຕ້ຕອບ Tools + Customize.

ບໍລິການ ContextMenu ມີຄວາມສາມາດດັ່ງນີ້:

- ປ່ຽນແທນລາຍການເມນູທັງໝົດຂອງເມນູຄລິກຂວາໃດໜຶ່ງເປັນການຊົ່ວຄາວ.

- ເພີ່ມລາຍການເມນູໃໝ່ໄວ້ທາງລຸ່ມຂອງເມນູຄລິກຂວາທີ່ກຳນົດໄວ້ລ່ວງໜ້າເປັນການຊົ່ວຄາວ.

- ເຮັດໃຫ້ເມນູຄລິກຂວາຢຸດເຮັດວຽກຊົ່ວຄາວ.

## ບໍລິການ SFDatabases.Database

ບໍລິການ Database ຊ່ວຍໃຫ້ສາມາດເຂົ້າເຖິງຖານຂໍ້ມູນ ທັງແບບທີ່ຝັງຢູ່ ຫຼື ແບບທີ່ຖືກອະທິບາຍໃນເອກະສານ Base. ບໍລິການນີ້ສະໜອງວິທີການຕ່າງໆເພື່ອ:

- ເຂົ້າເຖິງຂໍ້ມູນໃນຕາຕະລາງຖານຂໍ້ມູນ.

- ເອີ້ນໃຊ້ຄຳສັ່ງສອບຖາມ SELECT ແລະ ດຳເນີນການຟັງຊັນການຄິດໄລ່ກຸ່ມຂໍ້ມູນ (aggregate functions).

- ເອີ້ນໃຊ້ຄຳສັ່ງ SQL ຕ່າງໆ ເຊັ່ນ INSERT, UPDATE, DELETE, ແລະ ອື່ນໆ.

## ບໍລິການ SFDatabases.Dataset

ບໍລິການ Dataset ຖືກໃຊ້ເພື່ອສະແດງຂໍ້ມູນຕາຕະລາງທີ່ສ້າງຂຶ້ນໂດຍຖານຂໍ້ມູນ. ດ້ວຍບໍລິການນີ້ ມັນເປັນໄປໄດ້ທີ່ຈະ:

- ນຳທາງຜ່ານ ແລະ ເຂົ້າເຖິງຂໍ້ມູນໃນຊຸດຂໍ້ມູນ (dataset).

- ອັບເດດ, ແຊກ ແລະ ລຶບຂໍ້ມູນໃນຊຸດຂໍ້ມູນ.

## ບໍລິການ SFDatabases.Datasheet

ບໍລິການ Datasheet ຊ່ວຍໃຫ້ສາມາດເບິ່ງເນື້ອໃນຂອງຕາຕະລາງຖານຂໍ້ມູນ ຕະຫຼອດຮອດຜົນຂອງການສອບຖາມ (query) ແລະ ຄຳສັ່ງ SQL ໂດຍໃຊ້ Data View ຂອງ Base. ນອກຈາກນັ້ນ, ບໍລິການນີ້ຍັງຊ່ວຍໃຫ້ສາມາດ:

- ເພີ່ມເມນູທີ່ກຳນົດເອງໃສ່ໃນ data view.

- ເຂົ້າເຖິງຄ່າໃນຕຳແໜ່ງທີ່ລະບຸຂອງ data view.

- ວາງຕຳແໜ່ງເຄີເຊີໃນເຊລ (cell) ທີ່ລະບຸຂອງ data view.

## ບໍລິການ SFDialogs.Dialog

ບໍລິການ Dialog ຊ່ວຍໃນການຈັດການໄດອາລັອກ (dialog) ທີ່ສ້າງຂຶ້ນດ້ວຍ Basic Dialog Editor ຫຼື ໄດອາລັອກທີ່ສ້າງຂຶ້ນແບບທັນທີ (on-the-fly). ແຕ່ລະອິນສະແຕນຊ໌ຂອງຄລາສປັດຈຸບັນແມ່ນຕົວແທນຂອງກ່ອງໄດອາລັອກດຽວທີ່ສະແດງໃຫ້ຜູ້ໃຊ້ເຫັນ.

## ບໍລິການ SFDialogs.DialogControl

ບໍລິການ DialogControl ຈັດການຕົວຄວບຄຸມຕ່າງໆທີ່ເປັນຂອງໄດອາລັອກທີ່ກຳນົດດ້ວຍ Dialog Editor ຂອງ Basic. ແຕ່ລະອິນສະແຕນຊ໌ຂອງບໍລິການປັດຈຸບັນແທນຕົວຄວບຄຸມດ່ຽວພາຍໃນກ່ອງໄດອາລັອກ.

ຈຸດປະສົງຫຼັກແມ່ນຢູ່ທີ່ການດຶງຄ່າ ແລະ ຕັ້ງຄ່າທີ່ສະແດງໂດຍຕົວຄວບຄຸມຂອງກ່ອງໄດອາລັອກ. ການຈັດຮູບແບບສາມາດເຂົ້າເຖິງໄດ້ຜ່ານຄຸນສົມບັດ XControlModel ແລະ XControlView.

ໝາຍເຫດວ່າ ເນື້ອໃນຂອງຄຸນສົມບັດ DialogControl.Value ຈະແຕກຕ່າງກັນໄປຕາມປະເພດຕົວຄວບຄຸມ.

ມີການໃຫ້ຄວາມສຳຄັນເປັນພິເສດຕໍ່ຕົວຄວບຄຸມປະເພດຕົ້ນໄມ້ (tree control). ມັນງ່າຍທີ່ຈະຕື່ມຂໍ້ມູນໃສ່ຕົ້ນໄມ້, ບໍ່ວ່າຈະເປັນເທື່ອລະກິ່ງ ຫຼື ຫຼາຍກິ່ງພ້ອມກັນ. ການຕື່ມຂໍ້ມູນໃສ່ຕົວຄວບຄຸມຕົ້ນໄມ້ສາມາດເຮັດໄດ້ທັງແບບຄົງທີ່ (statically) ຫຼື ແບບໄດນາມິກ (dynamically).

## ບໍລິການ ScriptForge.Dictionary

ດິກຊັນນາຣີ (dictionary) ແມ່ນການຮວບຮວມຂອງຄູ່ ຄີ-ລາຍການ (key-item pairs)

- ຄີ (key) ແມ່ນຂໍ້ຄວາມ. ໃນສະຄຣິບ Basic, ການແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່ຂອງຄີແມ່ນຖືກກຳນົດຕອນສ້າງ Dictionary. ໃນສະຄຣິບ Python, ຄີຈະແຍກຕົວອັກສອນນ້ອຍ-ໃຫຍ່ສະເໝີ.

- ລາຍການ (Items) ສາມາດເປັນປະເພດໃດກໍໄດ້

## ບໍລິການ SFDocuments.Document

ຫ້ອງສະໝຸດ SFDocuments ໃຫ້ວິທີການ ແລະ ຄຸນສົມບັດຕ່າງໆເພື່ອອຳນວຍຄວາມສະດວກໃນການຈັດການ ແລະ ຈັດການເອກະສານຂອງ LibreOfficeDev.

ວິທີການທີ່ໃຊ້ໄດ້ກັບເອກະສານທຸກປະເພດ (ເອກະສານຂໍ້ຄວາມ, ສະເປຣດຊີດ, ງານນຳສະເໜີ ແລະ ອື່ນໆ) ແມ່ນມີໃຫ້ໂດຍບໍລິການ SFDocuments.Document. ຕົວຢ່າງບາງອັນແມ່ນ:

- ການເປີດ, ປິດ ແລະ ບັນທຶກເອກະສານ

- ການເຂົ້າເຖິງຄຸນສົມບັດມາດຕະຖານ ຫຼື ຄຸນສົມບັດທີ່ກຳນົດເອງຂອງເອກະສານ

## ບໍລິການ ScriptForge.Exception

ບໍລິການ Exception ແມ່ນການລວບລວມວິທີການຕ່າງໆເພື່ອຊ່ວຍໃນການດີບັກລະຫັດໃນສະຄຣິບ Basic ແລະ Python ແລະ ໃນການຈັດການຂໍ້ຜິດພາດໃນສະຄຣິບ Basic.

ໃນ ສະຄຣິບ Basic, ເມື່ອເກີດຂໍ້ຜິດພາດໃນເວລາເຮັດວຽກ (run-time error), ວິທີການ ແລະ ຄຸນສົມບັດຂອງບໍລິການ Exception ຈະຊ່ວຍລະບຸສະພາບການຂອງຂໍ້ຜິດພາດ ແລະ ອະນຸຍາດໃຫ້ຈັດການກັບມັນໄດ້.

## ບໍລິການ ScriptForge.FileSystem

ບໍລິການ FileSystem ລວມມີຣູທີນຕ່າງໆເພື່ອຈັດການໄຟລ໌ ແລະ ໂຟນເດີ. ຕໍ່ໄປນີ້ແມ່ນບາງຕົວຢ່າງຂອງຄຸນສົມບັດທີ່ບໍລິການນີ້ສະໜອງໃຫ້:

- ກວດສອບວ່າໄຟລ໌ ຫຼື ໂຟນເດີມີຢູ່ແລ້ວບໍ່.

- ສ້າງ ແລະ ລຶບໂຟນເດີ ແລະ ໄຟລ໌.

- ເປີດປ່ອງຢ້ຽມໂຕ້ຕອບເພື່ອ ເປີດ/ບັນທຶກ ໄຟລ໌.

- ເຂົ້າເຖິງລາຍຊື່ໄຟລ໌ໃນໂຟນເດີ, ແລະ ອື່ນໆ.

## ບໍລິການ SFDocuments.Form

ບໍລິການ Form ສະໜອງວິທີການ ແລະ ຄຸນສົມບັດຕ່າງໆເພື່ອຈັດການຟອມໃນເອກະສານ LibreOfficeDev. ບໍລິການນີ້ຮອງຮັບຟອມໃນ Base, Calc ແລະ Writer ແລະ ອະນຸຍາດໃຫ້:

- ເປີດ ແລະ ເປີດໃຊ້ງານຟອມ.

- ນຳທາງຜ່ານບັນທຶກ (records) ທີ່ສະແດງໂດຍຟອມ.

- ເຂົ້າເຖິງຕົວຄວບຄຸມຕ່າງໆພາຍໃນຟອມ.

- ເຂົ້າເຖິງຟອມຍ່ອຍ (subforms) ຂອງຟອມແມ່.

## ບໍລິການ SFDocuments.FormControl

ບໍລິການ FormControl ໃຫ້ການເຂົ້າເຖິງຕົວຄວບຄຸມ (controls) ທີ່ເປັນຂອງຟອມ, ຟອມຍ່ອຍ ຫຼື ຕົວຄວບຄຸມຕາຕະລາງຂອງ FormDocument. ແຕ່ລະອິນສະແຕນຊ໌ຂອງບໍລິການ FormControl ຈະອ້າງອີງເຖິງຕົວຄວບຄຸມດຽວໃນຟອມ. ບໍລິການນີ້ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດ:

- ເອົາຄ່າ ແລະ ກຳນົດຄຸນສົມບັດຂອງຕົວຄວບຄຸມທີ່ສະແດງໂດຍອິນສະແຕນຊ໌ FormControl.

- ເຂົ້າເຖິງຄ່າປັດຈຸບັນທີ່ສະແດງໂດຍຕົວຄວບຄຸມ.

- ກຳນົດໂຟກັດໃຫ້ກັບຕົວຄວບຄຸມທີ່ຕ້ອງການ.

## ບໍລິການ SFDocuments.FormDocument

ບໍລິການ FormDocument ອະນຸຍາດໃຫ້ເຂົ້າເຖິງເອກະສານຟອມທີ່ເກັບໄວ້ໃນເອກະສານ LibreOfficeDev Base.

ໃນເອກະສານ Base, ເອກະສານຟອມທີ່ມີຢູ່ສາມາດເບິ່ງໄດ້ໂດຍການເລືອກ View - Forms ໃນສ່ວນຕິດຕໍ່ຜູ້ໃຊ້. ແຕ່ລະເອກະສານຟອມອາດປະກອບດ້ວຍຟອມໜຶ່ງ ຫຼື ຫຼາຍຟອມ, ລວມທັງຟອມຫຼັກ ແລະ ຟອມຍ່ອຍອື່ນໆ.

## ບໍລິການ ScriptForge.L10N

ບໍລິການນີ້ໃຫ້ວິທີການຈຳນວນໜຶ່ງທີ່ກ່ຽວຂ້ອງກັບການແປຂໍ້ຄວາມ ໂດຍສົ່ງຜົນກະທົບຕໍ່ຊອດໂຄ້ດຂອງໂປຣແກຣມໜ້ອຍທີ່ສຸດ. ວິທີການທີ່ໃຫ້ໂດຍບໍລິການ L10N ສາມາດໃຊ້ເພື່ອ:

- ສ້າງໄຟລ໌ POT ທີ່ສາມາດໃຊ້ເປັນແມ່ແບບສຳລັບການແປຂໍ້ຄວາມທັງໝົດໃນໂປຣແກຣມ.

- ດຶງຂໍ້ຄວາມທີ່ແປແລ້ວໃນຂະນະເຮັດວຽກ ສຳລັບພາສາທີ່ກຳນົດໄວ້ໃນຄຸນສົມບັດ Locale.

## ບໍລິການ SFWidgets.Menu

ບໍລິການ Menu ສາມາດໃຊ້ເພື່ອສ້າງ ແລະ ລຶບເມນູອອກຈາກແຖບເມນູຂອງໜ້າຕ່າງເອກະສານ LibreOfficeDev. ແຕ່ລະລາຍການເມນູສາມາດເຊື່ອມໂຍງກັບສະຄຣິບ ຫຼື ຄຳສັ່ງ UNO ໄດ້. ບໍລິການນີ້ມີຄວາມສາມາດດັ່ງນີ້:

- ການສ້າງເມນູດ້ວຍລາຍການທີ່ກຳນົດເອງ, ຊ່ອງໝາຍ (checkbox), ປຸ່ມເລືອກ (radio button) ແລະ ຕົວແຍກ.

- ການຕົກແຕ່ງລາຍການເມນູດ້ວຍໄອຄອນ ແລະ ຄຳແນະນຳເຄື່ອງມື (tooltip).

## ບໍລິການ ScriptForge.Platform

ບໍລິການ Platform ໃຫ້ຂໍ້ມູນກ່ຽວກັບສະພາບແວດລ້ອມ ແລະ ບໍລິບົດການເຮັດວຽກໃນປັດຈຸບັນ ເຊັ່ນ:

- ແພລັດຟອມຮາດແວ (ສະຖາປັດຕະຍະກຳ, ຈຳນວນ CPU, ປະເພດເຄື່ອງ, ແລະອື່ນໆ)

- ຂໍ້ມູນລະບົບປະຕິບັດການ (ປະເພດ OS, ລຸ້ນ, ເວີຊັນ, ແລະອື່ນໆ)

- ເວີຊັນຂອງ LibreOfficeDev

- ຊື່ຜູ້ໃຊ້ປັດຈຸບັນ

## ບໍລິການ SFWidgets.PopupMenu

ບໍລິການ PopupMenu ສາມາດໃຊ້ເພື່ອສ້າງເມນູປັອບອັບທີ່ສາມາດເຊື່ອມໂຍງກັບເຫດການ ຫຼື ເຮັດວຽກໂດຍສະຄຣິບ. ບໍລິການນີ້ມີຄວາມສາມາດດັ່ງນີ້:

- ການສ້າງເມນູປັອບອັບດ້ວຍລາຍການທີ່ກຳນົດເອງ, ຊ່ອງໝາຍ ແລະ ປຸ່ມເລືອກ.

- ການຕົກແຕ່ງລາຍການເມນູດ້ວຍໄອຄອນ ແລະ ຄຳແນະນຳເຄື່ອງມື.

## ບໍລິການ ScriptForge.Region

ບໍລິການ Region ໃຫ້ຄຸນສົມບັດ ແລະ ວິທີການຕ່າງໆເພື່ອຈັດການກ່ຽວກັບທ້ອງຖິ່ນ ແລະ ພາກພື້ນ ເຊັ່ນ:

- ການເຂົ້າເຖິງການຕັ້ງຄ່າທີ່ຂຶ້ນກັບທ້ອງຖິ່ນ ແລະ ພາກພື້ນ ເຊັ່ນ ຮູບແບບຕົວເລກ, ສະກຸນເງິນ ແລະ ເຂດເວລາ.

- ການແປງເຂດເວລາ ແລະ ຄຳນວນຄ່າຊົດເຊີຍເວລາອອມແສງ (DST).

- ການປ່ຽນຕົວເລກໃຫ້ເປັນຂໍ້ຄວາມໃນພາສາໃດກໍໄດ້ທີ່ຮອງຮັບ.

## ບໍລິການ ScriptForge.Services

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

## ບໍລິການ ScriptForge.Session

ບໍລິການ Session ລວບລວມເມທອດອະເນກປະສົງຕ່າງໆກ່ຽວກັບ:

- ສະພາບແວດລ້ອມການຕິດຕັ້ງ ຫຼື ການປະມວນຜົນ

- ການກວດສອບ UNO (UNO introspection)

- ການເອີ້ນໃຊ້ສະຄຣິບ ຫຼື ໂປຣແກຣມພາຍນອກ

## ບໍລິການ ScriptForge.String

ບໍລິການ String ໃຫ້ການລວບລວມເມທອດສຳລັບການປະມວນຜົນສະຕຣິງ. ເມທອດເຫຼົ່ານີ້ສາມາດໃຊ້ເພື່ອ:

- ກວດສອບຄວາມຖືກຕ້ອງຂອງເນື້ອໃນສະຕຣິງ

- ຈັດຮູບແບບສະຕຣິງໂດຍການຕັດຊ່ອງວ່າງ (trimming), ການຈັດແນວ (justifying) ຫຼື ການຂຶ້ນແຖວໃໝ່ (wrapping)

- ໃຊ້ regular expressions ເພື່ອຄົ້ນຫາ ແລະ ແທນທີ່ຂໍ້ຄວາມຍ່ອຍ

- ນຳໃຊ້ hash algorithms ກັບສະຕຣິງ ແລະ ອື່ນໆ.

## ບໍລິການ ScriptForge.TextStream

ບໍລິການ TextStream ໃຊ້ເພື່ອອ່ານ ແລະ ຂຽນໄຟລ໌ຕາມລຳດັບ ເຊິ່ງເປີດ ຫຼື ສ້າງໂດຍໃຊ້ບໍລິການ ScriptForge.FileSystem.

ເມທອດ OpenTextFile ແລະ CreateTextFile ຈາກບໍລິການ FileSystem ຈະສົ່ງຄືນອິນສະແຕນຊ໌ຂອງບໍລິການ TextStream.

## ບໍລິການ ScriptForge.Timer

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

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

- ເລີ່ມຕົ້ນ (Started), ເພື່ອບົ່ງບອກວ່າຈະເລີ່ມວັດແທກເວລາຕອນໃດ.

- ຢຸດຊົ່ວຄາວ (Suspended), ເພື່ອພັກການວັດແທກເວລາ.

- ກັບມາເຮັດວຽກຕໍ່ (Resumed), ເພື່ອວັດແທກເວລາຕໍ່ໄປຫຼັງຈາກທີ່ໄດ້ຢຸດຊົ່ວຄາວ.

- ເລີ່ມໃໝ່ (Restarted), ເຊິ່ງຈະຍົກເລີກການວັດແທກກ່ອນໜ້ານີ້ ແລະ ເລີ່ມຕົ້ນ Timer ໃໝ່ຈາກສູນ.

## ບໍລິການ SFWidgets.Toolbar

ບໍລິການ Toolbar ຊ່ວຍໃຫ້ສາມາດດຶງຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກັບແຖບເຄື່ອງມືທີ່ມີຢູ່ສຳລັບໜ້າຕ່າງເອກະສານສະເພາະ. ດ້ວຍບໍລິການນີ້, ທ່ານສາມາດ:

- ສະຫຼັບການສະແດງຜົນ (ເປີດ/ປິດ) ຂອງແຖບເຄື່ອງມືສະເພາະ.

- ເຂົ້າເຖິງຂໍ້ມູນກ່ຽວກັບປຸ່ມຕ່າງໆທີ່ມີຢູ່ໃນແຕ່ລະແຖບເຄື່ອງມື.

## ບໍລິການ SFWidgets.ToolbarButton

ບໍລິການ ToolbarButton ຊ່ວຍໃຫ້ສາມາດດຶງຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກັບປຸ່ມແຖບເຄື່ອງມືທີ່ມີຢູ່ໃນແຖບເຄື່ອງມືທີ່ກຳນົດ. ດ້ວຍບໍລິການນີ້, ທ່ານສາມາດ:

- ສະຫຼັບການສະແດງຜົນ (ເປີດ/ປິດ) ຂອງອົງປະກອບແຖບເຄື່ອງມື.

- ປະຕິບັດຄຳສັ່ງທີ່ກ່ຽວຂ້ອງກັບປຸ່ມແຖບເຄື່ອງມືທີ່ກຳນົດ.

## ບໍລິການ ScriptForge.UI

ບໍລິການ UI (User Interface) ຊ່ວຍໃຫ້ການລະບຸຕົວຕົນ ແລະ ການຈັດການໜ້າຕ່າງຕ່າງໆ ທີ່ປະກອບເປັນແອັບພລິເຄຊັນ LibreOfficeDev ທັງໝົດນັ້ນງ່າຍຂຶ້ນ:

- ການເລືອກໜ້າຕ່າງ

- ການຍ້າຍ ແລະ ການປ່ຽນຂະໜາດໜ້າຕ່າງ

- ການຕັ້ງຄ່າແຖບສະຖານະ

- ການສະແດງແຖບຄວາມຄືບໜ້າແບບລອຍ

- ການສ້າງໜ້າຕ່າງໃໝ່

- ການເຂົ້າເຖິງ "ເອກະສານ" ພາຍໃນ

## ບໍລິການ SFUnitTests.UnitTest

ບໍລິການ UnitTest ມີໂຄງສ້າງສຳລັບການທົດສອບໜ່ວຍຍ່ອຍແບບອັດຕະໂນມັດໂດຍໃຊ້ພາສາ Basic, ເຊິ່ງລວມມີຄວາມສາມາດໃນການ:

- ລວມກໍລະນີທົດສອບເຂົ້າໃນຊຸດການທົດສອບ ແລະ ການທົດສອບໜ່ວຍຍ່ອຍ.

- ໃຊ້ໂຄ້ດການຕັ້ງຄ່າ ແລະ ການປິດການເຮັດວຽກຮ່ວມກັນລະຫວ່າງກໍລະນີທົດສອບ.

- ລາຍງານຜົນການທົດສອບໂດຍໃຊ້ Console.

## ບໍລິການ SFDocuments.Writer

ໄລບຣາຣີສ່ວນກາງ SFDocuments ມີວິທີການ ແລະ ຄຸນສົມບັດຫຼາຍຢ່າງເພື່ອຊ່ວຍໃນການຈັດການ ແລະ ການປະມວນຜົນເອກະສານ LibreOfficeDev.

ບາງວິທີການແມ່ນໃຊ້ໄດ້ທົ່ວໄປສຳລັບເອກະສານທຸກປະເພດ ແລະ ຖືກສືບທອດມາຈາກໂມດູນ SF_Document, ໃນຂະນະທີ່ວິທີການອື່ນໆທີ່ສະເພາະສຳລັບເອກະສານ Writer ແມ່ນຖືກກຳນົດໄວ້ໃນໂມດູນ SF_Writer.

ໝາຍເຫດ: ໂມດູນ ScriptForge ອື່ນໆທີ່ບໍ່ໄດ້ອະທິບາຍໄວ້ແມ່ນສະຫງວນໄວ້ສຳລັບໃຊ້ພາຍໃນເທົ່ານັ້ນ. ເນື້ອໃນອາດຈະມີການປ່ຽນແປງໂດຍບໍ່ໄດ້ແຈ້ງໃຫ້ຊາບລ່ວງໜ້າ.

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

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