Module
Contents
Index 🔎︎

# LibreOffice क्याल्कमा प्रोग्रामिङ्गका लागि थप्नुहोस्

Add-Insद्वारा क्याल्क फैलाउने विधि यो तल दिएको अद्यावधिकमा वर्णन गरिन्छ । अवस्थित रहेको Add-Ins सहित अनुकूलता निश्चित गर्नलाई यि इन्टरफेसहरू पहिले देखिनै वैध र समर्थित हुन्छन् । तर प्रोग्रामिङ नयाँ Add-Ins का लागि तपाईँंले नयाँ API प्रकार्यहरू प्रयोग गर्नै पर्दछ ।

Add-Insद्वारा LibreOffice क्याल्क फैल्याउन सकिन्छ,जसमा बाहिरी प्रोग्रामिङ्घ मोड्युलहरूले स्प्रेडसिट सहित कार्य गर्नका लागि थप प्रकाय उपलब्ध गर्दछन् । तिनीहरू Add-Inकोटि भित्र प्रकार्य विजार्ड सूचीकृत हुन्छन् । यदि तपाईँंले आफै कार्याक्रम Add-In गर्न चाहेको खण्डमा तपाईँंले यहाँ सिक्न सक्नु हुन्छ जुन प्रकार्यहरूसेयर्ड लाइब्रेरी बाहिरी DLL
द्वारा निर्यात गर्न जरुरी हुन्छ । जसको कारण Add-In सफलता पूर्वक संलग्न होस् ।

LibreOffice searches the Add-in folder defined in the configuration for a suitable shared library DLL
. To be recognized by LibreOffice, the shared library DLL
must have certain properties, as explained in the following. This information allows you to program your own Add-In for Function Wizard of LibreOffice Calc.

## Add-In धारणा

प्रत्येक Add-In लाइब्रेरीले पृथक प्रकार्यहरू उपलब्ध गराउँदछन् । केही प्रकार्यहरू प्रशासनिक उद्देश्यहरूका लागि प्रयोग हुन्छन् । तपाईँं लगभग कुनैनाम तपाईँं आफ्नै प्रकार्यका लागि रोज्न सक्नुहुन्छ । यद्यपि, तिनीहरूले परामिति पास गर्दा पनि निश्चित नियम ख्याल गरेर पालना गर्न जरुरी छ । फरक प्लेटफर्महरूका लागि निश्चित नाम राख्ने र बोलाउने प्रथाहरू फरक हुन्छन।

### सेयर्ड लाइब्रेरी AddIn DLL
को प्रकार्य ।

न्यूनतममा, प्रशासनिक प्रकार्यहरू GetFunctionCount and GetFunctionDataनिकाल्नु पर्दछ । तिनीहरूलाई प्रयोग गर्दा, परामिति प्रकार जत्तिकै प्रकार्यहरू र निर्धारण गर्न सकिने मानहरू फर्काउँदछ । फर्कने मानहरूको रूपमा, डबल र स्ट्रिङ प्रकारहरूले समर्थन गर्दछन । परामितिहरूको रूपमा, अतिरिक्त कक्ष क्षेत्रहरूडबल एरे, स्ट्रिङ एरे, र कक्ष एरे समर्थन गर्दछन् ।

सन्दर्भहरू प्रयोग हुँदा परामितिहरूले पासगर्दछन् । त्यसकारण,ती मानहरूको परिवर्तन गर्न सामान्यत: सम्भव हुन्छ । यद्यपी,यसले LibreOffice क्याल्क समर्थन गर्दैन किन भने यसले स्प्रेडसिटहरू भित्र अर्थ युक्त काम गर्दैन ।

रनटाइमको बेला लाइब्रेरीहरू पुन: लोड हुन सक्दछन र ती सामग्रीहरू प्रशासनिक प्रकार्यहरूद्वारा विश्लेषण गर्न सकिन्छ । प्रत्येक प्रकार्यका लागि, परामितिहरू गणना र प्रकारको बारेमा सूचनाहरू उपब्ध हुन्छ ।

प्रकार्यहरू तत्कालै बोलाउँदछ र तिनीहरूको परिणाम तुरुन्तै प्रतिफल गर्दछ । वास्तविक समय प्रकार्यहरू(तत्कालिन प्रकार्यहरू) पनि सम्भव हुन्छन्; यद्यपी,तिनीहरू तिनीहरूकै जटिलता कारणले गर्दा विस्तारमा व्याख्या गरिएका हुँदैनन् .

## इन्टरफेसको बारेमा सामान्य जानकारीहरू

Add-In प्रकार्यमा अधिकतम परामितिहरूको सङ्ख्या LibreOffice क्याल्क १६मा समाहित गरेको हुन्छ: एउटा फर्कने मान र अधिकतम १५ प्रकार्यहरूको आगत परामितिहरू ।

डेटा प्रकारहरू तल परिभाषित गरिन्छ:

डेटा प्रकारहरू | परिभाषा
CALLTYPE | तल्ला सञ्झ्यालहरू: FAR PASCAL (_far _pascal) अन्य:पूर्वनिर्धारित (सञ्चालन प्रणाली निर्दिष्ट पूर्वनिर्धारित)
USHORT | २ बाइट साइन नगरिएका इन्टिजर
DOUBLE | ८ बाइट प्लेटफर्म-आधारित ढाँचा
Paramtype | int जस्तै प्लेटफर्म-आधारित PTR_DOUBLE =० डबलमा देखाउने PTR_STRING = १ शून्य-समाप्त स्ट्रिङमा देखाउने । PTR_DOUBLE_ARR =२ डबल एरेमा देखाउने PTR_STRING_ARR =३ स्ट्रिङ एरेमा देखाउने PTR_CELL_ARR =४ कक्ष एरेमा देखाउने NONE =५

## सेयर्ड लाइब्रेरी DLL
प्रकार्यहरू

तल दिएकोमा तपाईँं ती प्रकार्यहरूको वर्णन भेटाउन सक्ननुहुनेछ, जुन सेयर्ड लाइब्रेरी बाहिरी DLL
मा बोलाइन्छ ।

सबैका लागि सेयर्ड लाइब्रेरी DLL
प्रकार्यहरूमा,दिएका लागू हुन्छन्:

void CALLTYPE fn(out, in1, in2, ...)

निर्गत: परिणाम मान

आगत:प्रकारहरू (double&, char*, double*, char**, Cell area) को कुनै सङ्ख्या , जहाँ कक्ष क्षेत्रडबल एरे प्रकारहरूको एउटा एरे , स्ट्रिङ एरे वा कक्ष एरे हो ।

### GetFunctionCount()

सन्दर्भ परामितिको व्यवस्थापन प्रकार्यहरू बाहेक प्रकार्यको सङ्ख्या फर्काउँदछ । प्रत्येक प्रकार्यसँग एउटा अनुपम सङ्ख्या ० र nCount-१ बीचमा हुन्छ । यो सङ्ख्या GetFunctionData र GetParameterDescription प्रकार्य अक्षरका लागि आवश्यक पर्नेछ ।

वाक्य संरचना

CALLTYPE GetFunctionCount(USHORT& nCount) शून्य गर्नुहोस् ।

परामिति

USHORT &nCount:

निर्गत: चलमा सन्दर्भ,जुन Add-In प्रकार्यको सङ्ख्या समावेश गराउनलाई मानिएको हन्छ । उदाहरणका लागि: यदि Add-In ले LibreOffice क्याल्क ५ प्रकार्यहरू उपलब्ध गराउँदछ त्यसपछि nCount=५ ।

### GetFunctionData()

Add-In प्रकार्य बारेमा सबै महत्व पूर्ण सूचनाहरू निर्धारण गर्दछ ।

वाक्य संरचना

CALLTYPE GetFunctionData(USHORT& nNo, char* pFuncName, USHORT& nParamCount, Paramtype* peType, char* pInternalName) शून्य गराउनु होस्

परामिति

USHORT& nNo:

आगत: प्रकार्य सङ्ख्या ० र nCount-1 बीचमा समावेश गर्दछ ।

char* pFuncName:

निर्गत: कार्यक्रम कर्ताद्वारा देखाएको नाम प्रकार्य,यस रूपमा सेयर्ड लाइब्रेरीDLL
नाम राखिएको हुन्छ । यो नाम प्रकार्य विजार्डमा निर्धारण गरेको नाम होइन ।

USHORT& nParamCount:

निर्गत: AddIn प्रकार्यमा परामितिहरूको सङ्ख्या यो सङ्ख्या ० भन्दा बढी हुन जरुरी छ , किन भने तिनीहरू प्रायजसो परिणाम मान हुन्छन् ; अधिकतम मान १६ हो ।

Paramtype* peType:

निर्गत:Paramtype प्रकारको निश्चित १६ वटा चलहरूको एरेमा देखाउँदछ । पहिलो nParamCount प्रविष्टिहरू परामितिको उपयुक्त प्रकार सहित भरिएको हुन्छ ।

char* pInternalName:

निर्गत: प्रयोग कर्ताद्वारा प्रकार्य नाम देखाउँदछ, यस रूपमा Function Wizard मा देखा पर्दछ । umlauts समावेश गराउन पनि सक्दछ ।

pFuncName र pInternalName परामितिहरू char एरेहरू हुन् । जुन चाहिँ साइज २५६ सहित LibreOffice क्याल्कमा लागू गरिन्छ ।

### GetParameterDescription()

Add-In प्रकार्य र यसका परामितिहरूको वृतान्त वर्णन उपलब्ध गराउँदछ. एउटा विकल्पको रूपमा, यो प्रकार्य प्रकार्य देखाउन र प्रकार्य विजार्ड.मा परामिति वर्णन गर्न प्रयोग गर्न सकिन्छ ।.

वाक्य संरचना

CALLTYPE GetParameterDescription(USHORT& nNo, USHORT& nParam, char* pName, char* pDesc) शून्य गराउँदछ ।

परामिति

USHORT& nNo:

Input: पुस्तकमा प्रकार्यको सङ्ख्या ; ० र nCount-1को बीचमा ।

USHORT& nParam:

आगत: तोक्दछ, जुन परामितिका लागि वर्णन उपलब्ध गरिन्छ ; परामितिहरू १ बाट सुरु हुन्छन । यदि nParam ० भएको खण्डमा , वर्णन यो आफै pDescमा उपलब्ध गराउन लाई मानिएको हुन्छ; यो केसमा, pName ले कुनै पनि अर्थ दिदैन ।

char* pName:

निर्गत: परामिति नाम वा प्रकार लिन्छ, उदाहरणका लागि, शब्द "Number" वा "String" वा "Date", र यस्तै अरू पनि । char[256] को रूपमा LibreOffice क्याल्क मा लागू गर्नुहोस् ।

char* pDesc:

निर्गत:परामितिको वर्णन लिन्छ , उदाहरणका लागि, "Value, at which the universe is to be calculated." char[256] को रूपमा LibreOffice क्याल्कमा लागू गर्नुहोस् ।

pName र pDesc char एरेहरू हुन्; LibreOffice क्याल्क मा साइज २५६ सहित लागू हुन्छन् । कृपया प्रकार्य विजार्डमा उपलब्ध खाली स्थान द्रष्टव्य गर्नुहोस् यो सीमित छ र यसमा २५६ क्यारेक्टरहरू पूरा प्रयोग गर्न सकिँदैन ।

## कक्ष क्षेत्रहरू

तल दिएका तालिकाहरू जसमा डेटा बनावटहरू कक्ष क्षेत्रमा पास गरेको अनुसार बाहिरी कार्याक्रम मोड्युलद्वारा उपलब्ध गराउन जरुरी पर्ने बारेका सूचनाहरू समावेश गर्दछ । LibreOffice क्याल्क ले तीन फरक प्रकारका एरेहरूको बीचको भिन्नता निकाल्दछ ।

### डबल एरे

परामितिको रूपमा, सङ्ख्या/डबल प्रकारको मानहरू सहित कक्ष क्षेत्र पास गरिन्छ । LibreOffice क्याल्क मा डबल एरे तल परिभाषित गरिन्छ:

अफसेट | नाम | वर्णन
0 | स्तम्भ१ | कक्ष क्षेत्रको माथि-बायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
2 | पङ्क्ति १ | कक्ष क्षेत्रको माथि-बायाँ कुनोमा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
4 | तालिका १ | कक्ष क्षेत्रको माथि-बायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
6 | स्तम्भ२ | कक्ष क्षेत्रको तल-दायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
8 | पङ्क्ति२ | कक्ष क्षेत्रको तल-दायाँ कुनामा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१० | तालिका २ | कक्ष क्षेत्रको तल-दायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१२ | गणना | निम्न तत्वहरूको सङ्ख्या । खाली कक्षहरू गणना गरिएको छैन वा पास गरिएको छैन ।
१४ | स्तम्भ | तत्वको स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
१६ | पङ्क्ति | तत्वको पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१८ | तालिका | तत्वको तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
२० | त्रुटि | त्रुटि सङ्ख्या, जहाँ मान ० "no error." को रुपमा परिभाषित गरिएको छ । यदि तत्व सूत्र कक्षबाट आएको छ भने त्रुटि मान सूत्र द्वारा निर्धारण गरिएको छ ।
२२ | मान | डबल/उत्प्लवन बिन्दु प्रकारको ८बाइत IEEE चल
३० | ... | पछिल्लो तत्व

### स्ट्रिङ एरे

कक्ष क्षेत्र, जसमा डेटा प्रकार पाठको मानहरू समावेश हुन्छ र स्ट्रिङ एरेको रूपमा पास गर्दछ । LibreOffice क्याल्कमा स्ट्रिङ एरे तल परिभाषित गरिन्छ:

अफसेट | नाम | वर्णन
0 | स्तम्भ१ | कक्ष क्षेत्रको माथि-बायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
2 | पङ्क्ति १ | कक्ष क्षेत्रको माथि-बायाँ कुनोमा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
4 | तालिका १ | कक्ष क्षेत्रको माथि-बायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
6 | स्तम्भ२ | कक्ष क्षेत्रको तल-दायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
8 | पङ्क्ति२ | कक्ष क्षेत्रको तल-दायाँ कुनामा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१० | तालिका २ | कक्ष क्षेत्रको तल-दायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१२ | गणना | निम्न तत्वहरूको सङ्ख्या । खाली कक्षहरू गणना गरिएको छैन वा पास गरिएको छैन ।
१४ | स्तम्भ | तत्वको स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
१६ | पङ्क्ति | तत्वको पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१८ | तालिका | तत्वको तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
२० | त्रुटि | त्रुटि सङ्ख्या, जहाँ मान ० "no error." को रुपमा परिभाषित गरिएको छ । यदि तत्व सूत्र कक्षबाट आएको छ भने त्रुटि मान सूत्र द्वारा निर्धारण गरिएको छ ।
२२ | Len | दिएको स्ट्रिङ लम्बाइ, समावेश बन्द शून्य बाइट । यदि लम्बाइ समावेश शून्य बाइट बराबर दोस्रो शून्य बाइटको बिजोर मान स्ट्रिङमा जोडिएमा त्यसले जोर मान लिन्छ । त्यसकारण Len ((StrLen+2)&~1) को प्रयोग गरेर गणना गरिन्छ ।
२४ | स्ट्रिङ्ग | बन्द शून्य बाइट सहित स्ट्रिङ
२४+Len | ... | पछिल्लो तत्व

### कक्ष एरे

कक्ष एरेहरू बोलाउने कक्ष एरेहरू समावेश पाठ को साथ साथै सङ्ख्याहरूमा प्रयोग हुन्छ । कक्ष एरे LibreOffice क्याल्कमा तल परिभाषित गरिएको छ:

अफसेट | नाम | वर्णन
0 | स्तम्भ१ | कक्ष क्षेत्रको माथि-बायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
2 | पङ्क्ति १ | कक्ष क्षेत्रको माथि-बायाँ कुनोमा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
4 | तालिका १ | कक्ष क्षेत्रको माथि-बायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
6 | स्तम्भ२ | कक्ष क्षेत्रको तल-दायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
8 | पङ्क्ति२ | कक्ष क्षेत्रको तल-दायाँ कुनामा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१० | तालिका २ | कक्ष क्षेत्रको तल-दायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१२ | गणना | निम्न तत्वहरूको सङ्ख्या । खाली कक्षहरू गणना गरिएको छैन वा पास गरिएको छैन ।
१४ | स्तम्भ | तत्वको स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ ।
१६ | पङ्क्ति | तत्वको पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
१८ | तालिका | तत्वको तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ ।
२० | त्रुटि | त्रुटि सङ्ख्या, जहाँ मान ० "no error." को रुपमा परिभाषित गरिएको छ । यदि तत्व सूत्र कक्षबाट आएको छ भने त्रुटि मान सूत्र द्वारा निर्धारण गरिएको छ ।
२२ | प्रकार | कक्ष सामग्रीको प्रकार, ० == डबल, १ == स्ट्रिङ
२४ | मान वा Len | यदि प्रकार == ०: ८ बाइट IEEEडबल/उत्प्लवन बिन्दु प्रकारको चल यदि प्रकार == १: दिएका स्ट्रिङहरूको लम्बाइ, बन्द शून्य बाइट समावेश । यदि बन्द शून्य बाइट समावेश लम्बाइ बराबर दोस्रो शून्य बिजोर मान स्ट्रिङमा थपिएको खण्डमा तिनीहरूले जोर मान ग्रहण गर्दछन् । त्यसकारण,Len ((StrLen+2)&~1) को प्रयोग गरेर गणना गरिन्छ ।
२६ यदि प्रकार==1 | स्ट्रिङ्ग | यदि प्रकार == १: बन्द शून्य बाइट सहितको स्ट्रिङ
३२ वा २६+Len | ... | पछिल्लो तत्व