ເນື້ອໃນ

# ລາຍເຊັນວິທີການ ScriptForge

ໄລບຣາຣີ ScriptForge ລວມຊັບພະຍາກອນການຂຽນສະຄຣິບມາໂຄຣສຳລັບ LibreOffice ເພື່ອເອີ້ນໃຊ້ຈາກມາໂຄຣ Basic ຫຼື ສະຄຣິບ Python. ໂມດູນ ແລະ ຄລາດຂອງມັນຖືກເອີ້ນໃຊ້ຈາກສະຄຣິບຜູ້ໃຊ້ໃນຮູບແບບ "ບໍລິການ" (Services) ເຊິ່ງເປີດເຜີຍຄຸນສົມບັດ, ວິທີການ ແລະ ເຫດການ.

- ເມື່ອໃດກໍຕາມທີ່ວິທີການບໍລິການຖືກສະເໜີສຳລັບ LibreOffice Basic ເທົ່ານັ້ນ, ການສະແດງ syntax ຂອງພວກມັນຈະກົງກັບ subroutine, function ຫຼື property ຂອງ Basic.

- ເມື່ອໃດກໍຕາມທີ່ວິທີການບໍລິການຖືກສະເໜີສຳລັບ Python ແລະ Basic, ຫຼື ສຳລັບ Python ເທົ່ານັ້ນ, syntax ແລະ ອາກິວເມັນຂອງພວກມັນຈະໃຊ້ຮູບແບບຂໍ້ຄວາມສະເພາະ.

## ວິທີການບໍລິການສຳລັບ Basic ເທົ່ານັ້ນ

ຕົວອັກສອນທາງການພິມ ເຊັ່ນ ວົງເລັບ, ຈຸດໄຂ່ປາ ຫຼື ວົງເລັບປີກກາ ໝາຍເຖິງອາກິວເມັນເສີມ, ຊ້ຳ ຫຼື ບັງຄັບ:

- [opt1|opt2|opt3] ລາຍການພາຍໃນວົງເລັບສີ່ແຈແມ່ນທາງເລືອກ, ຕົວເລືອກຕ່າງໆຈະຖືກແຍກດ້ວຍເສັ້ນຕັ້ງ,

- case[[sep]…] ເຄື່ອງໝາຍຈ້ຳສາມເມັດ (...) ບົ່ງບອກເຖິງການເຮັດຊ້ຳທີ່ອາດເກີດຂຶ້ນ, ອາດມີການລະບຸຕົວແຍກທາງເລືອກ,

- {choice1|choice2} ລາຍການພາຍໃນວົງເລັບປີກກາແມ່ນສິ່ງທີ່ຕ້ອງມີ, ຕົວເລືອກຕ່າງໆຈະຖືກແຍກດ້ວຍເສັ້ນຕັ້ງ.

### ຕົວຢ່າງ:

           FSO.HashFile(FileName As String, _
               Algorithm As String = {MD5|SHA1|SHA224|SHA256|SHA384|SHA512}) As String
           SF_Array.ImportFromCSVFile(FileName As String, _
               [Delimiter = ","], [DateFormat As String]) As Variant
           SF_String.SplitNotQuoted(InputStr As String, _
              [Delimiter As String], [Occurrences As Long], [QuoteChar As String]) As Variant

## ວິທີການບໍລິການ Python ຫຼື Basic

ກົດລະບຽບທາງການພິມຕໍ່ໄປນີ້ແມ່ນການປະສົມລະຫວ່າງ UML notation, ຮູບແບບເອກະສານ API ແລະ ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ UNO object inspector:

- ພາຣາມິເຕີເສີມແມ່ນສະແດງດ້ວຍ opt, '=' ພ້ອມກັບຄ່າເລີ່ມຕົ້ນ, ຫຼື ວົງເລັບ '[ ]'.

- ອາກິວເມັນຈະໃຊ້ຕົວອັກສອນນ້ອຍ ເພື່ອໃຫ້ສອດຄ່ອງກັບ Python PEP 8 ໃນຂະນະທີ່ Basic ບໍ່ຈຳແນກຕົວອັກສອນນ້ອຍໃຫຍ່.

- ອາກິວເມັນຄໍເລັກຊັນ ຫຼື ລຳດັບ API ແມ່ນສະແດງໂດຍໃຊ້ UML multiplicity. ສິ່ງນີ້ໃຊ້ກັບຄ່າທີ່ສົ່ງຄືນນຳ.

- ປະເພດຂໍ້ມູນ Basic ແລະ ຄຳອະທິບາຍປະກອບ Python ຖືກປ່ຽນແປງທາງ syntax ດັ່ງນີ້:

LibreOffice Basic | Syntax | Python
--- | --- | ---
ບູນີນ | bool | bool
Date | datetime | datetime
Double | float | float
Integer | int | int
Long | int | int
Object | obj |
Single | float | float
String | str | str
Variant | any |
ວັດຖຸ UNO | uno |
ປະເພດທີ່ຜູ້ໃຊ້ ກຳນົດເອງ (UDT) | obj |
ScriptForge ບໍລິການ | svc |

### ຕົວຢ່າງ:

svc.Forms( opt form: any ): svc[0..*]

svc.MsgBox( prompt: str, buttons = svc.MB_OK , opt title: str ): opt str

svc.InputBox( prompt: str, default = "", [ title: str ], [ xpostwips: int, ypostwips: int ] ): str

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