कार्य-विधिहरू र प्रकार्यहरूको प्रयोग

आधारभूत LibreOfficeमा कार्यविधी र प्रकार्यहरूको आधारभूत प्रयोग तल वर्णन गरिन्छ ।

द्रष्टव्य प्रतिमा

जब तपाईँ नयाँ मोड्युल सिर्जना गर्नुहुन्छ, आधारभूत LibreOffice स्वचालित तरीकाले "मुख्य" बुझाउने SUB मा घुस्दछ । यो क्रम अनुसार वा आधारभूत LibreOffice परियोजनाको सुरुको बिन्दुसँग पूर्वनिर्धारित नामले केही पनि गर्न सक्तैन । तपाईँ यो SUB लाई सुरक्षित तरीकाले पुन: नामकरण पनि गर्न सक्नुहुन्छ ।


द्रष्टव्य प्रतिमा

Some restrictions apply for the names of your public variables, subs, and functions. You must not use the same name as one of the modules of the same library.


कार्यविधी (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 निम्न वाक्य संरचनालाई प्रयोग गरेर कल गरिन्छ:


चल=प्रकार्यनाम(परामिति१, परामिति२,...)
टिप प्रतिमा

तपाईँले पनि पूर्ण योग्य नाम प्रयोग गर्न प्रक्रिया वा प्रकार्यलाई कल गर्न सक्नुहुन्छ:
Library.Module.Macro()
उदाहरणका लागि, स्वत: टेक्स्ट म्याक्रोलाई कल गर्न जिमिक्स्स लाइब्रेरीबाट, निम्न आदेश प्रयोग गर्नुहोस्:
Gimmicks.AutoText.Main()


मान वा सन्दर्भद्वारा चलहरू पास गर्दै

परिमितिहरूले SUB वा FUNCTION लाई या सन्दर्भ वा मानद्वारा पास गर्न सकिनेछ । यदि यो नभए , विशिष्ट्ठ पारामितिहरू प्राय सन्दर्भद्वारा नै पास हुन्छन् । त्यसको अर्थ SUB वा FUNCTION ले परामिति पाउनेछन् र यसको मानलाई पढ्न र परिमार्जन गर्न सकिन्छ ।

कुञ्जी "ByVal"शब्दमा घुसाएको मानद्वारा परामितिको पृष्ठभूमिमा यदि परामिति पासगर्न चाहनुहुन्छ भने तपाईँ SUB वा FUNCTION लाई कल गर्न सक्नुहुन्छ, उदाहणका लागि:


Result = Function(ByVal Parameter)

यो केशमा, परामितिको मौलिक बिषयवस्तु प्रकार्यद्वारा परिमार्जन गर्न सकिँदैन किनभने यो आफैमा परामिति होइन यसले परामितिको मान मात्र पाउछ ।

चलहरूको कार्यक्षेत्र

एउटा चलले SUB वा FUNCTION भित्र मात्र परिभाषित गर्दछ, कार्यविधी अवस्थित रहेसम्म मात्र वैधानिकता बाँकि रहन्छ । यसले "स्थानिय" चललाई बुझाउछ । यस्ता धेरै केशहरूमा, सबै कार्यविधीहरू वैध बनाउनलाई, सबै लाइब्रेरीहरूको प्रत्येक मोड्युलमा,SUB वा FUNCTION पछि अवस्थित भएका चलको आवश्यकता पर्दछ ।

चलहरू SUB वा FUNCTION बाहिर घोषणा गर्दैछ


DIM GLOBAL VarName As TYPENAME

LibreOffice सत्र अन्तिम हुदा सम्म चल वैध हुन्छ ।


DIM PUBLIC VarName As TYPENAME

सबै मोड्युलहरूमा चलहरू वैध हुन्छन् ।


DIM PUBLIC VarName As TYPENAME

चल केबल यो मोड्युलमा मात्र वैध हुन्छ ।


DIM PUBLIC VarName As TYPENAME

चल केबल यो मोड्युलमा मात्र वैध हुन्छ ।

Example for private variables

Enforce private variables to be private across modules by setting 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 raises error for Option Explicit)
    Print "Now in module2 : ", myText
End Sub

SUB वा FUNCTION बाट निकास चल सामग्रीहरू बचत गर्दैछ


DIM STATIC VarName As TYPENAME

अर्को पटक FUNCTION वा SUB प्रविष्ट नभए सम्म चलले यसको मान राखि राख्दछ । घोषणा SUB वा FUNCTION को भित्र अवस्थित हुनु पर्दछ ।

एउटा FUNCTION को फिर्ता मान प्रकार निर्दिष्ट गर्दै

चलहरूको रूपमा, प्रकार्य नाम पछि प्रकार-घोषणा क्यारेक्टर समावेश गर्नुहोस्, वा "जस्तै"द्वारा देखाइएको प्रकार र प्रकार्यको फिर्ता मानको प्रकार परिभाषा गर्नलाई परामिति सूचीको अन्त्यमा संगति कुञ्जी शब्द, उदाहरणका लागि:


Function WordCount(WordText As String) As Integer