IBM Lotus Symphony


Dodatek za programiranje v programu Lotus Symphony Spreadsheets

Ikona opozorila Metoda za razširjanje programa Lotus® Symphony™ Spreadsheets z dodatki, ki je opisna v naslednjih odsekih, ni več veljavna. Vmesniki so še vedno veljavni in podprti za zagotavljanje združljivosti z obstoječimi dodatki, vendar morate za programiranje novih dodatkov uporabiti nove funkcije API-ja.

Lotus Symphony Spreadsheets je mogoče razširiti z dodatki, ki so zunanji moduli za programiranje, ki nudijo dodatne funkcije za delo s preglednicami. Te so navedene v Čarovniku za funkcije v kategoriji Dodatek. Če želite sami programirati dodatek, lahko tukaj najdete informacije o tem, katere funkcije morate izvoziti z zunanjim DLL-jem, da lahko dodatek uspešno priključite.

Lotus Symphony poišče mapo dodatka, je definirana v konfiguraciji za ustrezen DLL. Da ga lahko Lotus Symphony prepozna, mora DLL imeti določene lastnosti, kot je razloženo v nadaljevanju. Te informacije vam omogočajo, da sprogramirate svoj Dodatek za Čarovnika za funkcije programske opreme Lotus Symphony Spreadsheets.

Koncept dodatka

Vsaka knjižnica dodatkov nudi več funkcij. Nekatere funkcije se uporabljajo v skrbniške namene. Za svoje funkcije lahko izberete skoraj katerokoli ime. Vendar pa morajo upoštevati določena pravila glede posredovanja parametrov. Natančna pravila za poimenovanje in klicanje so odvisna od platforme.

Funkcije DLL-ja dodatka

Obstajati morata vsaj funkciji GetFunctionCount in GetFunctionData. S temi funkcijami lahko določite funkcije in vrste parametrov ter vrnjene vrednosti. Kot vrnjeni vrednosti sta podprti vrsti Double (število z dvojno dolžino) in String (niz). Kot parametri so podprta področja celic Double Array, String Array in Cell Array.

Parametri se posredujejo s sklici. Zato je sprememba teh vrednosti v osnovi možna. Vendar pa to ni podprto v programu Lotus Symphony Spreadsheets, ker to ni smiselno v preglednicah.

Knjižnice lahko znova naložite med izvajanjem, vsebino pa lahko analizirate s skrbniškimi funkcijami. Za vsako funkcijo so na voljo informacije o števcu in vrsti parametrov, imenih notranjih in zunanjih funkcij ter skrbniški številki.

Funkcije se kličejo sinhrono, njihovi rezultati pa so vrnjeni nemudoma. Možne so tudi funkcije v realnem času (asinhrone funkcije), vendar le-te niso razložene podrobno zaradi njihove kompleksnosti.

Splošne informacije o vmesniku

Največje število parametrov v funkciji dodatkov programa Lotus Symphony Spreadsheets je 16: ena vrnjena vrednost in največ 15 vhodnih parametrov funkcije.

Vrste podatkov so definirane na naslednjih način:

Tabela 1. Definicije vrst podatkov
Vrsta podatkov Definicija
CALLTYPE

V sistemu Windows: FAR PASCAL (_far _pascal)

Drugo: privzeto (privzete nastavitve, specifične za operacijski sistem)

USHORT 2-bajtno celo število brez predznaka
DOUBLE 8-bajtna oblika, odvisna od platforme
Paramtype

od platforme odvisno, kot je int

PTR_DOUBLE =0 kazalnik na double (decimalno število z dvojno dolžino)

PTR_STRING =1 kazalnik na niz, ki se konča z ničlo

PTR_DOUBLE_ARR =2 kazalnik na double array (matrika realih števil z dvojno natančnostjo)

PTR_STRING_ARR =3 kazalnik na nizovno matriko

PTR_CELL_ARR =4 kazalnik na cell array (celična matrika)

NONE =5

Funkcije DLL

V nadaljevanju boste našli opis funkcij, ki so klicane v zunanjem DLL-ju.

Za vse funkcije DLL velja naslednje:

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

Izhodni podatki: Nastala vrednost

Vhodni podatki: Katerokoli število vrst (double&, char*, double*, char**, Cell area), pri čemer je Cell area matrika vrste matrike realih števil z dvojno natančnostjo, nizovna matrika ali celična matrika.

GetFunctionCount()

Vrne število funkcije brez upravljalnih funkcij parametra sklica. Vsaka funkcija ima unikatno število med 0 in nCount-1. To število je potrebno za funkciji GetFunctionData in GetParameterDescription.

Skladnja

void CALLTYPE GetFunctionCount(USHORT& nCount)

Parameter

USHORT &nCount:

Izhodni podatki: Sklic na spremenljivko, ki naj bi vsebovala število funkcij dodatka. Na primer: Če dodate nudi 5 funkcij za Lotus Symphony Spreadsheets, potem velja nCount=5.

GetFunctionData()

Določa vse pomembne informacije o funkciji dodatka.

Skladnja

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

Parameter

USHORT& nNo:

Vhodni podatki: Število funkcije med 0 in vključno nCount-1.

char* pFuncName:

Izhodni podatki: Ime funkcije, kot jo vidi programer in kot je poimenovana v DLL-ju. To ime ne določa imena, uporabljenega v čarovniku za funkcije.

USHORT& nParamCount:

Izhodni podatki: Število parametrov v funkciji dodatka. To število mora biti večje od 0, ker vedno obstaja nastala vrednost. Največja vrednost je 16.

Paramtype* peType:

Izhodni podatki: Kazalec na matriko z natanko 16 spremenljivkami vrste Paramtype. Prvi vnosi nParamCount so zapolnjeni z ustrezno vrsto parametra.

char* pInternalName:

Izhodni podatki: Ime funkcije, kot jo vidi uporabnik in kot se pojavi v čarovniku za funkcije. Lahko vsebuje preglase.

Parametra pFuncName in pInternalName sta matriki znakov, ki sta implementirani z velikostjo 256 v programu Lotus Symphony Spreadsheets.

GetParameterDescription()

Nudi kratek opis funkcije dodatka in njegovih parametrov. Kot možnost lahko s to funkcijo pokažete opis funkcije in parametra v Čarovniku za funkcije.

Skladnja

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

Parameter

USHORT& nNo:

Vhodni podatki: Številka funkcije v knjižnici; med 0 in nCount-1.

USHORT& nParam:

Vhodni podatki: Nakazuje, za kateri parameter je na voljo opis. Parametri se začnejo z 1. Če je nParam enak 0, bi moral biti opis podan v pDesc. V tem primeru pName nima nobenega pomena.

char* pName:

Izhodni podatki: Vzame ime ali vrsto parametra, na primer besedo "Število" ali "Niz" ali "Datum" in tako dalje. Implementirano v programski opremi Lotus Symphony Spreadsheets kot znak char[256].

char* pDesc:

Izhodni podatki: Vzame opis parametra, na primer "Vrednost, pri kateri naj se izračuna univerzalna množica." Implementirano v programski opremi Lotus Symphony Spreadsheets kot znak char[256].

pName in pDesc sta matriki char (znakov), implementirani v Lotus Symphony Spreadsheets z velikostjo 256. Prosimo, pomnite, da je prostor, ki je na voljo v Čarovniku za funkcije, omejen in da ni mogoče uporabiti vseh 256 znakov.

Področja celic

Naslednje tabele vsebujejo informacije o tem, katere podatkovne strukture mora nuditi zunanji programski modul, da lahko posreduje področja celic. Lotus Symphony Spreadsheets razlikuje med tremi različnimi matrikami glede na vrsto podatkov.

Matrika realnih števil z dvojno natančnostjo

Kot parameter je mogoče posredovati področje celic z vrednostmi vrste Število/Realno število z dvojno natančnostjo. Matrika realnih števil z dvojno natančnostjo je v programski opremi Lotus Symphony Spreadsheets definirana, kot sledi:

Tabela 2. Definicija dvojnega polja
Odmik Ime Opis
0 Col1 Številka stolpca v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
2 Row1 Številka vrstice v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
4 Tab1 Številka tabele v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
6 Col2 Številka stolpca v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
8 Row2 Številka vrstice v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
10 Tab2 Številka tabele v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
12 Številka Številka naslednjih elementov. Prazne celice niso preštete ali posredovane.
14 Col Številka stolpca elementa. Oštevilčevanje se začne z 0.
16 Vrstica Številka vrstice elementa. Oštevilčevanje se začne z 0.
18 Tabulator Številka tabele elementa. Oštevilčevanje se začne z 0.
20 Napaka Številka napake, kjer je vrednost 0 definirana kot "brez napake". Če element prihaja iz celice s formulo, vrednost napake določi formula.
22 Vrednost 8-bajtna spremenljivka IEEE vrste realnega števila z dvojno natančnostjo/plavajočo vejico
30 ... Naslednji element

Nizovna matrika

Področje celic, ki vsebuje vrednosti vrste podatkov Besedilo in je posredovano kot nizovna matrika. Nizovno matrika je v programski opremi Lotus Symphony Lotus Symphony Spreadsheets definirana kot sledi:

Tabela 3. Definicija polja nizov
Odmik Ime Opis
0 Col1 Številka stolpca v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
2 Row1 Številka vrstice v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
4 Tab1 Številka tabele v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
6 Col2 Številka stolpca v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
8 Row2 Številka vrstice v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
10 Tab2 Številka tabele v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
12 Številka Številka naslednjih elementov. Prazne celice niso preštete ali posredovane.
14 Col Številka stolpca elementa. Oštevilčevanje se začne z 0.
16 Vrstica Številka vrstice elementa. Oštevilčevanje se začne z 0.
18 Tabulator Številka tabele elementa. Oštevilčevanje se začne z 0.
20 Napaka Številka napake, kjer je vrednost 0 definirana kot "brez napake". Če element prihaja iz celice s formulo, vrednost napake določi formula.
22 Len Dolžina naslednjega niza, vključno z zaključnim ničelnim bajtom. Če je dolžina, vključno z zaključnim ničelnim bajtom, enaka lihi vrednosti, je nizu dodan še en ničeln bajt, da je dosežena soda vrednost. Zato je Len izračunan po formuli ((StrLen+2)&~1).
24 Niz Niz z zaključnim ničelnim bajtom
24+Len ... Naslednji element

Celična matrika

Celične matrike se uporabljajo za priklic področij celic, ki vsebujejo tako besedilo kot tudi številke. Celična matrika je v programski opremi Lotus Symphony Spreadsheets definirana kot sledi:

Tabela 4. Definicija polja celic
Odmik Ime Opis
0 Col1 Številka stolpca v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
2 Row1 Številka vrstice v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
4 Tab1 Številka tabele v zgornjem levem vogalu področja celic. Oštevilčevanje se začne z 0.
6 Col2 Številka stolpca v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
8 Row2 Številka vrstice v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
10 Tab2 Številka tabele v spodnjem desnem vogalu področja celic. Oštevilčevanje se začne z 0.
12 Številka Številka naslednjih elementov. Prazne celice niso preštete ali posredovane.
14 Col Številka stolpca elementa. Oštevilčevanje se začne z 0.
16 Vrstica Številka vrstice elementa. Oštevilčevanje se začne z 0.
18 Tabulator Številka tabele elementa. Oštevilčevanje se začne z 0.
20 Napaka Številka napake, kjer je vrednost 0 definirana kot "brez napake". Če element prihaja iz celice s formulo, vrednost napake določi formula.
22 Vrsta Vrsta vsebine celice, 0 == Realno število z dvojno natančnostjo, 1 == Niz
24 Value ali Len

Če je vrsta == 0: 8-bajtna spremenljivka IEEE vrste realnega številna z dvojno natančnostjo/plavajočo vejico

Če je vrsta == 1: Dolžina naslednjega niza, vključno z zaključnim ničelnim bajtom. Če je dolžina, vključno z zaključnim ničelnim bajtom, enaka lihi vrednosti, je nizu dodan še en ničeln bajt, da je dosežena soda vrednost. Zato je Len izračunan po formuli ((StrLen+2)&~1).

26, če je vrsta==1 Niz Če je vrsta == 1: Niz z zaključnim ničelnim bajtom
32 ali 26+Len ... Naslednji element

Povratne informacije o izdelku | Dodatna dokumentacija | Blagovne znamke