ការប្រើបែបផែន និងអនុគមន៍
ដូចខាងក្រោមពណ៌នាអំពីមូលដ្ឋាននៃការប្រើបែបបទ និងអនុគមន៍ក្នុង LibreOffice Basic ។

នៅពេលអ្នកបង្កើតម៉ូឌុលថ្មីមួយ LibreOffice Basic បញ្ចូលដោយស្វ័យប្រវត្តិនូវ SUB មួយហៅថា "Main" ។ ឈ្មោះលំនាំដើមនេះគ្មានអ្វីត្រូវធ្វើជាមួយលំដាប់ ឬចំណុចចាប់ផ្តើមនៃគម្រោង LibreOffice Basic ។ អ្នកក៏អាចប្តូរឈ្មោះ SUB នេះ ។

ការដាក់កម្រិតមួយចំនួន អនុវត្តសម្រាប់ឈ្មោះនៃអថេរសាធារណៈ subs និង functions របស់អ្នក ។ អ្នកមិនត្រូវប្រើឈ្មោះដូចគ្នានឹងម៉ូឌុលណាមួយរបស់បណ្ណាល័យតែមួយឡើយ ។
បែបបទ (SUBS) និងអនុគមន៍ (FUNCTIONS) ជួយអ្នកក្នុងការថែរក្សាទិដ្ឋភាពដែលមានរចនាសម្ព័ន្ធ ដោយចែកកម្មវិធីទៅជាចំណែកសមរម្យ ។
អត្ថប្រយោជន៍មួយនៃបែបបទ និងអនុគមន៍គឺថា នៅពេលអ្នកបានអភិវឌ្ឍកូដកម្មវិធីដោយមានសមាសភាគភារកិច្ច អ្នកអាចប្រើកូដនេះក្នុងគម្រោងផ្សេងទៀត ។
ការហុចអថេរទៅបែបផែន (SUB) និងអនុគមន៍ (FUNCTION)
អថេរអាចត្រូវបានហុចទៅទាំងបែបបទ និងអនុគមន៍ ។ SUB ឬ FUNCTION ត្រូវតែប្រកាសដើម្បីរំពឹងប៉ារ៉ាម៉ែត្រ ។
Sub SubName(Parameter1 As Type, Parameter2 As Type,...)
កូដកម្មវិធី
End Sub
SUB ត្រូវបានហៅដោយប្រើវាក្យសម្ពន្ធដូចខាងក្រោម ៖
SubName(Value1, Value2,...)
ប៉ារ៉ាម៉ែត្រដែលបានហុចទៅ SUB ត្រូវតែសមទៅនឹងប៉ារ៉ាម៉ែត្រដែលបានបញ្ជាក់ក្នុងការប្រកាស SUB ។
ដំណើរការដូចគ្នាដែរក្នុងការអនុវត្ថទៅ FUNCTIONS ។ លើសពីនេះទៀត អនុគមន៍តែងតែត្រឡប់លទ្ធផលអនុគមន៍ ។ លទ្ធផលនៃអនុគមន៍ត្រូវបានកំណត់ដោយផ្តល់នូវតម្លៃត្រឡប់ទៅឈ្មោះអនុគមន៍ ៖
Function FunctionName(Parameter1 As Type, Parameter2 As Type,...) As Type
កូដកម្មវិធី
FunctionName=Result
End Function
FUNCTION ត្រូវបានហៅដោយប្រើវាក្យសម្ពន្ធដូចខាងក្រោម ៖
Variable=FunctionName(Parameter1, Parameter2,...)

អ្នកក៏អាចប្រើឈ្មោះដែលមានគុណសម្បត្តិពេញលេញ ដើម្បីហៅបែបបទ ឬអនុគមន៍មួយ ៖
Library.Module.Macro()
ឧទាហរណ៍ ដើម្បីហៅម៉ាក្រូ Autotext ពីបណ្ណាល័យ Gimmicks ប្រើពាក្យបញ្ជាដូចខាងក្រោម ៖
Gimmicks.AutoText.Main()
ការហុចអថេរដោយតម្លៃ ឬសេចក្តីយោង
ប៉ារ៉ាម៉ែត្រអាចត្រូវបានហុចទៅ SUB ឬ FUNCTION មួយទាំងដោយសេចក្តីយោង ឬដោយតម្លៃ ។ លុះត្រាតែបញ្ជាក់ផ្សេងពីនោះ បើពុំនោះទេប៉ារ៉ាម៉ែត្រនឹងតែងតែត្រូវបានហុចដោយសេចក្តីយោង ។ នោះមានន័យថា SUB ឬ FUNCTION នោះទទួលប៉ារ៉ាម៉ែត្រ និងអាចអាន និងកែប្រែតម្លៃរបស់វា ។
ប្រសិនបើអ្នកចង់ហុចប៉ារ៉ាម៉ែត្រដោយតម្លៃ បញ្ចូលពាក្យគន្លឹះ "ByVal" ពីមុខប៉ារ៉ាម៉ែត្រ នៅពេលអ្នកហៅ SUB ឬ FUNCTION ឧទាហរណ៍ ៖
Result = Function(ByVal Parameter)
ក្នុងករណីនេះ មាតិកាដើមនៃប៉ារ៉ាម៉ែត្រនឹងមិនត្រូវបានកែប្រែដោយ FUNCTION ព្រោះថាវាទទួលតែតម្លៃ និងមិនមែនប៉ារ៉ាម៉ែត្រខ្លួនវា ។
វិសាលភាពនៃអថេរ
អថេរដែលបានកំណត់នៅក្នុង SUB ឬ FUNCTION ត្រឹមត្រូវរហូតដល់ពេលចេញពីទម្រង់ការ ។ វាត្រូវបានស្គាល់ថាជាអថេរ "មូលដ្ឋាន" ។ ករណីជាច្រើន អ្នកត្រូវការឲ្យអថេរត្រឹមត្រូវនៅក្នុងគ្រប់ទម្រង់ការទាំងអស់ នៅក្នុងរាល់ម៉ូឌុលបណ្ណាល័យទាំងអស់ ឬបន្ទាប់ពី SUB ឬ FUNCTION ត្រូវបានចេញ ។
ការប្រកាសអថេរនៅក្រៅ SUB ឬ FUNCTION
GLOBAL VarName As TYPENAME
អថេរអាចប្រើបានរហូតដល់ទីបញ្ចប់នៃសម័យ LibreOffice ។
PUBLIC VarName As TYPENAME
អថេរអាចប្រើបានក្នុងម៉ូឌុលទាំងអស់ ។
PUBLIC VarName As TYPENAME
អថេរអាចប្រើបានតែក្នុងម៉ូឌុលនេះ ។
Dim VarName As TYPENAME
អថេរអាចប្រើបានតែក្នុងម៉ូឌុលនេះ ។
ឧទាហរណ៍សម្រាប់អថេរឯកជន
តម្រូវឲ្យអថេរឯកជនជាម៉ូឌុលឆ្លងឯកជន ដោយកំណត់ CompatibilityMode(true) ។
' ***** Module1 *****
Private myText As String
Sub initMyText
myText = "Hello"
print "in module1 : ", myText
End Sub
' ***** Module2 *****
'Option Explicit
Sub demoBug
CompatibilityMode( true )
initMyText
' Now returns empty string
' (or rises error for Option Explicit)
print "Now in module2 : ", myText
End Sub
ការរក្សាទុកមាតិកាអថេរបន្ទាប់ពីចាកចេញពី SUB ឬ FUNCTION
STATIC VarName As TYPENAME
អថេររក្សាទុកតម្លៃរបស់វារហូតដល់ពេលក្រោយដែល FUNCTION ឬ SUB ត្រូវបានចូល ។ ការប្រកាសត្រូវតែស្ថិតនៅក្នុង SUB ឬ FUNCTION មួយ ។
ការបញ្ជាក់អំពីប្រភេទតម្លៃត្រឡប់នៃ FUNCTION
ដូចគ្នានឹងអថេរដែរ រួមបញ្ចូលតួអក្សរប្រភេទការប្រកាសបន្ទាប់ពីឈ្មោះអនុគមន៍ ឬប្រភេទដែលបញ្ជាក់ដោយ "As" និងពាក្យគន្លឹះត្រូវគ្នាដែលនៅចុងបញ្ជីប៉ារ៉ាម៉ែត្រ ដើម្បីកំណត់ប្រភេទនៃតម្លៃត្រឡប់របស់អនុគមន៍ ឧទាហរណ៍ ៖
Function WordCount(WordText As String) As Integer