ເນື້ອໃນ

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

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

ຕົວຢ່າງທົ່ວໄປ:

       bas.MsgBox('ສະແດງຂໍ້ຄວາມນີ້ໃນກ່ອງຂໍ້ຄວາມຈາກສະຄຣິບ Python')

ການບໍລິການ ScriptForge.Basic ແມ່ນຈຳກັດໄວ້ສຳລັບສະຄຣິບ Python ເທົ່ານັ້ນ.

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

ກ່ອນທີ່ຈະໃຊ້ການບໍລິການ Basic, ໃຫ້ແຈ້ງການນຳເຂົ້າ (import) ວິທີການ CreateScriptService() ຈາກໂມດູນ scriptforge:

        from scriptforge import CreateScriptService
        bas = CreateScriptService("Basic")

## ຄຸນສົມບັດ

ຊື່ | ອ່ານຢ່າງດຽວ | ປະເພດ | ຄຳອະທິບາຍ
--- | --- | --- | ---
MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL | ແມ່ນ | Integer | ຄ່າ: 0, 1, 5, 4, 3
MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP | ແມ່ນ | Integer | ຄ່າ: 48, 64, 32, 16
MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3 | ແມ່ນ | Integer | ຄ່າ: 2, 128, 256, 512
IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES | ແມ່ນ | Integer | ຄ່າ: 3, 2, 5, 7, 1, 4, 6 ຄ່າຄົງທີ່ທີ່ບອກເຖິງປຸ່ມທີ່ຖືກເລືອກໃນ MsgBox.
StarDesktop | ແມ່ນ | ວັດຖຸ UNO | ສົ່ງຄືນວັດຖຸ StarDesktop ທີ່ເປັນຕົວແທນຂອງແອັບພລິເຄຊັນ LibreOffice.
ThisComponent | ແມ່ນ | ວັດຖຸ UNO | ຖ້າຄອມໂພເນນປະຈຸບັນອ້າງອີງເຖິງເອກະສານ LibreOffice, ວິທີການນີ້ຈະສົ່ງຄືນວັດຖຸ UNO ທີ່ເປັນຕົວແທນຂອງເອກະສານ. ຄຸນສົມບັດນີ້ຈະສົ່ງຄືນ None ເມື່ອຄອມໂພເນນປະຈຸບັນບໍ່ກົງກັບເອກະສານ.
ThisDatabaseDocument | ແມ່ນ | ວັດຖຸ UNO | ຖ້າສະຄຣິບຖືກເປີດໃຊ້ຈາກເອກະສານ Base ຫຼື ສ່ວນປະກອບຍ່ອຍໃດໜຶ່ງຂອງມັນ, ວິທີການນີ້ຈະສົ່ງຄືນຄອມໂພເນນຫຼັກຂອງອິນສະແຕນຊ໌ Base. ຖ້າບໍ່ດັ່ງນັ້ນ ຄຸນສົມບັດນີ້ຈະສົ່ງຄືນ None.

ລາຍຊື່ວິທີການໃນການບໍລິການ Basic
CDate CDateFromUnoDateTime CDateToUnoDateTime ConvertFromUrl (*) ConvertToUrl (*) CreateUnoService CreateUnoStruct (*) DateAdd | DateDiff DatePart DateValue Format GetDefaultContext GetGuiType (*) GetPathSeparator (*) GetSystemTicks | GlobalScope.BasicLibraries GlobalScope.DialogLibraries InputBox (*) MsgBox (*) Now RGB Wait Xray

ມີທາງເລືອກອື່ນໃນ Python ສຳລັບວິທີການທີ່ໝາຍດ້ວຍ (*).

## CDate

ປ່ຽນສຳນວນຕົວເລກ ຫຼື ສາຍອັກຂະລະໃຫ້ເປັນອັອບເຈັກ datetime.datetime ດັ້ງເດີມຂອງ Python.

ວິທີການນີ້ເປີດໃຊ້ຟັງຊັນທີ່ມາພ້ອມກັບ Basic CDate ໃຫ້ກັບສະຄຣິບ Python.

### ໄວຍາກອນ:

svc.CDate(expression: any): obj

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

expression: ການສະແດງອອກທາງຕົວເລກ ຫຼື ຂໍ້ຄວາມທີ່ເປັນຕົວແທນຂອງວັນທີ.

ເມື່ອທ່ານແປງນິພົດຂໍ້ຄວາມ, ວັນທີ ແລະ ເວລາຈະຕ້ອງຖືກປ້ອນໃນຮູບແບບໃດໜຶ່ງທີ່ກຳນົດໄວ້ໃນການຕັ້ງຄ່າທ້ອງຖິ່ນຂອງທ່ານ (ເບິ່ງ LibreOffice - ຄວາມມັກເຄື່ອງມື - ຕົວເລືອກ - ພາສາ ແລະ ທ້ອງຖິ່ນ - ທົ່ວໄປ) ຫຼື ໃນຮູບແບບວັນທີ ISO (ປະຈຸບັນ, ຍອມຮັບສະເພາະຮູບແບບ ISO ທີ່ມີຂີດຕໍ່ ເຊັ່ນ "2012-12-31"). ໃນນິພົດຕົວເລກ, ຄ່າທາງຊ້າຍຂອງທົດສະນິຍົມໝາຍເຖິງວັນທີ, ເລີ່ມແຕ່ວັນທີ 31 ທັນວາ 1899. ຄ່າທາງຂວາຂອງທົດສະນິຍົມໝາຍເຖິງເວລາ.

### ຕົວຢ່າງ:

        d = bas.CDate(1000.25)
        bas.MsgBox(str(d)) # 1902-09-26 06:00:00
        bas.MsgBox(d.year) # 1902

## CDateFromUnoDateTime

ແປງການສະແດງຄ່າວັນທີ/ເວລາແບບ UNO ໃຫ້ເປັນວັດຖຸ native ຂອງ Python ປະເພດ datetime.datetime.

### ໄວຍາກອນ:

svc.CDateFromUnoDateTime(unodate: uno): obj

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

unodate: ວັດຖຸວັນທີ/ເວລາແບບ UNO ໃນປະເພດໃດໜຶ່ງດັ່ງນີ້: com.sun.star.util.DateTime, com.sun.star.util.Date ຫຼື com.sun.star.util.Time

### ຕົວຢ່າງ:

ຕົວຢ່າງຕໍ່ໄປນີ້ສ້າງວັດຖຸ com.sun.star.util.DateTime ແລະ ແປງມັນໃຫ້ເປັນວັດຖຸ Python ປະເພດ datetime.datetime.

        uno_date = bas.CreateUnoStruct('com.sun.star.util.DateTime')
        uno_date.Year = 1983
        uno_date.Month = 2
        uno_date.Day = 23
        new_date = bas.CDateFromUnoDateTime(uno_date)
        bas.MsgBox(str(new_date)) # 1983-02-23 00:00:00

## CDateToUnoDateTime

ແປງການສະແດງຄ່າວັນທີໃຫ້ເປັນວັດຖຸ com.sun.star.util.DateTime.

### ໄວຍາກອນ:

svc.CDateToUnoDateTime(date: obj): uno

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

date: ວັດຖຸວັນທີ/ເວລາຂອງ Python ໃນປະເພດໃດໜຶ່ງດັ່ງນີ້: datetime.datetime, datetime.date, datetime.time, float (time.time) ຫຼື time.struct_time.

### ຕົວຢ່າງ:

        from datetime import datetime
        current_datetime = datetime.now()
        uno_date = bas.CDateToUnoDateTime(current_datetime)
        bas.MsgBox(str(uno_date.Year) + "-" + str(uno_date.Month) + "-" + str(uno_date.Day))

## ConvertFromUrl

ສົ່ງຄືນຊື່ເສັ້ນທາງໄຟລ໌ຂອງລະບົບ (system path) ສຳລັບ URL ແບບ file: ທີ່ລະບຸ.

### ໄວຍາກອນ:

svc.ConvertFromUrl(url: str): str

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

url: URL ແບບ file: ທີ່ຄົບຖ້ວນ (absolute URL).

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ຊື່ເສັ້ນທາງໄຟລ໌ຂອງລະບົບ.

### ຕົວຢ່າງ:

        filename = bas.ConvertFromUrl( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt" )
        bas.MsgBox(filename)

ວິທີການ fileUrlToSystemPath() ຂອງ ໂມດູນ uno ຈະສົ່ງຄືນເສັ້ນທາງລະບົບໂດຍໃຊ້ຮູບແບບຄຳສັ່ງທີ່ຄືກັນ.

        import uno
        filename = uno.fileUrlToSystemPath( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt" )
        bas.MsgBox(filename)

## ConvertToUrl

ສົ່ງຄືນ URL ແບບ file: ສຳລັບເສັ້ນທາງລະບົບທີ່ລະບຸ.

### ໄວຍາກອນ:

svc.ConvertToUrl(systempath: str): str

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

systempath: ຊື່ໄຟລ໌ຂອງລະບົບໃນຮູບແບບຂໍ້ຄວາມ.

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

URL ແບບ file: ໃນຮູບແບບຂໍ້ຄວາມ.

### ຕົວຢ່າງ:

        url = bas.ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
        bas.MsgBox(url)

ວິທີການ systemPathToFileUrl() ຂອງ ໂມດູນ uno ຈະສົ່ງຄືນ URL ໄຟລ໌ສຳລັບເສັ້ນທາງລະບົບທີ່ລະບຸ.

        from uno import systemPathToFileUrl as ConvertToUrl
        filename = ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
        bas.MsgBox(filename)

## CreateUnoService

ສ້າງອິນສະແຕນຊ໌ຂອງການບໍລິການ UNO ດ້ວຍ ProcessServiceManager.

### ໄວຍາກອນ:

svc.CreateUnoService(servicename: str): uno

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

servicename: ຊື່ການບໍລິການທີ່ຄົບຖ້ວນ ເຊັ່ນ com.sun.star.ui.dialogs.FilePicker ຫຼື com.sun.star.sheet.FunctionAccess.

### ຕົວຢ່າງ:

        dsk = bas.CreateUnoService('com.sun.star.frame.Desktop')

## CreateUnoStruct

ສົ່ງຄືນອິນສະແຕນຊ໌ຂອງໂຄງສ້າງ UNO (UNO structure) ຕາມປະເພດທີ່ລະບຸ.

### ໄວຍາກອນ:

svc.CreateUnoStruct(unostructure: str): uno

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

unostructure: ຊື່ໂຄງສ້າງທີ່ຄົບຖ້ວນ ເຊັ່ນ com.sun.star.beans.Property ຫຼື com.sun.star.util.DateTime.

### ຕົວຢ່າງ:

        date_struct = CreateUnoStruct('com.sun.star.util.DateTime')

ວິທີການ createUnoStruct() ຂອງ ໂມດູນ uno ຈະສ້າງອິນສະແຕນຊ໌ຂອງປະເພດໂຄງສ້າງ Uno.

        import uno
        p = uno.createUnoStruct( 'com.sun.star.beans.Property' )
        bas.MsgBox(p)

## DateAdd

ບວກຊ່ວງວັນທີ ຫຼື ເວລາເຂົ້າກັບວັນທີ/ເວລາທີ່ກຳນົດ ຕາມຈຳນວນຄັ້ງທີ່ລະບຸ ແລະ ສົ່ງຄືນວັນທີທີ່ໄດ້.

### ໄວຍາກອນ:

svc.DateAdd(interval: str, number: num, date: datetime): datetime

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

interval: ຂໍ້ຄວາມຈາກຕາຕະລາງຕໍ່ໄປນີ້ ເພື່ອລະບຸຊ່ວງວັນທີ ຫຼື ເວລາ.

ຊ່ວງເວລາ (ຄ່າສະຕຣິງ) | ຄຳອະທິບາຍ
--- | ---
yyyy | ປີ
q | ໄຕມາດ
m | ເດືອນ
y | ວັນຂອງປີ
w | ວັນໃນອາທິດ
ww | ອາທິດຂອງປີ
d | ວັນ
h | ຊົ່ວໂມງ
n | ນາທີ
s | ວິນາທີ

number: ການສະແດງອອກທາງຕົວເລກທີ່ລະບຸວ່າຈະບວກຄ່າ interval ເຂົ້າໄປຈັກຄັ້ງ (ຖ້າເປັນບວກ) ຫຼື ລົບອອກຈັກຄັ້ງ (ຖ້າເປັນລົບ).

ວັນທີ: ຄ່າ datetime.datetime ທີ່ກຳນົດໃຫ້, ຄ່າ interval ຈະຖືກບວກເຂົ້າ number ເທື່ອ ໃສ່ຄ່າ datetime.datetime ນີ້.

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ຄ່າ datetime.datetime.

### ຕົວຢ່າງ:

        dt = datetime.datetime(2004, 1, 31)
        dt = bas.DateAdd("m", 1, dt)
        print(dt)

## DateDiff

ສົ່ງຄືນຈຳນວນຊ່ວງວັນທີ ຫຼື ເວລາລະຫວ່າງສອງຄ່າວັນທີ/ເວລາທີ່ກຳນົດ.

### ໄວຍາກອນ:

svc.DateDiff(interval: str, date1: datetime, date2: datetime, firstdayofweek = 1, firstweekofyear = 1): int

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

interval: ຂໍ້ຄວາມທີ່ລະບຸຊ່ວງວັນທີ, ຕາມລາຍລະອຽດໃນວິທີການ DateAdd ຂ້າງເທິງ.

date1, date2: ສອງຄ່າ datetime.datetime ທີ່ຈະນຳມາປຽບທຽບກັນ.

firstdayofweek: ພາຣາມິເຕີເສີມທີ່ລະບຸວັນເລີ່ມຕົ້ນຂອງອາທິດ.

ຄ່າ firstdayofweek | ຄຳອະທິບາຍ
--- | ---
0 | ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງລະບົບ
1 | ວັນອາທິດ (ເລີ່ມຕົ້ນ)
2 | ວັນຈັນ
3 | ວັນອັງຄານ
4 | ວັນພຸດ
5 | ວັນພະຫັດ
6 | ວັນສຸກ
7 | ວັນເສົາ

firstweekofyear: ພາຣາມິເຕີເສີມທີ່ລະບຸອາທິດເລີ່ມຕົ້ນຂອງປີ.

ຄ່າ firstweekofyear | ຄຳອະທິບາຍ
--- | ---
0 | ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງລະບົບ
1 | ອາທິດທີ 1 ແມ່ນອາທິດທີ່ມີວັນທີ 1 ມັງກອນ (ເລີ່ມຕົ້ນ)
2 | ອາທິດທີ 1 ແມ່ນອາທິດທຳອິດທີ່ມີຢ່າງໜ້ອຍສີ່ວັນຂອງປີນັ້ນ
3 | ອາທິດທີ 1 ແມ່ນອາທິດທຳອິດທີ່ມີສະເພາະວັນຂອງປີໃໝ່ເທົ່ານັ້ນ

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ຕົວເລກ.

### ຕົວຢ່າງ:

        date1 = datetime.datetime(2005,1, 1)
        date2 = datetime.datetime(2005,12,31)
        diffDays = bas.DateDiff('d', date1, date2)
        print(diffDays)

## DatePart

ຟັງຊັນ DatePart ຈະສົ່ງຄືນສ່ວນໃດສ່ວນໜຶ່ງຂອງວັນທີທີ່ລະບຸ.

### ໄວຍາກອນ:

svc.DatePart(interval: str, date: datetime, firstdayofweek = 1, firstweekofyear = 1): int

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

interval: ຂໍ້ຄວາມທີ່ລະບຸຊ່ວງວັນທີ, ຕາມລາຍລະອຽດໃນວິທີການ DateAdd ຂ້າງເທິງ.

date: ວັນທີ/ເວລາທີ່ຈະນຳມາຄຳນວນຫາຜົນໄດ້ຮັບ.

firstdayofweek, firstweekofyear: ພາຣາມິເຕີທີ່ສາມາດເລືອກລະບຸໄດ້ ເພື່ອກຳນົດມື້ເລີ່ມຕົ້ນຂອງອາທິດ ແລະ ອາທິດເລີ່ມຕົ້ນຂອງປີ ຕາມລຳດັບ, ຕາມລາຍລະອຽດໃນວິທີການ DateDiff ຂ້າງເທິງ.

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ສ່ວນທີ່ດຶງອອກມາຈາກວັນທີ/ເວລາທີ່ກຳນົດ.

### ຕົວຢ່າງ:

        print(bas.DatePart("ww", datetime.datetime(2005,12,31)
        print(bas.DatePart('q', datetime.datetime(1999,12,30)

## DateValue

ຄຳນວນຄ່າວັນທີຈາກຂໍ້ຄວາມວັນທີ.

### ໄວຍາກອນ:

svc.DateValue(date: str): datetime

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

date: ສະຕຣິງທີ່ບັນຈຸວັນທີທີ່ຈະຖືກແປງເປັນວັດຖຸ ວັນທີ.

ສະຕຣິງທີ່ສົ່ງໄປຫາ DateValue ຕ້ອງສະແດງຢູ່ໃນຮູບແບບວັນທີໃດໜຶ່ງທີ່ກຳນົດໂດຍການຕັ້ງຄ່າທ້ອງຖິ່ນ (locale) ຂອງທ່ານ (ເບິ່ງ LibreOffice - ການຕັ້ງຄ່າເຄື່ອງມື - ຕົວເລືອກ - ພາສາ ແລະ ການຕັ້ງຄ່າທ້ອງຖິ່ນ - ທົ່ວໄປ) ຫຼື ໃຊ້ຮູບແບບວັນທີ ISO "yyyy-mm-dd" (ປີ, ເດືອນ ແລະ ວັນ ແຍກກັນດ້ວຍເຄື່ອງໝາຍຂີດກາງ).

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ວັນທີທີ່ຄຳນວນໄດ້.

### ຕົວຢ່າງ:

        dt = bas.DateValue("23-02-2011")
        print(dt)

## Format

ແປງຕົວເລກໃຫ້ເປັນຂໍ້ຄວາມ, ແລ້ວຈັດຮູບແບບຕາມທີ່ທ່ານລະບຸ.

### ໄວຍາກອນ:

svc.Format(expression: any, format = ''): str

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

expression: ນິພົດຕົວເລກທີ່ທ່ານຕ້ອງການແປງເປັນສະຕຣິງທີ່ມີຮູບແບບ.

format: ສະຕຣິງທີ່ກຳນົດລະຫັດຮູບແບບສຳລັບຕົວເລກ. ຖ້າລະເວັ້ນ format, ຟັງຊັນ Format ຈະເຮັດວຽກຄືກັບ ຟັງຊັນ Str() ຂອງ LibreOffice Basic.

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ສະຕຣິງຂໍ້ຄວາມ.

### ລະຫັດການຈັດຮູບແບບ

ໃນ BASIC, ລະຫັດ format ສາມາດແບ່ງອອກເປັນສາມພາກສ່ວນທີ່ແຍກກັນດ້ວຍຈໍ້າຈຸດ. ພາກສ່ວນທຳອິດກຳນົດຮູບແບບສຳລັບຄ່າບວກ, ພາກສ່ວນທີສອງສຳລັບຄ່າລົບ, ແລະ ພາກສ່ວນທີສາມສຳລັບສູນ. ຖ້າທ່ານກຳນົດພຽງແຕ່ລະຫັດ format ດຽວ, ມັນຈະຖືກນຳໃຊ້ກັບຕົວເລກທັງໝົດ.

ທ່ານສາມາດຕັ້ງຄ່າທ້ອງຖິ່ນ (locale) ທີ່ໃຊ້ເພື່ອຄວບຄຸມການຈັດຮູບແບບຕົວເລກ, ວັນທີ ແລະ ສະກຸນເງິນໃນ LibreOffice Basic ໄດ້ທີ່ LibreOffice - ປັບແຕ່ງເຄື່ອງມື - ຕົວເລືອກ - ພາສາ ແລະ ການຕັ້ງຄ່າທ້ອງຖິ່ນ - ທົ່ວໄປ. ໃນລະຫັດຮູບແບບຂອງ Basic, ຈຸດທົດສະນິຍົມ (.) ຈະຖືກໃຊ້ເປັນ ຕົວຈອງບ່ອນ (placeholder) ສຳລັບຕົວແຍກທົດສະນິຍົມທີ່ກຳນົດໄວ້ໃນທ້ອງຖິ່ນຂອງທ່ານ ແລະ ຈະຖືກແທນທີ່ດ້ວຍຕົວອັກສອນທີ່ກ່ຽວຂ້ອງ.

ສິ່ງດຽວກັນນີ້ກໍໃຊ້ກັບການຕັ້ງຄ່າທ້ອງຖິ່ນສຳລັບຮູບແບບວັນທີ, ເວລາ ແລະ ສະກຸນເງິນ. ລະຫັດຮູບແບບ Basic ຈະຖືກແປ ແລະ ສະແດງຜົນຕາມການຕັ້ງຄ່າທ້ອງຖິ່ນຂອງທ່ານ.

ລາຍການຕໍ່ໄປນີ້ອະທິບາຍລະຫັດທີ່ທ່ານສາມາດໃຊ້ເພື່ອຈັດຮູບແບບນິພົດຕົວເລກ:

ລະຫັດ | ຄຳອະທິບາຍ
--- | ---
0 | ຖ້າ expression ມີຕົວເລກໃນຕຳແໜ່ງຂອງ 0 ໃນລະຫັດ format, ຕົວເລກນັ້ນຈະຖືກສະແດງ, ຖ້າບໍ່ດັ່ງນັ້ນຈະສະແດງເລກສູນ. ຖ້າ expression ມີຕົວເລກໜ້ອຍກວ່າຈຳນວນເລກສູນໃນລະຫັດ format (ທັງສອງດ້ານຂອງທົດສະນິຍົມ), ເລກສູນນຳໜ້າ ຫຼື ຕາມຫຼັງຈະຖືກສະແດງ. ຖ້າ expression ມີຕົວເລກທາງດ້ານຊ້າຍຂອງເຄື່ອງໝາຍຂັ້ນທົດສະນິຍົມຫຼາຍກວ່າຈຳນວນເລກສູນໃນລະຫັດ format, ຕົວເລກທີ່ເກີນມາຈະຖືກສະແດງໂດຍບໍ່ມີການຈັດຮູບແບບ. ຕຳແໜ່ງທົດສະນິຍົມໃນ expression ຈະຖືກປັດຕາມຈຳນວນເລກສູນທີ່ປະກົດຫຼັງເຄື່ອງໝາຍຂັ້ນທົດສະນິຍົມໃນລະຫັດ format.
# | ຖ້າ expression ມີຕົວເລກໃນຕຳແໜ່ງຂອງຕົວແທນ # ໃນລະຫັດ format, ຕົວເລກນັ້ນຈະຖືກສະແດງ, ຖ້າບໍ່ດັ່ງນັ້ນຈະບໍ່ມີຫຍັງສະແດງໃນຕຳແໜ່ງນີ້. ສັນຍະລັກນີ້ເຮັດວຽກຄືກັບ 0, ຍົກເວັ້ນແຕ່ເລກສູນນຳໜ້າ ຫຼື ຕາມຫຼັງຈະບໍ່ຖືກສະແດງ ຖ້າມີຕົວອັກສອນ # ໃນລະຫັດ format ຫຼາຍກວ່າຈຳນວນຕົວເລກໃນ expression. ຈະມີພຽງຕົວເລກທີ່ກ່ຽວຂ້ອງຂອງ expression ເທົ່ານັ້ນທີ່ຈະຖືກສະແດງ.
. (period) | ຕົວແທນທົດສະນິຍົມກຳນົດຈຳນວນຕຳແໜ່ງທົດສະນິຍົມທາງດ້ານຊ້າຍ ແລະ ຂວາຂອງເຄື່ອງໝາຍຂັ້ນທົດສະນິຍົມ. ຖ້າລະຫັດ format ມີພຽງຕົວແທນ # ທາງດ້ານຊ້າຍຂອງສັນຍະລັກນີ້, ຕົວເລກທີ່ໜ້ອຍກວ່າ 1 ຈະເລີ່ມຕົ້ນດ້ວຍເຄື່ອງໝາຍຂັ້ນທົດສະນິຍົມ. ເພື່ອໃຫ້ສະແດງເລກສູນນຳໜ້າສະເໝີກັບຕົວເລກເສດ, ໃຫ້ໃຊ້ 0 ເປັນຕົວແທນສຳລັບຕົວເລກທຳອິດທາງດ້ານຊ້າຍຂອງເຄື່ອງໝາຍຂັ້ນທົດສະນິຍົມ. ການໃຊ້ຈຸດເປັນເຄື່ອງໝາຍຂັ້ນຫຼັກພັນ ຫຼື ທົດສະນິຍົມແມ່ນຂຶ້ນກັບການຕັ້ງຄ່າພາກພື້ນ. ເມື່ອທ່ານປ້ອນຕົວເລກໂດຍກົງໃນຊອດໂຄ້ດ Basic, ໃຫ້ໃຊ້ຈຸດເປັນເຄື່ອງໝາຍຂັ້ນທົດສະນິຍົມສະເໝີ. ຕົວອັກສອນຕົວຈິງທີ່ຈະສະແດງແມ່ນຂຶ້ນກັບຮູບແບບຕົວເລກໃນການຕັ້ງຄ່າລະບົບຂອງທ່ານ.
% | ຄູນ expression ດ້ວຍ 100 ແລະ ແຊກເຄື່ອງໝາຍເປີເຊັນ (%) ໃນຕຳແໜ່ງທີ່ expression ປະກົດໃນລະຫັດ format.
E- E+ e- e+ | ຖ້າລະຫັດ format ມີຕົວແທນຕົວເລກຢ່າງໜ້ອຍໜຶ່ງຕົວ (0 ຫຼື #) ທາງຂວາຂອງສັນຍະລັກ E-, E+, e-, ຫຼື e+, expression ຈະຖືກຈັດຮູບແບບເປັນແບບວິທະຍາສາດ ຫຼື ເລກກຳລັງ. ຕົວອັກສອນ E ຫຼື e ຈະຖືກແຊກລະຫວ່າງຕົວເລກ ແລະ ເລກກຳລັງ. ຈຳນວນຕົວແທນສຳລັບຕົວເລກທາງຂວາຂອງສັນຍະລັກຈະກຳນົດຈຳນວນຫຼັກໃນເລກກຳລັງ. ຖ້າເລກກຳລັງເປັນຄ່າລົບ, ເຄື່ອງໝາຍລົບຈະຖືກສະແດງທາງໜ້າເລກກຳລັງໂດຍກົງກັບ E-, E+, e-, e+. ຖ້າເລກກຳລັງເປັນຄ່າບວກ, ເຄື່ອງໝາຍບວກຈະສະແດງສະເພາະທາງໜ້າເລກກຳລັງທີ່ມີ E+ ຫຼື e+ ເທົ່ານັ້ນ.
- + $ ( ) space | ເຄື່ອງໝາຍບວກ (+), ລົບ (-), ໂດລາ ($), ຊ່ອງຫວ່າງ ຫຼື ວົງເລັບ ທີ່ປ້ອນໂດຍກົງໃນລະຫັດ format ຈະຖືກສະແດງເປັນຕົວອັກສອນຕາມນັ້ນ.
\ | ເພື່ອສະແດງຕົວອັກສອນອື່ນນອກຈາກທີ່ລະບຸຢູ່ນີ້, ທ່ານຕ້ອງໃສ່ເຄື່ອງໝາຍ backslash (\) ນຳໜ້າ, ຫຼື ຂັງໄວ້ໃນເຄື່ອງໝາຍຄຳເວົ້າ (" "). Backslash ຈະສະແດງຕົວອັກສອນຖັດໄປໃນລະຫັດ format. ຕົວອັກສອນໃນລະຫັດ format ທີ່ມີຄວາມໝາຍພິເສດ ຈະສາມາດສະແດງເປັນຕົວອັກສອນປົກກະຕິໄດ້ກໍຕໍ່ເມື່ອມີ backslash ນຳໜ້າ. ຕົວ backslash ເອງຈະບໍ່ຖືກສະແດງ, ຍົກເວັ້ນທ່ານຈະປ້ອນ backslash ສອງຕົວ (\\) ໃນລະຫັດຮູບແບບ. ຕົວອັກສອນທີ່ຕ້ອງມີ backslash ນຳໜ້າໃນລະຫັດຮູບແບບເພື່ອໃຫ້ສະແດງເປັນຕົວອັກສອນປົກກະຕິ ໄດ້ແກ່ ຕົວອັກສອນຈັດຮູບແບບວັນທີ ແລະ ເວລາ (a, c, d, h, m, n, p, q, s, t, w, y, /, :), ຕົວອັກສອນຈັດຮູບແບບຕົວເລກ (#, 0, %, E, e, ຈຸດ, ຈ້ຳ), ແລະ ຕົວອັກສອນຈັດຮູບແບບສະຕຣິງ (@, &, <, >, !).

### ຮູບແບບທີ່ກຳນົດໄວ້ລ່ວງໜ້າ

ທ່ານຍັງສາມາດໃຊ້ຮູບແບບຕົວເລກທີ່ກຳນົດໄວ້ລ່ວງໜ້າຕໍ່ໄປນີ້. ຍົກເວັ້ນ "General Number", ລະຫັດຮູບແບບທີ່ກຳນົດໄວ້ລ່ວງໜ້າທັງໝົດຈະສົ່ງຄືນຕົວເລກເປັນທົດສະນິຍົມສອງຕຳແໜ່ງ.

ຖ້າທ່ານໃຊ້ຮູບແບບທີ່ກຳນົດໄວ້ລ່ວງໜ້າ, ຊື່ຂອງຮູບແບບນັ້ນຕ້ອງຂັງໄວ້ໃນເຄື່ອງໝາຍຄຳເວົ້າ.

ລະຫັດ | ຄຳອະທິບາຍ
--- | ---
"<" | ແປງ expression ໃຫ້ເປັນຕົວພິມນ້ອຍ.
">" | ແປງ expression ໃຫ້ເປັນຕົວພິມໃຫຍ່.
"c" or "General Date" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບວັນທີແບບສັ້ນ, ອາດຈະມີ "H:MM:SS AM/PM" ນຳ. ຖ້າ expression ແມ່ນສະຕຣິງ, ຈະສົ່ງຄືນສະຕຣິງນັ້ນ.
"n" | ສົ່ງຄືນນາທີຂອງນິພົດຕົວເລກ, ດ້ວຍ 1 ຫຼື 2 ຫຼັກ.
"nn" | ສົ່ງຄືນນາທີຂອງນິພົດຕົວເລກດ້ວຍສອງຫຼັກ.
"w" | ສົ່ງຄືນວັນໃນອາທິດຂອງນິພົດຕົວເລກ. 1 ແມ່ນ ວັນອາທິດ ແລະ 7 ແມ່ນ ວັນເສົາ.
"General Number" | ສົ່ງຄືນ expression ຕົວເລກທີ່ມີ 12 ຫຼັກ (0.############).
"Currency" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບເງິນຕາຕາມການຕັ້ງຄ່າທ້ອງຖິ່ນ.
"Fixed" | ສົ່ງຄືນ expression ຕົວເລກທີ່ມີທົດສະນິຍົມ 2 ຕຳແໜ່ງ (0.00).
"Standard" | ສົ່ງຄືນ expression ຕົວເລກທີ່ມີເຄື່ອງໝາຍຂັ້ນຫຼັກພັນ ແລະ ທົດສະນິຍົມ 2 ຕຳແໜ່ງ (@0.00).
"Percent" | ສົ່ງຄືນ expression ຕົວເລກເປັນຄ່າເປີເຊັນ (0.00%).
"Scientific" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບວິທະຍາສາດ (#.00E+00).
"Yes/No" | ສົ່ງຄືນ "Yes" ຖ້າ expression ຕົວເລກບໍ່ເທົ່າກັບສູນ, ຖ້າບໍ່ດັ່ງນັ້ນສົ່ງຄືນ "No". "Yes" ແລະ "No" ຈະຖືກປ່ຽນຕາມພາສາທ້ອງຖິ່ນ.
"True/False" | ສົ່ງຄືນ "True" ຖ້າ expression ຕົວເລກບໍ່ເທົ່າກັບສູນ, ຖ້າບໍ່ດັ່ງນັ້ນສົ່ງຄືນ "False". "True" ແລະ "False" ຈະຖືກປ່ຽນຕາມພາສາທ້ອງຖິ່ນ.
"On/Off" | ສົ່ງຄືນ "On" ຖ້າ expression ຕົວເລກບໍ່ເທົ່າກັບສູນ, ຖ້າບໍ່ດັ່ງນັ້ນສົ່ງຄືນ "Off". "On" ແລະ "Off" ຈະຖືກປ່ຽນຕາມພາສາທ້ອງຖິ່ນ.
"Long Date" or "dddddd" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບວັນທີແບບຍາວຂອງລະບົບ, ເຊິ່ງຂຶ້ນກັບການຕັ້ງຄ່າທ້ອງຖິ່ນ.
"Medium Date" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບວັນທີ DD-MMM-YY, ເຊິ່ງຂຶ້ນກັບການຕັ້ງຄ່າທ້ອງຖິ່ນ.
"Short Date" or "ddddd" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບວັນທີແບບສັ້ນຂອງລະບົບ, ເຊິ່ງຂຶ້ນກັບການຕັ້ງຄ່າທ້ອງຖິ່ນ.
"Long Time" or "ttttt" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບເວລາແບບຍາວຂອງລະບົບ, ເຊິ່ງຂຶ້ນກັບການຕັ້ງຄ່າທ້ອງຖິ່ນ ("H:MM:SS AM/PM").
"Medium Time" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບເວລາແບບກາງຂອງລະບົບ, ເຊິ່ງຂຶ້ນກັບການຕັ້ງຄ່າທ້ອງຖິ່ນ (HH:MM AM/PM).
"Short Time" | ສົ່ງຄືນ expression ຕົວເລກໃນຮູບແບບເວລາແບບສັ້ນຂອງລະບົບ, ເຊິ່ງຂຶ້ນກັບການຕັ້ງຄ່າທ້ອງຖິ່ນ (HH:MM).

ທ່ານສາມາດຕັ້ງຄ່າທ້ອງຖິ່ນ (locale) ທີ່ໃຊ້ເພື່ອຄວບຄຸມການຈັດຮູບແບບຕົວເລກ, ວັນທີ ແລະ ສະກຸນເງິນໃນ LibreOffice Basic ໄດ້ທີ່ LibreOffice - ປັບແຕ່ງເຄື່ອງມື - ຕົວເລືອກ - ພາສາ ແລະ ການຕັ້ງຄ່າທ້ອງຖິ່ນ - ທົ່ວໄປ. ໃນລະຫັດຮູບແບບຂອງ Basic, ຈຸດທົດສະນິຍົມ (.) ຈະຖືກໃຊ້ເປັນ ຕົວຈອງບ່ອນ (placeholder) ສຳລັບຕົວແຍກທົດສະນິຍົມທີ່ກຳນົດໄວ້ໃນທ້ອງຖິ່ນຂອງທ່ານ ແລະ ຈະຖືກແທນທີ່ດ້ວຍຕົວອັກສອນທີ່ກ່ຽວຂ້ອງ.

ສິ່ງດຽວກັນນີ້ກໍໃຊ້ກັບການຕັ້ງຄ່າທ້ອງຖິ່ນສຳລັບຮູບແບບວັນທີ, ເວລາ ແລະ ສະກຸນເງິນ. ລະຫັດຮູບແບບ Basic ຈະຖືກແປ ແລະ ສະແດງຜົນຕາມການຕັ້ງຄ່າທ້ອງຖິ່ນຂອງທ່ານ.

### ຕົວຢ່າງ:

        txt = bas.Format(6328.2, '##.##0.00')
        print(txt)

## GetDefaultContext

ສົ່ງຄືນຄອນເທັກ (context) ເລີ່ມຕົ້ນຂອງໂຮງງານບໍລິການຂະບວນການ (process service factory), ຖ້າມີຢູ່, ຖ້າບໍ່ດັ່ງນັ້ນຈະສົ່ງຄືນການອ້າງອີງແບບ null.

GetDefaultContext ແມ່ນທາງເລືອກອື່ນນອກຈາກວິທີການ getComponentContext() ທີ່ມີໃຫ້ໃຊ້ຈາກຕົວປ່ຽນທົ່ວໂລກ XSCRIPTCONTEXT ຫຼື ຈາກໂມດູນ uno.py.

### ໄວຍາກອນ:

svc.GetDefaultContext(): uno

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ຄອນເທັກສ່ວນປະກອບເລີ່ມຕົ້ນຈະຖືກໃຊ້ ເມື່ອມີການສ້າງອິນສະແຕນຊ໌ການບໍລິການຜ່ານ XMultiServiceFactory. ເບິ່ງບົດ Professional UNO ໃນ Developer's Guide ທີ່ api.libreoffice.org ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ.

### ຕົວຢ່າງ:

        ctx = bas.GetDefaultContext()

## GetGuiType

ສົ່ງຄືນຄ່າຕົວເລກທີ່ລະບຸສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ແບບກຣາບຟິກ. ຟັງຊັນນີ້ມີໄວ້ເພື່ອຄວາມເຂົ້າກັນໄດ້ກັບລຸ້ນກ່ອນໆເທົ່ານັ້ນ.

ເບິ່ງວິທີການ system() ຈາກໂມດູນ Python platform ເພື່ອ ລະບຸລະບົບປະຕິບັດການ.

### ໄວຍາກອນ:

svc.GetGuiType(): int

### ຕົວຢ່າງ:

        n = bas.GetGuiType()

ຄຳແນະນຳການຂຽນສະຄຣິບທີ່ມີປະສິດທິພາບກວ່າ ມີໃຫ້ສຶກສາຢູ່ທີ່ໜ້າຊ່ວຍເຫຼືອ ການລະບຸລະບົບປະຕິບັດການ.

• ບໍລິການ ScriptForge.Platform ໃຫ້ຂໍ້ມູນຄຸນສົມບັດຕ່າງໆກ່ຽວກັບສະພາບແວດລ້ອມ ແລະ ບໍລິບົດຂອງການເຮັດວຽກໃນປັດຈຸບັນ, ລວມທັງການກວດຫາແພລັດຟອມ.
• ການລະບຸຊື່ລະບົບປະຕິບັດການຢ່າງລະອຽດ ສາມາດໃຊ້ໄດ້ຈາກສູດ Calc INFO("system").

## GetPathSeparator

ສົ່ງຄືນຕົວຂັ້ນໄດເຣັກທໍຣີຕາມລະບົບປະຕິບັດການ ທີ່ໃຊ້ເພື່ອລະບຸເສັ້ນທາງໄຟລ໌.

ໃຊ້ os.pathsep ຈາກໂມດູນ Python os ເພື່ອ ລະບຸຕົວຂັ້ນເສັ້ນທາງ.

### ໄວຍາກອນ:

svc.GetPathSeparator(): str

### ຕົວຢ່າງ:

        sep = bas.GetPathSeparator()

## GetSystemTicks

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

### ໄວຍາກອນ:

svc.GetSystemTicks(): int

### ຕົວຢ່າງ:

        ticks_ini = bas.GetSystemTicks()
        time.sleep(1)
        ticks_end = bas.GetSystemTicks()
        bas.MsgBox("{} - {} = {}".format(ticks_end, ticks_ini,ticks_end - ticks_ini))

## GlobalScope.BasicLibraries

ສົ່ງຄືນວັດຖຸ UNO ທີ່ປະກອບມີທຸກຄັງສຳນວນ ແລະ ໂມດູນ Basic ທີ່ໃຊ້ຮ່ວມກັນ.

ເມທອດນີ້ແມ່ນສິ່ງທີ່ທຽບເທົ່າໃນ Python ຂອງ GlobalScope.BasicLibraries ໃນສະຄຣິບ Basic.

### ໄວຍາກອນ:

svc.GlobalScope.BasicLibraries(): uno

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

com.sun.star.script.XLibraryContainer

### ຕົວຢ່າງ:

ຕົວຢ່າງຕໍ່ໄປນີ້ຈະໂຫລດໄລບຣາຣີ Gimmicks Basic ຖ້າມັນຍັງບໍ່ທັນໄດ້ຖືກໂຫລດເທື່ອ.

        libs = bas.GlobalScope.BasicLibraries()
        if not libs.isLibraryLoaded("Gimmicks"):
            libs.loadLibrary("Gimmicks")

## GlobalScope.DialogLibraries

ສົ່ງຄືນວັດຖຸ UNO ທີ່ບັນຈຸໄລບຣາຣີກ່ອງໂຕ້ຕອບທີ່ໃຊ້ຮ່ວມກັນທັງໝົດ.

ເມທອດນີ້ແມ່ນສິ່ງທີ່ທຽບເທົ່າໃນ Python ຂອງ GlobalScope.DialogLibraries ໃນສະຄຣິບ Basic.

### ໄວຍາກອນ:

svc.GlobalScope.DialogLibraries(): uno

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

com.sun.star.comp.sfx2.DialogLibraryContainer

### ຕົວຢ່າງ:

ຕົວຢ່າງຕໍ່ໄປນີ້ຈະສະແດງກ່ອງຂໍ້ຄວາມທີ່ມີຊື່ຂອງໄລບຣາຣີກ່ອງໂຕ້ຕອບທີ່ມີຢູ່ທັງໝົດ.

        dlg_libs = bas.GlobalScope.DialogLibraries()
        lib_names = dlg_libs.getElementNames()
        bas.MsgBox("\n".join(lib_names))

## InputBox

### ໄວຍາກອນ:

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

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

prompt: ນິພົດສະຕຣິງທີ່ສະແດງເປັນຂໍ້ຄວາມໃນກ່ອງໂຕ້ຕອບ.

title: ນິພົດສະຕຣິງທີ່ສະແດງຢູ່ໃນແຖບຫົວຂໍ້ຂອງກ່ອງໂຕ້ຕອບ.

default: ນິພົດສະຕຣິງທີ່ສະແດງຢູ່ໃນກ່ອງຂໍ້ຄວາມເປັນຄ່າເລີ່ມຕົ້ນຫາກບໍ່ມີການປ້ອນຂໍ້ມູນອື່ນ.

xpostwips: ນິພົດຈຳນວນຖ້ວນທີ່ກຳນົດຕຳແໜ່ງແນວນອນຂອງກ່ອງໂຕ້ຕອບ. ຕຳແໜ່ງນີ້ແມ່ນພິກັດສຳບູນ ແລະ ບໍ່ໄດ້ອ້າງອີງກັບໜ້າຕ່າງຂອງ LibreOffice.

ypostwips: ນິພົດຈຳນວນຖ້ວນທີ່ກຳນົດຕຳແໜ່ງແນວຕັ້ງຂອງກ່ອງໂຕ້ຕອບ. ຕຳແໜ່ງນີ້ແມ່ນພິກັດສຳບູນ ແລະ ບໍ່ໄດ້ອ້າງອີງກັບໜ້າຕ່າງຂອງ LibreOffice.

ຫາກລະເວັ້ນ xpostwips ແລະ ypostwips, ກ່ອງໂຕ້ຕອບຈະຢູ່ເຄິ່ງກາງໜ້າຈໍ. ຕຳແໜ່ງແມ່ນກຳນົດເປັນ twips.

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

String

### ຕົວຢ່າງ:

        txt = s.InputBox('ກະລຸນາປ້ອນຂໍ້ຄວາມ:', "ຮຽນຜູ້ໃຊ້")
        s.MsgBox(txt, s.MB_ICONINFORMATION, "ການຢືນຢັນຂໍ້ຄວາມ")

ສຳລັບຂໍ້ມູນລະອຽດ ກະລຸນາເບິ່ງທີ່ Input/Output to Screen with Python ໃນ Wiki.

## MsgBox

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

### ໄວຍາກອນ:

bas.MsgBox(prompt: str, [buttons: int], [title: str])[: int]

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

prompt: ນິພົດສະຕຣິງທີ່ສະແດງເປັນຂໍ້ຄວາມໃນກ່ອງໂຕ້ຕອບ. ສາມາດແຊກການຂຶ້ນແຖວໃໝ່ໄດ້ດ້ວຍ Chr$(13).

title: ນິພົດສະຕຣິງທີ່ສະແດງຢູ່ໃນແຖບຫົວຂໍ້ຂອງກ່ອງໂຕ້ຕອບ. ຫາກລະເວັ້ນໄວ້, ແຖບຫົວຂໍ້ຈະສະແດງຊື່ຂອງແອັບພລິເຄຊັນນັ້ນໆ.

buttons: ນິພົດຈຳນວນຖ້ວນໃດໜຶ່ງທີ່ກຳນົດປະເພດຂອງກ່ອງໂຕ້ຕອບ, ລວມທັງຈຳນວນ ແລະ ປະເພດຂອງປຸ່ມທີ່ຈະສະແດງ, ແລະ ປະເພດໄອຄອນ. buttons ແທນການປະສົມຂອງຮູບແບບບິດ, ນັ້ນຄື ສາມາດກຳນົດການປະສົມຂອງອົງປະກອບຕ່າງໆໄດ້ໂດຍການບວກຄ່າຂອງພວກມັນເຂົ້າກັນ:

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

ຕົວເລກຖ້ວນທີ່ເປັນທາງເລືອກ ຕາມລາຍລະອຽດໃນຄຸນສົມບັດ IDxx ຂ້າງເທິງ.

### ຕົວຢ່າງ:

        txt = s.InputBox('ກະລຸນາປ້ອນຂໍ້ຄວາມ:', "ຮຽນຜູ້ໃຊ້")
        s.MsgBox(txt, s.MB_ICONINFORMATION, "ການຢືນຢັນຂໍ້ຄວາມ")

ສຳລັບຂໍ້ມູນລະອຽດ ກະລຸນາເບິ່ງທີ່ Input/Output to Screen with Python ໃນ Wiki.

## Now

ສົ່ງຄືນວັນທີ ແລະ ເວລາປັດຈຸບັນຂອງລະບົບເປັນວັດຖຸ native ຂອງ Python ປະເພດ datetime.datetime.

### ໄວຍາກອນ:

svc.Now(): datetime

### ຕົວຢ່າງ:

        bas.MsgBox(bas.Now(), bas.MB_OK, "Now")

## RGB

ສົ່ງຄືນຄ່າສີເປັນຕົວເລກຖ້ວນ ທີ່ປະກອບດ້ວຍສ່ວນປະກອບຂອງສີແດງ, ສີຂຽວ, ແລະ ສີນ້ຳເງິນ.

### ໄວຍາກອນ:

svc.RGB(red:int, green: int, blue: int): int

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

red: ນິພົດຈຳນວນຖ້ວນໃດໜຶ່ງທີ່ແທນສ່ວນປະກອບສີແດງ (0-255) ຂອງສີປະສົມ.

green: ນິພົດຈຳນວນຖ້ວນໃດໜຶ່ງທີ່ແທນສ່ວນປະກອບສີຂຽວ (0-255) ຂອງສີປະສົມ.

blue: ນິພົດຈຳນວນຖ້ວນໃດໜຶ່ງທີ່ແທນສ່ວນປະກອບສີຟ້າ (0-255) ຂອງສີປະສົມ.

ຄ່າ Long ທີ່ໄດ້ຮັບແມ່ນການຄິດໄລ່ຕາມສູດດັ່ງນີ້:
Result = red×65536 + green×256 + blue.

ພາຍໃຕ້ໂໝດການເຂົ້າກັນໄດ້ກັບ VBA (Option VBASupport 1), ຄ່າ Long ຈະຖືກຄິດໄລ່ເປັນ
Result = red + green×256 + blue×65536
ເບິ່ງ ຟັງຊັນ RGB [VBA]

ກ່ອງໂຕ້ຕອບຕົວເລືອກສີ ຊ່ວຍໃນການຄິດໄລ່ສ່ວນປະກອບສີແດງ, ສີຂຽວ ແລະ ສີຟ້າ ຂອງສີປະສົມ. ການປ່ຽນສີຂໍ້ຄວາມ ແລະ ການເລືອກ ສີກຳນົດເອງ ຈະສະແດງກ່ອງໂຕ້ຕອບຕົວເລືອກສີ.

### ປະເພດຄ່າທີ່ສົ່ງກັບ:

Integer

### ຕົວຢ່າງ:

        YELLOW = bas.RGB(255,255,0)

## Wait

ຟັງຊັນທີ່ສະດວກໃນການເຮັດຊ້ຳຟັງຊັນ Basic Wait() ໃນສະຄຣິບ Python

ໂດຍປົກກະຕິແລ້ວ ວິທີນີ້ແມ່ນບໍ່ຈຳເປັນ. ແຕ່ໂຄງສ້າງແບບ:

            import time
            while True:
                time.sleep(1)

ມີຂໍ້ເສຍຄືມັກຈະເຮັດໃຫ້ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ຂອງ LibreOffice ຄ້າງ. ໃນຂະນະທີ່ລະຫັດຕໍ່ໄປນີ້ອາດຈະເປັນທາງເລືອກທີ່ດີ:

            basic = CreateScriptService('Basic')
            while True:
                basic.Wait(1000)

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

ມິນລິວິນາທີ: ຈຳນວນເວລາ (ເປັນມິນລິວິນາທີ) ທີ່ຈະລໍຖ້າກ່ອນທີ່ໂປຣແກຣມຈະເຮັດວຽກຕໍ່ໄປ.

## Xray

ກວດສອບວັດຖຸ UNO ຫຼື ຕົວປ່ຽນ.

### ໄວຍາກອນ:

svc.Xray(obj: any)

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

obj: ຕົວປ່ຽນ ຫຼື ວັດຖຸ UNO.

### ຕົວຢ່າງ:

        bas.Xray(bas.StarDesktop)

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

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

GlobalScope specifier

ການຂຽນໂປຣແກຣມດ້ວຍສະຄຣິບ Python

uno.fileUrlToSystemPath()

uno.systemPathToFileUrl()

Input/Output to Screen with Python ໃນ wiki

XSCRIPTCONTEXT.getComponentContext()

uno.getComponentContext()

platform.system()

os.pathsep()

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