ຄັງສຳນວນ ScriptForge

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

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


ຄັງສຳນວນ ScriptForge ສ້າງຊຸດຊັບພະຍາກອນການຂຽນສະຄຣິບມາໂຄຣທີ່ສາມາດຂະຫຍາຍໄດ້ສຳລັບ LibreOffice ເພື່ອເອີ້ນໃຊ້ຈາກມາໂຄຣ 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

ໝວດໝູ່

ການບໍລິການ

LibreOffice Basic

Array
Dictionary

Exception
FileSystem

String
TextStream

ເນື້ອໃນເອກະສານ

Base
Calc
Chart

Database
Dataset
Datasheet

Document
FormDocument
Writer

ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້

Dialog
DialogControl
Form

FormControl
Menu
PopupMenu

Toolbar
ToolbarButton
UI

ເຄື່ອງມືອຳນວຍຄວາມສະດວກ

Basic
L10N
Platform

Region
Services
Session

Timer
UnitTest


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

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

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

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

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

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

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

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

ບໍລິການ SFDocuments.Calc

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

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

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

ບໍລິການ SFDocuments.Chart

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

ບໍລິການ SFDatabases.Database

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

ບໍລິການ SFDatabases.Dataset

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

ບໍລິການ SFDatabases.Datasheet

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

ບໍລິການ 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)

ບໍລິການ SFDocuments.Document

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

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

ບໍລິການ ScriptForge.Exception

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

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

ບໍລິການ ScriptForge.FileSystem

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

ບໍລິການ SFDocuments.Form

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

ບໍລິການ SFDocuments.FormControl

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

ບໍລິການ SFDocuments.FormDocument

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

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

ບໍລິການ ScriptForge.L10N

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

ບໍລິການ SFWidgets.Menu

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

ບໍລິການ ScriptForge.Platform

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

ບໍລິການ SFWidgets.PopupMenu

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

ບໍລິການ ScriptForge.Region

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

ບໍລິການ ScriptForge.Services

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

ບໍລິການ ScriptForge.Session

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

ບໍລິການ ScriptForge.String

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

ບໍລິການ ScriptForge.TextStream

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

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

ບໍລິການ ScriptForge.Timer

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

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

ບໍລິການ SFWidgets.Toolbar

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

ບໍລິການ SFWidgets.ToolbarButton

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

ບໍລິການ ScriptForge.UI

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

ບໍລິການ SFUnitTests.UnitTest

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

ບໍລິການ SFDocuments.Writer

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

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

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

ໄອຄອນ ຄຳເຕືອນ

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


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

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