LibreOffice 25.2 सहयोग
Add-Insद्वारा क्याल्क फैलाउने विधि यो तल दिएको अद्यावधिकमा वर्णन गरिन्छ । अवस्थित रहेको Add-Ins सहित अनुकूलता निश्चित गर्नलाई यि इन्टरफेसहरू पहिले देखिनै वैध र समर्थित हुन्छन् । तर प्रोग्रामिङ नयाँ Add-Ins का लागि तपाईँंले नयाँ API प्रकार्यहरू प्रयोग गर्नै पर्दछ ।
LibreOffice Calc can be expanded by Add-Ins, which are external programming modules providing additional functions for working with spreadsheets. These are listed in the Function Wizard in the Add-In category. If you would like to program an Add-In yourself, you can learn here which functions must be exported by the shared libraryexternal DLL so that the Add-In can be successfully attached.
LibreOffice searches the Add-in folder defined in the configuration for a suitable shared libraryDLL. To be recognized by LibreOffice, the shared libraryDLL 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 लाइब्रेरीले पृथक प्रकार्यहरू उपलब्ध गराउँदछन् । केही प्रकार्यहरू प्रशासनिक उद्देश्यहरूका लागि प्रयोग हुन्छन् । तपाईँं लगभग कुनैनाम तपाईँं आफ्नै प्रकार्यका लागि रोज्न सक्नुहुन्छ । यद्यपि, तिनीहरूले परामिति पास गर्दा पनि निश्चित नियम ख्याल गरेर पालना गर्न जरुरी छ । फरक प्लेटफर्महरूका लागि निश्चित नाम राख्ने र बोलाउने प्रथाहरू फरक हुन्छन।
न्यूनतममा, प्रशासनिक प्रकार्यहरू 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 =५ | 
Following you will find a description of those functions, which are called at the Shared Libraryexternal DLL.
For all Shared LibraryDLL functions, the following applies:
void CALLTYPE fn(out, in1, in2, ...)
Output: Resulting value
Input: Any number of types (double&, char*, double*, char**, Cell area), where the Cell area is an array of types double array, string array, or cell array.
सन्दर्भ परामितिको व्यवस्थापन प्रकार्यहरू बाहेक प्रकार्यको सङ्ख्या फर्काउँदछ । प्रत्येक प्रकार्यसँग एउटा अनुपम सङ्ख्या ० र nCount-१ बीचमा हुन्छ । यो सङ्ख्या GetFunctionData र GetParameterDescription प्रकार्य अक्षरका लागि आवश्यक पर्नेछ ।
वाक्य संरचना
void CALLTYPE GetFunctionCount(USHORT& nCount)
परामिति
USHORT &nCount:
Output: Reference to a variable, which is supposed to contain the number of Add-In functions. For example: If the Add-In provides 5 functions for LibreOffice Calc, then nCount=5.
Add-In प्रकार्य बारेमा सबै महत्व पूर्ण सूचनाहरू निर्धारण गर्दछ ।
वाक्य संरचना
void CALLTYPE GetFunctionData(USHORT& nNo, char* pFuncName, USHORT& nParamCount, Paramtype* peType, char* pInternalName)
परामिति
USHORT& nNo:
Input: Function number between 0 and nCount-1, inclusively.
char* pFuncName:
Output: Function name as seen by the programmer, as it is named in the Shared LibraryDLL. This name does not determine the name used in the Function Wizard.
USHORT& nParamCount:
Output: Number of parameters in AddIn function. This number must be greater than 0, because there is always a result value; the maximum value is 16.
Paramtype* peType:
Output: Pointer to an array of exactly 16 variables of type Paramtype. The first nParamCount entries are filled with the suitable type of parameter.
char* pInternalName:
Output: Function name as seen by the user, as it appears in the Function Wizard. May contain umlauts.
pFuncName र pInternalName परामितिहरू char एरेहरू हुन् । जुन चाहिँ साइज २५६ सहित LibreOffice क्याल्कमा लागू गरिन्छ ।
Add-In प्रकार्य र यसका परामितिहरूको वृतान्त वर्णन उपलब्ध गराउँदछ. एउटा विकल्पको रूपमा, यो प्रकार्य प्रकार्य देखाउन र प्रकार्य विजार्ड.मा परामिति वर्णन गर्न प्रयोग गर्न सकिन्छ ।.
वाक्य संरचना
void CALLTYPE GetParameterDescription(USHORT& nNo, USHORT& nParam, char* pName, char* pDesc)
परामिति
USHORT& nNo:
Input: Number of the function in the library; between 0 and nCount-1.
USHORT& nParam:
Input: Indicates, for which parameter the description is provided; parameters start at 1. If nParam is 0, the description itself is supposed to be provided in pDesc; in this case, pName does not have any meaning.
char* pName:
Output: Takes up the parameter name or type, for example, the word "Number" or "String" or "Date", and so on. Implemented in LibreOffice Calc as char[256].
char* pDesc:
Output: Takes up the description of the parameter, for example, "Value, at which the universe is to be calculated." Implemented in LibreOffice Calc as char[256].
pName र pDesc char एरेहरू हुन्; LibreOffice क्याल्क मा साइज २५६ सहित लागू हुन्छन् । कृपया प्रकार्य विजार्डमा उपलब्ध खाली स्थान द्रष्टव्य गर्नुहोस् यो सीमित छ र यसमा २५६ क्यारेक्टरहरू पूरा प्रयोग गर्न सकिँदैन ।
तल दिएका तालिकाहरू जसमा डेटा बनावटहरू कक्ष क्षेत्रमा पास गरेको अनुसार बाहिरी कार्याक्रम मोड्युलद्वारा उपलब्ध गराउन जरुरी पर्ने बारेका सूचनाहरू समावेश गर्दछ । LibreOffice क्याल्क ले तीन फरक प्रकारका एरेहरूको बीचको भिन्नता निकाल्दछ ।
परामितिको रूपमा, सङ्ख्या/डबल प्रकारको मानहरू सहित कक्ष क्षेत्र पास गरिन्छ । LibreOffice क्याल्क मा डबल एरे तल परिभाषित गरिन्छ:
| अफसेट | नाम | वर्णन | 
|---|---|---|
| 0 | स्तम्भ१ | कक्ष क्षेत्रको माथि-बायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 2 | पङ्क्ति १ | कक्ष क्षेत्रको माथि-बायाँ कुनोमा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 4 | तालिका १ | कक्ष क्षेत्रको माथि-बायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 6 | स्तम्भ२ | कक्ष क्षेत्रको तल-दायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 8 | पङ्क्ति२ | कक्ष क्षेत्रको तल-दायाँ कुनामा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 10 | तालिका २ | कक्ष क्षेत्रको तल-दायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 12 | गणना | निम्न तत्वहरूको सङ्ख्या । खाली कक्षहरू गणना गरिएको छैन वा पास गरिएको छैन । | 
| 14 | स्तम्भ | तत्वको स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 16 | पङ्क्ति | तत्वको पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 18 | तालिका | तत्वको तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 20 | त्रुटि | त्रुटि सङ्ख्या, जहाँ मान ० "no error." को रुपमा परिभाषित गरिएको छ । यदि तत्व सूत्र कक्षबाट आएको छ भने त्रुटि मान सूत्र द्वारा निर्धारण गरिएको छ । | 
| 22 | मान | डबल/उत्प्लवन बिन्दु प्रकारको ८बाइत IEEE चल | 
| 30 | ... | पछिल्लो तत्व | 
कक्ष क्षेत्र, जसमा डेटा प्रकार पाठको मानहरू समावेश हुन्छ र स्ट्रिङ एरेको रूपमा पास गर्दछ । LibreOffice क्याल्कमा स्ट्रिङ एरे तल परिभाषित गरिन्छ:
| अफसेट | नाम | वर्णन | 
|---|---|---|
| 0 | स्तम्भ१ | कक्ष क्षेत्रको माथि-बायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 2 | पङ्क्ति १ | कक्ष क्षेत्रको माथि-बायाँ कुनोमा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 4 | तालिका १ | कक्ष क्षेत्रको माथि-बायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 6 | स्तम्भ२ | कक्ष क्षेत्रको तल-दायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 8 | पङ्क्ति२ | कक्ष क्षेत्रको तल-दायाँ कुनामा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 10 | तालिका २ | कक्ष क्षेत्रको तल-दायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 12 | गणना | निम्न तत्वहरूको सङ्ख्या । खाली कक्षहरू गणना गरिएको छैन वा पास गरिएको छैन । | 
| 14 | स्तम्भ | तत्वको स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 16 | पङ्क्ति | तत्वको पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 18 | तालिका | तत्वको तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 20 | त्रुटि | त्रुटि सङ्ख्या, जहाँ मान ० "no error." को रुपमा परिभाषित गरिएको छ । यदि तत्व सूत्र कक्षबाट आएको छ भने त्रुटि मान सूत्र द्वारा निर्धारण गरिएको छ । | 
| 22 | Len | दिएको स्ट्रिङ लम्बाइ, समावेश बन्द शून्य बाइट । यदि लम्बाइ समावेश शून्य बाइट बराबर दोस्रो शून्य बाइटको बिजोर मान स्ट्रिङमा जोडिएमा त्यसले जोर मान लिन्छ । त्यसकारण Len ((StrLen+2)&~1) को प्रयोग गरेर गणना गरिन्छ । | 
| 24 | स्ट्रिङ्ग | बन्द शून्य बाइट सहित स्ट्रिङ | 
| 24+Len | ... | पछिल्लो तत्व | 
कक्ष एरेहरू बोलाउने कक्ष एरेहरू समावेश पाठ को साथ साथै सङ्ख्याहरूमा प्रयोग हुन्छ । कक्ष एरे LibreOffice क्याल्कमा तल परिभाषित गरिएको छ:
| अफसेट | नाम | वर्णन | 
|---|---|---|
| 0 | स्तम्भ१ | कक्ष क्षेत्रको माथि-बायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 2 | पङ्क्ति १ | कक्ष क्षेत्रको माथि-बायाँ कुनोमा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 4 | तालिका १ | कक्ष क्षेत्रको माथि-बायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 6 | स्तम्भ२ | कक्ष क्षेत्रको तल-दायाँ कुनामा स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 8 | पङ्क्ति२ | कक्ष क्षेत्रको तल-दायाँ कुनामा पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 10 | तालिका २ | कक्ष क्षेत्रको तल-दायाँ कुनामा तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 12 | गणना | निम्न तत्वहरूको सङ्ख्या । खाली कक्षहरू गणना गरिएको छैन वा पास गरिएको छैन । | 
| 14 | स्तम्भ | तत्वको स्तम्भ सङ्ख्या । क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 16 | पङ्क्ति | तत्वको पङ्क्ति सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 18 | तालिका | तत्वको तालिका सङ्ख्या; क्रमाङ्कन ० बाट सुरु हुन्छ । | 
| 20 | त्रुटि | त्रुटि सङ्ख्या, जहाँ मान ० "no error." को रुपमा परिभाषित गरिएको छ । यदि तत्व सूत्र कक्षबाट आएको छ भने त्रुटि मान सूत्र द्वारा निर्धारण गरिएको छ । | 
| 22 | प्रकार | कक्ष सामग्रीको प्रकार, ० == डबल, १ == स्ट्रिङ | 
| 24 | मान वा Len | यदि प्रकार == ०: ८ बाइट IEEEडबल/उत्प्लवन बिन्दु प्रकारको चल यदि प्रकार == १: दिएका स्ट्रिङहरूको लम्बाइ, बन्द शून्य बाइट समावेश । यदि बन्द शून्य बाइट समावेश लम्बाइ बराबर दोस्रो शून्य बिजोर मान स्ट्रिङमा थपिएको खण्डमा तिनीहरूले जोर मान ग्रहण गर्दछन् । त्यसकारण,Len ((StrLen+2)&~1) को प्रयोग गरेर गणना गरिन्छ । | 
| २६ यदि प्रकार==1 | स्ट्रिङ्ग | यदि प्रकार == १: बन्द शून्य बाइट सहितको स्ट्रिङ | 
| ३२ वा २६+Len | ... | पछिल्लो तत्व |