Contents
Index 🔎︎

# Idaatuu Progiramingii LibreOffice Calc keesaatif

Malli Idaatuuwwan Calc armaan gad keessatti ibsameetiin bal'isuu hojiin ala ta'eera. Idaatuuwwan dura jiran waliin akka walsiman mirkaneeffachuuf quunnamoonni ammas gataa'oo fi deeggaramoodha, garuu Idaatuuwwan haaraa saganteessuuf fankishinoota API haaraa fayyadami.

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 library external DLL so that the Add-In can be successfully attached.

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.

## Yaada Keessatti-Ida'ii

Kuusaan sagantaa keessatti-ida'ii hundi faankishinoota ni kennu. Faankishinootni gariin dhimma bulchiinsaaf oolu. Faankishinoota keetiif maqaa barbaadde filachuu dandeessa. Haa ta'u malee, ulaagaa dabarsuu irratti seeroota barbaachisan hordofuu qaba. Waliigalteewwan maqaa kennuu fi waamuu sirrii hujeffannoowwan adda addaaf tokko miti.

### Functions of Shared Library AddIn DLL

Gadaanaatin, faankishinootni bulchiinsaa FaankishiniiLakkaawwiiArgadhu fi FaankishiniiDeetaaargadhuu jiraachuu qaba. Kana fayyadamuun, faankishinootni akkasumas gosootni ulaagaa fi gatiiwwan deebii argamuu danda'u. Akka gatiiwwan deebiitti, gosootni dachaa fi diraa ni deeggaramu. Akka ulaagaaleetti, dabalataan naannoowwan mandhee Waraantoo Dachaa, Waraantoo Diraa, fi Waraantoo Mandhee ni deeggaramu.

Ulaagaaleen wabii fayyadamuun ni dabarfamu. Kanaafuu, jijjiirraan gatiiwwan kanaa bu'uuraan ni danda'amu. Haa ta'u malee, kun LibreOffice Calc dhaan hin deeggaramu sababni isaas wardii waliin hiikkaa hin kennu.

Kuusaaleen sagantaa yeroo figsisaa irra deebi'anii fe'amuu danda'u akkasumas qabeentootni isaanii faankishinoota bulchiinsaan yaadamuu danda'u. Faankishinii tokkoon tokkoof, odeeffannoon lakkaawii fi gosawwan ulaagaalee, maqoolee faankishinoota keessaa fi alaa akkasumas lakkoofsootni bulchiinsaa ni jiraatu.

Fankishiniin hala wal simeen wamuun bu'aawwan hatattaman kenna.Fankishinoota yeroo riyaalii(fankishiniiwwan wal hin simnee) akkasumaa ni dandanda'ama,haata'uu malee,sababa wal xaxoo ta'aaniif baal'inaan hin ibsaman.

## Oddeeffannoo walii galaa wa'ee walqunnama

Lakkoofsi olaantoo jijjiiramaa fankishinii idaatoo LibreOffice Calc maxxanfame 16 dha:gatiin deebi'uu tokko fi jijjiiramoota fankishinii olaanoo hanga 15 naqa.

Akaakuuwwan deetaa akkaa armaan gaditti hiikamu:

Akaakuuwwan deetaa | Hiikkoo
CALLTYPE | Foddaawwan: FAR PASCAL (_far _pascal) jala kan biraa: durtii(durtii gooree sirna dalagaa)
USHORT | Intijeerii bayitii 2 mallattoo hin qabne
DOUBLE | dhangii hujeffannoo-hirkataa bayitii 8
Paramtype | hujeffannoo-hirkataa kan akka int PTR_DOUBLE =0 qaree gara dachaatti PTR_STRING =1 qaree gara diraa zeroon dhaabbatutti PTR_DOUBLE_ARR =2 qaree gara waraantoo dachaatti PTR_STRING_ARR =3 qaree gara waraantoo diraatti PTR_CELL_ARR =4 qaree gara waraantoo man'eetti NONE =5

## Shared Library DLL functions

Following you will find a description of those functions, which are called at the Shared Library external DLL.

For all Shared Library DLL 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.

### GetFunctionCount()

Lakkoofsa fankishinoota taliiga fankishinii hin qabnee kan ulaagaa wabii kenna. Tokkoon tokkoo fankishinii gidduu 0 fi ncount-1 keessa jiran lakkoofsa qofa mataa issaanii qabu. lakkoofsi kun booda fankishinoota GetFunctionData fi GetParameterDescription dhaf ni barbaadama.

Caasima

void CALLTYPE GetFunctionCount(USHORT& nCount)

Ulaagaa

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.

### GetFunctionData()

Infoormeeshiniiwwan babarchisaa wa'ee fankishinii Add-In hunda murteessa.

Caasima

void CALLTYPE GetFunctionData(USHORT& nNo, char* pFuncName, USHORT& nParamCount, Paramtype* peType, char* pInternalName)

Ulaagaa

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 Library DLL. 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.

Ulaagaaleen pFuncName fi pInternalName waraantoowwan arfiiti, kan LibreOffice Calc keessatti hammamtaa 256n hojjoome dha.

### GetParameterDescription()

Fankishinii Add-In fi ulaagaalee isaatif ibsa gabaabduu kenna. Akka dirqaalatti, fankishiniin kun fankishinii fi ibsa ulaagaa Dhullee keessaa agarsisuu danda'a.

Caasima

void CALLTYPE GetParameterDescription(USHORT& nNo, USHORT& nParam, char* pName, char* pDesc)

Ulaagaa

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 fi pDesc waraantoowwan arfiiti. LibreOffice Calc keessatti hammamtaa 256n hojjooma. Hubadhu iddoo duwwaan Dhullee keessatti argamu kan daanga'e fi kanaafuu arfiileen 256 gutuun gutuutti fayyadamuun hin danda'mu.

## Bal'inoota man'ee

Gabateewwan armaan gadii odeeffannoo wa'ee caasawwan deetaa kan muraa pirogiraamii alaantootin naannoowwan man'ee murteessuf laatamee qaba. Akaakuu deetaa irratti hundaa'uun, LibreOffice Calc'n waraantoo garagaraa sadi addaan baasa.

### Waraantoo Dachaa

Akka ulaagaatti, naannoon man'ee gatiiwwan lakkoofsa/Akaakuu dachaa wajjinii hikamuu danda'u. Waraantoon dachaa LibreOffice Calc keesssaa akka armaan gadiitti hiikama:

Offset | Name | Description
0 | Col1 | Lakkoofsa tarjaa golee gubbaa-bitaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
2 | Tarree1 | Lakkoofsa tarree golee gubbaa-bitaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
4 | caancala1 | Lakkoofsa gabatee golee gubbaa-bitaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
6 | Col2 | Lakkoofsa tarjaa golee jala-mirgaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
8 | Tarree2 | Lakkoofsa tarree golee jala-mirgaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
10 | caancala2 | Lakkoofsa gabatee golee jala-mirgaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
12 | Lakkaa'i | Lakkoofsa misensota armaan gadii. Man'eewwan duwwaan hin lakkaawwaman ykn ni taramu.
14 | Col | Lakkoofsa tarjaa miseensaa. Lakkoofsa kennuun 0 irraa eegala.
16 | Tarree | Lakkoofsa tarree miseensaa; Lakkoofsa kennuun 0 irraa eegala.
18 | caancala | Lakkoofsa gabatee miseensaa; Lakkoofsa kennuun 0 irraa eegala.
20 | Dogongora | Lakkoofsa dogongoraa, gatiin 0 akka "Dogongorri hin jiru"tti hiikama. Yoo miseensi man'ee formulaa irraa dhufe gatiin dogongoraa formulaadhan murteeffama.
22 | Gatii | Jijjiramaa Iee baayitii 8 kan akaakuu dachaa/ xuqaa Bololi'uu
30 | ... | Miseensa itti aanu

### Waraantoo Diraa

Nannoo man'ee, kan gatiiwwan akaakuu deetaa barruu qabuu fi akka waraantoo diraatti hiikame. Waraantoon diraa LibreOffice Calc keessaa akka armaan gadiitti hiikamu:

Offset | Name | Description
0 | Col1 | Lakkoofsa tarjaa golee gubbaa-bitaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
2 | Tarree1 | Lakkoofsa tarree golee gubbaa-bitaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
4 | caancala1 | Lakkoofsa gabatee golee gubbaa-bitaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
6 | Col2 | Lakkoofsa tarjaa golee jala-mirgaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
8 | Tarree2 | Lakkoofsa tarree golee jala-mirgaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
10 | caancala2 | Lakkoofsa gabatee golee jala-mirgaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
12 | Lakkaa'i | Lakkoofsa misensota armaan gadii. Man'eewwan duwwaan hin lakkaawwaman ykn ni taramu.
14 | Col | Lakkoofsa tarjaa miseensaa. Lakkoofsa kennuun 0 irraa eegala.
16 | Tarree | Lakkoofsa tarree miseensaa; Lakkoofsa kennuun 0 irraa eegala.
18 | caancala | Lakkoofsa gabatee miseensaa; Lakkoofsa kennuun 0 irraa eegala.
20 | Dogongora | Lakkoofsa dogongoraa, gatiin 0 akka "Dogongorri hin jiru"tti hiikama. Yoo miseensi man'ee formulaa irraa dhufe gatiin dogongoraa formulaadhan murteeffama.
22 | Len | Dheerina dursaa armaan gadii, cufaa baayitii duwwaa dabalachuun.Yoo dheerinni cuufaa baayitii duwwaa gatii qaraa waliin wal qixa ta'ee baayiiinduwwaa lamata dursaatti ida'amuun gatiin guutuun argama.Kanaafuu,Len ((StrLen+2)&~1) fayyadamun shallagama.
24 | Dursaa | Dursaa Cuufaa baayitii duwwaa waliin
24+Len | ... | Miseensa itti aanu

### Waraantoo man'ee

Waraantoowwan man'ee nannoowwan man'ee barruu akkasumaas lakkoofsota qabate wamuuf fayyada.Waraantoo man'ee LibreOffice Calc akka armaan gaditti hiikama:

Offset | Name | Description
0 | Col1 | Lakkoofsa tarjaa golee gubbaa-bitaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
2 | Tarree1 | Lakkoofsa tarree golee gubbaa-bitaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
4 | caancala1 | Lakkoofsa gabatee golee gubbaa-bitaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
6 | Col2 | Lakkoofsa tarjaa golee jala-mirgaa kan bal'ina man'ee keessaati. Lakkoofsa kennuun 0 irraa eegala.
8 | Tarree2 | Lakkoofsa tarree golee jala-mirgaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
10 | caancala2 | Lakkoofsa gabatee golee jala-mirgaa kan bal'ina man'ee keessaati; Lakkoofsa kennuun 0 irraa eegala.
12 | Lakkaa'i | Lakkoofsa misensota armaan gadii. Man'eewwan duwwaan hin lakkaawwaman ykn ni taramu.
14 | Col | Lakkoofsa tarjaa miseensaa. Lakkoofsa kennuun 0 irraa eegala.
16 | Tarree | Lakkoofsa tarree miseensaa; Lakkoofsa kennuun 0 irraa eegala.
18 | caancala | Lakkoofsa gabatee miseensaa; Lakkoofsa kennuun 0 irraa eegala.
20 | Dogongora | Lakkoofsa dogongoraa, gatiin 0 akka "Dogongorri hin jiru"tti hiikama. Yoo miseensi man'ee formulaa irraa dhufe gatiin dogongoraa formulaadhan murteeffama.
22 | Akaakuu | Akaakuun qabeenya man'ee, == Dachaa, 1 == Diraa
24 | Gatii ykn Dheerina | Yoo akaakuun == 0:8 baayitii IEEE jijjirama akaakuu dachaa/tuqaa bololi'aa Yoo akaakuun == 1: dheerinni dursaa armaan gadii,baayitii duwwaa cufaa dabalachuun.Yoo dheerinni baayitii duwwaa cufaa gatii qaraa waliin wal qixaa ta'ee baayitii duwwaa lammataa dursaatti ida'amuun kanaafuu gatii gutuu argamsiisa.Kanaafuu,dheerinni ((StrLen+2)&1) fayyadamuun shallagama.
yoo akaakuun==1 26 | Dursaa | Yoo akaakuun == 1: dursaan baayitii cufaa duwwaa waliin
32 ykn 26+Len | ... | Miseensa itti aanu