Il 07/03/2012 02:39, Valerio Messina ha scritto:
Paolo Mantovani ha scritto:
[....]
usando "com.sun.star.sheet.addin.Analysis.getDec2Bin" o
"DEC2BIN" su LO ottengo lo stesso risultato.
Domani provo su OO

Per questo ti avevo chiesto di specificare se stai usando OOo o LO


Forse usi una localizzazione USA ma anche in questo caso, quando si
fanno domande sulle funzioni di Calc, almeno specificare se si usa
una versione o una localizzazione particolare sarebbe di aiuto.

ho messo il locale USA per avere le formule con il nome inglese (mi
serve per capirmi quando lavoro con chi è all'estero).

Lo sospettavo ma è difficile e frustrante darti supporto se le informazioni che fornisci sono vaghe e incomplete.


la funzione NOT di Calc (NON nella localizzazione italiana) non
funziona bit per bit perciò devi creare una semplice funzione BitNOT
in Basic

Function BitNOT(vValue As Variant) As Variant
 > BitNOT = NOT vValue
 > End Function

(senza usare conversioni)

grazie, la sto provando.

In effetti è identica alla funzione bitNot che mi hai inviato nell'altro post


Che tipo indica Variant ?

L'unica differenza è appunto che io ho indicato esplicitamente i tipi di dato Il tipo variant può contenere ogni tipo di dato e corrisponde più omeno al tipo any del c o di altri linguaggi. In starbasic se non indichi il tipo di dato l'interprete usa implicitamente il tipo Variant, perciò non serve indicarlo esplicitamente.
L'ho messo solo per migliorare la leggibilità.


Paolo Mantovani ha scritto:
Il 06/03/2012 22:16, Valerio Messina ha scritto:
Funzionano bene (nel senso che danno il risultato corretto in
binario) se la cella di ingresso è già in binario (testo).

questo non corrisponde al vero se la cella di ingresso contiene testo
le funzioni generano un errore.

Solo l'ultima funzione accetta (e restituisce) del testo perchè usa
le fuznioni di manipolazione delle stringhe per simulare l'operazione
di bit shift.

ok vero, ho detto male, funzionano bene solo se la cella di ingresso è
in binario (numero e non testo).


Anche questo non quadra per nulla:
Non esiste *nessun* modo per scrivere un numero binario in una cella.
- Puoi scrivere una stringa che *somiglia* ad un binario.
- Puoi scrivere un intero decimale che *somiglia* ad un binario, ma
- non puoi scrivere un numero binario

Come dicevo nel primo post sarebbe bene evitare confusione tra il concetto di numerale e la sua rappresentazione.

Tornando al tuo codice, se io passo alle tue funzioni dei numeri decimali che somigliano a dei numeri binari non ottengo nulla di speciale in quanto la funzione li tratta come numeri decimali qualsiasi (e vorrei pure vedere il contrario ;)


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

Rispondere a