You are viewing a plain text version of this content. The canonical link for it is here.
Posted to utenti-it@openoffice.apache.org by Valerio Messina <ef...@iol.it> on 2012/03/06 00:36:19 UTC
[ooo-utenti-it] invocare funzioni builtin dal Basic
ciao,
sto cercando di implementare il calcolo della parità binaria, che manca
tra le funzioni di OO.
A dire il vero a OO mancano anche tutte le funzioni di manipolazione a bit.
Quelle poco male, basta implementarle in Basic e funziona.
In ogni caso il calcolo della parità necessita solo di
BITRSHIFT, BITXOR e BITAND.
Dato che l'argomento del mio foglio è decimale, vorrei prima invocare la
DEC2BIN nel codice Basic. Googlando ho trovato come fare. Mi funziona ma
poi mi da errore quando applico la NOT:
"Inadmissible value or data type. Data type mismatch"
P.S. la print riporta il valore corretto, e se faccio la NOT di val già
in binario, tutto funziona.
So che l'errore sarà una cosa banale, sono un completo novellino del
Basic, per cui scusate.
Valerio
Function BitNOT (val)
svc = createUnoService ("com.sun.star.sheet.FunctionAccess")
arg1 = array (val, 10)
arg2 = svc.callFunction ("DEC2BIN" , arg1)
print arg2
BitNOT = NOT (arg2)
End Function
Re: [ooo-utenti-it] invocare funzioni builtin dal Basic
Posted by Paolo Mantovani <p_...@libero.it>.
Ciao Valerio,
quando si inizia un nuovo argomento si dovrebbe evitare di rispondere ad
un thread esistente
Il 06/03/2012 00:36, Valerio Messina ha scritto:
> ciao,
> sto cercando di implementare il calcolo della parità binaria, che manca
> tra le funzioni di OO.
Sarebbe opportuno specificare se si sta usando OOo o Libò, visto che i
due prodotti cominciano a divergere (per ora marginalmente)
La specifica è ancora più importante se si parla di programmazione.
Ad esempio, in OOo non esiste a livello API una funzione "DEC2BIN"
> A dire il vero a OO mancano anche tutte le funzioni di manipolazione a bit.
Interessante, si tratta di funzioni presenti in altri prodotti concorrenti?
> Quelle poco male, basta implementarle in Basic e funziona.
>
> In ogni caso il calcolo della parità necessita solo di
> BITRSHIFT, BITXOR e BITAND.
> Dato che l'argomento del mio foglio è decimale, vorrei prima invocare la
> DEC2BIN nel codice Basic.
Perchè?
> Googlando ho trovato come fare. Mi funziona ma
> poi mi da errore quando applico la NOT:
>
> "Inadmissible value or data type. Data type mismatch"
probabilmente perchè stai cercando di eseguire il NOT su una stringa
>
> P.S. la print riporta il valore corretto, e se faccio la NOT di val già
> in binario,tutto funziona.
Cosa intendi esattamente per valore "già in binario" ?
> So che l'errore sarà una cosa banale, sono un completo novellino del
> Basic, per cui scusate.
Mi pare che l'errore sia nel concetto, non nel basic.
Tu sembri confondere la *rappresentazione* di un numero con la quantità
rappresentata.
prova a spiegare meglio quello che vorresti ottenere.
ciao
pablo