Paolo Mantovani ha scritto:
premetto che non ho provato la macro proposta.
Nemmeno io (ma lo farò), almeno nell'ultima versione... mi sono perso
nella parte del codice di Emanuele che estrae la riga dal range...
ovvero nell'ottimizzazione del tuo listener per selezionare un range "in
corsa"...
Questo non ha a che fare direttamente con le stringhe e i numeri... ma
da cosa nasce cosa... così questa notte ho messo a punto un altro modulo
funzionate del Template Assistito per Computi Metrici Estimativi in
Calc. (Non trovo un acronimo ricorsivo decente... e attendo consigli)
In ogni caso il tema è interessante e si presta a svariate speculazioni.
Confesso pure che non ho mai affrontato direttamente questo problema, tuttavia
vorrei notare che il riconoscimento (umano) di una data stringa come cifra
numerica dipende da molti fattori, tra i quali la "presentazione" della
stringa, non è sempre il più determinante.
Un ruolo importantissimo è infatti giocato dal contesto, cioè da tutte quelle
informazioni relative alla provenienza, tipo di contenuto e finalità del
documento.
Lavorare con computi metrici solleva lo spinoso problema (Martellozzo
può confermare) dei prezzari delle Opere Edili (e non), una sorta di
listini prezzo che i più svariati Enti pubblici e Camere di commercio
periodicamente pubblicano (o peggio vendono) nei più svariati,
fantasiosi (e poco aperti) formati.
Questi listini devono in qualche modo essere "interfacciati" al Computo
Metrico, ovvero bisogna poterli sfogliare agevolmente e decidere quali
prezzi (e relativa descrizione) devo essere "copiati" nel Computo Metrico.
Quando si è fortunati c'è un foglio xls, ma spesso il formato del prezzo
è appunto una stringa di testo.
Questo il contesto generale da cui io ero partito... ma ricordo bene
analoghi problemi a manipolare gli estratti conto della mia banca...
Senza queste informazioni è impossibile dire ...zot...
Mi pareva che i miei esempi fossero sufficienti a limitare un po' il
contesto... :-)
Detto questo, la mia proposta è:
prima di buttarci a capofitto nella stesura del codice, definiamo meglio il
problema, magari cercando in internet se ci sono documenti che parlano di
questo particolare problema.
Possiamo provarci... ma sono comunque un po' perplesso...
Un secondo passo poi sarebbe quello di mettere giù qualcosa di simile ad una
specifica, in modo da restringere il problema e definire meglio le finalità
del programma.
Ma già questa fase la vedo difficile...
Se si arrivasse a questo punto, potremmo elaborare uno o più algoritmi (o
recuperarne di esistenti) che siano efficaci e risolutivi, almeno nei limiti
imposti dalla ns specifica.
Ma comunque interessante sotto il profilo didattico!
A livello di implementazione poi, proporrei di fare un add-in per Calc.
gli add-in sono del pacchetti UNO (che quindi si possono distribuire e
installare facilmente) e servono per aggiungere funzioni a Calc.
Nella mia "ingenua" idea iniziale pensavo ad un modulo capace di:
- esaminare il contenuto di una cella
- nel caso fosse un prezzo (valore) restituirlo e basta
- altrimenti convertire (se possibile) la stringa in un "prezzo" e
restituirla.
Una cosa del genere potrebbe essere utilizzata come "frammento di
codice" da richiamare all'occorrenza e (forse) risolvere qualche
problema nella "lettura" dei prezzari da parte di Computi Metrici...
(compreso quello di Martellozzo)
Ma l'alternativa non è così drammatica: si possono manipolare i dati
"prima" "a manina" utilizzando calc e/o csv... per questo tentavo di
stabilire una serie di "metodiche" adatte a quello scopo.
Ma la cosa vedo che mi è sfuggita di mano... :-)
Ora non vorrei frenare... ma penso che ci siano problemi piu importanti
e urgenti da risolvere... e che meriterebbero un addin.
Francesca ne giusto sollevato uno... come spostare un range di righe in
altra posizione con una sola operazione...
Nel senso che darei la priorità ad automatizzare operazioni ripetitive
che creano problemi quotidianamente... anzichè semplificare
un'operazione che si fa una tantum, e che una volta fatta è fatta!
Faccio un esempio...
In un programma di modellazione solida è abbastanza inutile fare un
applicativo che crea magicamente un albero con tanto di foglie, se poi
per spostare quell'albero (o un qualsiasi altro oggetto), migliaia di
utenti devono ogni volta fare 3 click sin, 2 click dx (con scelta su
menu contestuale) e poi ancora scrivere tre righe in una sintassi
impossibile...
Sarebbe preferibile lavorare per un'interfaccia che aiuti a spostare
velocemente gli oggetti...
Questo - ovviamente - IMHO...
...zot...
In ogni modo, in questo messaggio segnalavo la presenza del servizio API
com.sun.star.util.TextSearch
che permette di ricercare del testo usando vari algoritmi, tra cui le Regular
Expressions.
Penso che le espressioni regolari possano essere molto utili anche in questo
contesto.
Nel mio messaggio è segnalato anche un esempio di utilizzo di questo servizio
API (in StarBASIC)
Molto interessante... ma a questo rispondo su dev@
saluti
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]