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]

Rispondere a