Alle 09:41, giovedà 7 aprile 2005, Carmelo Carchedi ha scritto:
> Buongiorno a tutti,
> Ã la prima volta che posto su questa lista.
>
> Ho l'esigenza di convertire dei file da vari formati di testo ad UTF-8.
[....]
> Ma se la chiamo dall'esterno con il comando :
> soffice
> "macro:///Standard.Module1.ConvertToUTF8(/home/questadir/file_da_convertire
>.txt,/home/questadir/fileconvertito.txt)"
>
> La cosa non funziona come dovrebbe.

Questo perchà la macro si aspetta che i parametri siano o delle variabili o 
dei valori espliciti.

Ovviamente il primo caso à possibile solo all'interno dell'ambiente basic, 
dove ad esempio puoi chiamare una macro da un'altra macro passando delle 
variabili per fornire gli eventuali parametri.

Nel caso di chiamata da shell, i parametri devono essere espliciti
Nel caso in oggetto si tratta di parametri stringa.
Perchà il basic riconosca una stringa come tale, essa deve essere compresa tra 
doppi apici. es:
"questa à una stringa"

pertanto, per risolvere il problema devi trovare il modo di scrivere il 
comando shell in modo da includere anche i doppi apici.
usando la shell Bash, sotto Linux, ci sono molti modi di fare questo, es:

$ soffice 
'macro:///Standard.Module1.ConvertToUTF("/home/questadir/file_da_convertire.txt","/home/questadir/fileconvertito.txt")'

oppure

$ soffice 
macro:///Standard.Module1.ConvertToUTF\(\"/home/questadir/file_da_convertire.txt\"\,
\"/home/questadir/fileconvertito.txt\"\)

Pensando al fatto che si tratta di un URL si potrebbero usare ulteriori 
varianti.

Un buon uso delle variabili della shell puà semplificare di molto le cose

Per l'ambiente DOS/Windows invece non saprei, dato che non ricordo bene la 
sintassi e i vari caratteri indigesti, ma sono certo che con qualche 
tentativo e qualche ricerchina ci si possa arrivare senza troppi problemi.


> Inoltre, accade una cosa strana:
> Quando converto un file, nel nuovo file mi viene aggiunto all'inizio del
> testo uno strano carattere, che sotto linux con l'editor vi viene
> visualizzato cosÃ:
> <feff>
>
> Come mai? E' un baco di OO ? Ã possibile toglierlo durante la conversione? 

Si tratta di un carattere di controllo (percià dovrebbe eseere invisibile).
Non mi pare si possa trattare di un bug di OOo.
E se fosse un limite dell'editor?

Ecco un po di informazioni relative a quel codice:

------------------8<------------------
[carattere non stampabile]

U+FEFF ZERO WIDTH NO-BREAK SPACE

Proprietà generali del carattere

Categoria Unicode: Altro, formato

Varie rappresentazioni utili

UTF-8: 0xEF 0xBB 0xBF
UTF-8 escaped ottale: \357\273\277
Riferimento entità decimale: &#65279;

Annotazioni e riferimenti incrociati

Pseudonimi:
 â BYTE ORDER MARK (BOM), ZWNBSP

Note:
 â may be used to detect byte order by contrast with the noncharacter code 
point U+FFFE <non assegnato>
 â use as an indication of non-breaking is deprecated; see U+2060 WORD JOINER 
instead

Vedi anche:
 â U+200B ZERO WIDTH SPACE
 â U+2060 WORD JOINER
 â U+FFFE <non assegnato>
------------------8<------------------


ciao
PM



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a