Il 04/05/2012 18:16, Paolo Mantovani ha scritto:
> Il 04/05/2012 15:29, M. Manca ha scritto:
>> Il 04/05/2012 15:02, Paolo Mantovani ha scritto:
>>> Ciao,
>>>
>>> Il 04/05/2012 14:08, Micron Engineering ha scritto:
>>>> MS in excel 2007 ha inserito l'oggett WorksheetFunction che serve a
>>>> richiamare le funzioni di excel utilizzate nelle formule.
>>>> Esiste qualcosa di equivalente in calc o devo "tradurle" ad hoc?
>>>
>>> ecco un esempio:
>>>
>>>    oFAccess = CreateUnoService("com.sun.star.sheet.FunctionAccess")
>>>    iRes = oFAccess.callFunction("SUM", Array(18,21,1,5))
>>>    print iRes
>>>
>>>
>>> il metodo callFunction prende 2 argomenti, il nome (interno) della
>>> funzione e gli argomenti da passare alla funzione. Se sono più di uno
>>> si usa un array.
>>>
>>> ulteriori info:
>>>
>>> http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Function_Handling#Calculating_Function_Results
>>>
>>>
>> Grazie Paolo,
>> ti confesso che spero in 2 cose: la prima che mettano a posto la
>> documentazione che sinceramente è sparsa e mal organizzata.
>
> Non sono d'accordo.
> La documentazione è di ottima qualità ma è stata scritta pensando ad
> un utenza professionale.
> Questo non perchè si volesse escludere la fascia di utenza non
> professionale ma per sfruttare al massimo le poche risorse disponibili.
Senza voler essere polemico Paolo penso di essere un professionista in
un altro campo quello dello sviluppo di applicazioni in C/C++ per
ambienti embedded. Uso calc come supporto al mio lavoro, non è il mio
business principale però ho sviluppato sia su Excel che su Access che
hanno una documentazione sicuramente migliore. Certo, li i problemi sono
altri: incompatibilità tra release successive, difficoltà ad aggiornare
le applicazioni ecc (mica cose di poco conto). Poi non tengo il conto di
quante API abbia definito e documentato in oltre 25 anni e personalmente
la documentazione dell'API OOo presente nel wiki è particolarmente
incomprensibile. La documentazione di un API è ottima quando non
richiede settimane per essere utilizzata e considerata l'organizzazione
molto verticale di quella di OOo c'è molta strada da fare per dire che è
di ottima qualità.
>
> I linguaggi e gli ambienti compatibili con l'API sono parecchi.
> Scrivere una versione diversa della documentazione per ogni linguaggio
> è un compito al di la delle capacità degli sviluppatori e della
> community.
Infatti si può astrarre l'API dai linguaggi esistono appunto standard
come IDL che ha usato Sun. Il problema è l'organizzazione della
gerarchia di classi che non è descritta dal punto di vista
dell'utilizzatore delle classi ma dello sviluppatore.
Se vuoi un esempio di documentazione prova a guardare la documentazione
delle librerie standard, la BOOST, le Qt e anche wxWidgets o la stessa
libreria Java per capire cosa intendo.
>
> Per questo si è preferito scrivere una documentazione "language
> agnostic" che copre tutte le esigenze ma effettivamente appare molto
> astratta al neofita.
Non è astratta, è organizzata da schifo perché non si trova nulla se non
si sa dove andare a guardare.
>
>
>
>> La seconda
>> che finalmente si decidano a inserire un livello per interpretare la
>> sintassi VBA che per lo meno è documentata meglio (visto poi che la
>> Corte Europea ha appena stabilito la legittimità del reverse engineering
>> anche in materia di API).
>
> Premesso che il VBA è una schifezza immonda e personalmente non vedo
> di buon occhio la contaminazione di ooo con certa roba, il layer di
> compatibilità è VBA / StarBasic esiste già (fu introdotto
> originariamente da Novell in Go-oo) e successivamente integrato anche
> in OOo
Vero, VBA non è il massimo ma è uno standard di fatto ed è documentato
molto meglio senza contare le decine di libri a pagamento e gratuiti e
quanto si trova su google.
> Per usarlo devi mettere all'inizio del modulo l'istruzione
> Option VBASupport 1
Lo so, avevo preferito LibO proprio perché avevano promesso un supporto
migliore a VBA ma non è per niente così, la portabilità è bassissima.
>
> La compatibilità ha comunque dei limiti e il mio pensiero è che si
> tratta di di un'operazione loose / loose per una serie di problemi
> tecnici e strategici, quindi non riporrei tutte le mie speranze nel
> fatto di poter riutilizzare le macro di Excel ma cercherei di
> padroneggiare meglio StarBasic e API.
>
> Le difficoltà ci sono ma esiste una caterva di materiale, esiste Xray,
> esistono gli esempi.
Xray di fatto è l'unico aiuto, gli esempi sono limitatissimi, di fatto
l'aiuto utile è quello dei forum e di persone come te che ci hanno già
sbattuto la testa ma questo non è abbastanza per una suite come OOo che
è la migliore alternativa libera a MS Office. La cruda realtà è che chi
sviluppa professionalmente con un foglio elettronico.... lo fa su excel
ed è ovvio, non si può impiegare mezza giornata per scrivere 40 righe di
codice funzionante, facessi così in C/C++ dovrei chiudere in una settimana.
> Per quanto riguarda la documentazione API, superato il fatto che è
> scritta da professionisti per professionisti (quindi un po dura
> all'inizio per il neofita) è di ottima qualità e in caso di dubbio
> puoi contare sull'aiuto quasi in tempo reale della community e degli
> sviluppatori.
>
> Certo sarebbe bello se ci fossero dei manuali di buona qualità in
> italiano in vendita in libreria.
Ho provato a cercare, c'è qualcosa ma molto limitato per quanto riguarda
le macro.
>
> E' probabile che le case editrici ritengano il mercato potenziale di
> ooo/starbasic troppo piccolo.
Guarda, il mercato di OOo in termini di foglio elettronico è sicuramente
limitato dalla documentazione troppo carente e dalla mancanza di
compatibilità con VBA. Situazione ancora più tragica per base.
>
> ciao
> paolo m
>
>
>
> ---------------------------------------------------------------------
> Per cancellarsi: [email protected]
> Per informazioni: http://www.openoffice.org/it/
> Per avviare una nuova discussione: [email protected]
> Archivi: http://mail-archives.apache.org/mod_mbox/incubator-ooo-utenti-it
>
>


---------------------------------------------------------------------
Per cancellarsi: [email protected]
Per informazioni: http://www.openoffice.org/it/
Per avviare una nuova discussione: [email protected]
Archivi: http://mail-archives.apache.org/mod_mbox/incubator-ooo-utenti-it

Rispondere a