[QGIS-it-user] Funzione wordwrap

  1. Volevo segnalarvi una curiosità in merito alla funzione wordwrap di Calcolatore di campi. Avevo la necessità di mandare “a capo” le etichette dei nomi dei Comuni con nome composito troppo lungo (faccio un esempio di fantasia: San Giovanni Decollato di Cima Alta). Ho usato la funzione wordwrap di Calcolatore di campi. Con la versione 2.18, le righe “a capo” delle etichette mi vengono allineate a destra (inguardabili) mentre con la 2.99 mi vengono allineate a sinistra (belle).
  2. Ho fatto un po’ di tentativi “random” ma, fino ad ora, non ho proprio capito come applicare, come funziona e a cosa serve l’opzione “delimeter_string” di wordwrap. Potete illuminarmi?
  3. Usando wordwrap nelle celle della tabella attributi compare il testo mandato “a capo”, cioè compaiono due o tre righe sovrapposte invece che la classica riga unica e lunga. Questo significa che, volendolo, anche in una tabella dbfile è possibile scrivere nelle celle andando a capo (alla stregua di come si fa in Libre Office con i comandi ALT + INVIO). Come si fa, digitando da tastiera, ad andare “a capo” in una tabella dbfile?

Marco wrote

1) Volevo segnalarvi una curiosità in merito alla funzione wordwrap di
Calcolatore di campi. Avevo la necessità di mandare "a capo" le etichette
dei nomi dei Comuni con nome composito troppo lungo (faccio un esempio di
fantasia: San Giovanni Decollato di Cima Alta). Ho usato la funzione
wordwrap di Calcolatore di campi. Con la versione 2.18, le righe "a
capo" delle etichette mi vengono allineate a destra (inguardabili) mentre
con la 2.99 mi vengono allineate a sinistra (belle).
2) Ho fatto un po' di tentativi "random" ma, fino ad ora, non ho proprio
capito come applicare, come funziona e a cosa serve l'opzione
"delimeter_string" di wordwrap. Potete illuminarmi?
3) Usando wordwrap nelle celle della tabella attributi compare il testo
mandato "a capo", cioè compaiono due o tre righe sovrapposte invece che la
classica riga unica e lunga. Questo significa che, volendolo, anche in una
tabella dbfile è possibile scrivere nelle celle andando a capo (alla
stregua di come si fa in Libre Office con i comandi ALT + INVIO). Come si
fa, digitando da tastiera, ad andare "a capo" in una tabella dbfile?

Ciao,
1) l'allineamento dei caratteri va definito in formattazione, dove trovi
centro, destra e sinistra;
2) delimeter_string serve, appunto, per definire un delimitatore: es:
viva_QGIS
se utilizziassi come delimitatore '_' otterresti viva QGIS in due righe, una
sopra altra;
3) non ho capito la domanda ;-(

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

*/Come si fa, digitando da tastiera, ad andare "a capo" in una tabella
dbfile?/*

*1)*
Ci sono diversi approcci per fare questo, in funzione delle necessita'
personali o funzionali del caso.
Se vuoi editare la tabella degli attributi, come se fosse una cartella
foglio di calcolo, puoi usare l' *Edit Widget *per editare testo, andando a
capo quando lo ritieni opportuno. Fatto questo l'etichetta verra'
visualizzata esattamente come editata nella cella.

Considerato il Layer in oggetto, basta andare nelle <proprieta' del layer>,
selezionare <campi> e nella riga corrispondente al campo desiderato,
cliccare sul button <text edit> o <modifica testo> a seconda della versione.

A questo punto, toverai nella dialog box delle proprieta' dell' <Edit
Widget>, le opzioni da selezionare. Metti un flag su <multiline> o
<multilinea> e clicca OK.

Tornando nella Tabella Attributi, potrai editare il testo della cella che
desideri, andando a capo con il tasto ENTER. Per poi passare ad altra cella
e cosi via...Avrai generato cosi' del testo multilinea per le tue labels.

*2)*
Un altro metodo invece e' quello di utilizzare il calcolatore di campi. La
sola attenzione da porre in questo caso e' l'utilizzo del carattere che
funge da delimitatore all'interno della stringa attributo, io di solito
utilizzo '_'.

*Esempio:*
/San Giovanni Decollato_di Cima Alta
/
*Risultato:*
/San Giovanni Decollato
di Cima Alta/

Quindi, basta utilizzare il calcolatore di campi, selezionare <aggiorna un
campo esistente>, selezionare il campo da considerare, e inserire questa
espressione:

wordwrap( "names", -1, '_')

"names" rappresenta il nome del campo che hai selezionato come campo da
considerare. Cliccare su ok.

La tabella attributi a questo punto, conterrà valori multi-linea, nel campo
che abbiamo considerato.

Spero di aver compreso la tua richiesta.

Ivano

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

Ciao Totò.
Per quanto riguarda il punto 1) la “curiosità” era proprio questa! Stesso progetto, stessi shapefile, …se apro il progetto con la 2.18 mi allinea le etichette mandate a capo con wordwrap a destra, se invece, senza modificare nulla, apro lo stesso progetto con la 2.99, mi allinea le etichette mandate a capo con wordwrap a sinistra. Sono sicuro che ciò rientra nel novero dei dispetti inspiegabili fatti dal folletto annidiato in ogni PC e che se lunedi, in ufficio, riapro nuovamente il progetto prima con la 2.18 e poi con la 2.99, tutta filerà liscio.
Per quanto riguarda il punto 2) non pensavo fosse una cosa così banale, alla stregua di “Testo a capo con” di Compositore di stampe. Mi ero fatto dei film tutti miei, fuorviato dal termine “stringa” e mi ero convinto che in delimeter_string andasse inserita una regola, (tipo: se la parola è più lunga di 10 caratteri, all’11esimo carattere manda a capo il testo, ecc.) e quindi avevo proprio sbagliato l’approccio, complicandolo all’nesima potenza
Per quanto riguarda il punto 3) sono d’accordo con te …effettivamente ho formulato la domanda in un modo così contorto e prolisso che faccio fatica anch’io a capirla (anche se poi Ivano è riuscito a districare il bandolo della matassa e mi ha risposto)

···

Il giorno 13 ottobre 2017 23:06, Totò <pigrecoinfinito@gmail.com> ha scritto:

Marco wrote

  1. Volevo segnalarvi una curiosità in merito alla funzione wordwrap di
    Calcolatore di campi. Avevo la necessità di mandare “a capo” le etichette
    dei nomi dei Comuni con nome composito troppo lungo (faccio un esempio di
    fantasia: San Giovanni Decollato di Cima Alta). Ho usato la funzione
    wordwrap di Calcolatore di campi. Con la versione 2.18, le righe “a
    capo” delle etichette mi vengono allineate a destra (inguardabili) mentre
    con la 2.99 mi vengono allineate a sinistra (belle).
  2. Ho fatto un po’ di tentativi “random” ma, fino ad ora, non ho proprio
    capito come applicare, come funziona e a cosa serve l’opzione
    “delimeter_string” di wordwrap. Potete illuminarmi?
  3. Usando wordwrap nelle celle della tabella attributi compare il testo
    mandato “a capo”, cioè compaiono due o tre righe sovrapposte invece che la
    classica riga unica e lunga. Questo significa che, volendolo, anche in una
    tabella dbfile è possibile scrivere nelle celle andando a capo (alla
    stregua di come si fa in Libre Office con i comandi ALT + INVIO). Come si
    fa, digitando da tastiera, ad andare “a capo” in una tabella dbfile?

Ciao,

  1. l’allineamento dei caratteri va definito in formattazione, dove trovi
    centro, destra e sinistra;
  2. delimeter_string serve, appunto, per definire un delimitatore: es:
    viva_QGIS
    se utilizziassi come delimitatore ‘_’ otterresti viva QGIS in due righe, una
    sopra altra;
  3. non ho capito la domanda ;-(

https://pigrecoinfinito.wordpress.com/

Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Ciao Ivano.
Hai capito benissimo (…e complimenti perchè non era facile, visto come avevo abbrucchiato il tutto) e mi hai dato esattamente le risposte che cercavo. Grazie

···

Il giorno 14 ottobre 2017 09:49, Ivano <ivano.giuliano@gmail.com> ha scritto:

/Come si fa, digitando da tastiera, ad andare “a capo” in una tabella
dbfile?/

1)
Ci sono diversi approcci per fare questo, in funzione delle necessita’
personali o funzionali del caso.
Se vuoi editare la tabella degli attributi, come se fosse una cartella
foglio di calcolo, puoi usare l’ *Edit Widget *per editare testo, andando a
capo quando lo ritieni opportuno. Fatto questo l’etichetta verra’
visualizzata esattamente come editata nella cella.

Considerato il Layer in oggetto, basta andare nelle <proprieta’ del layer>,
selezionare e nella riga corrispondente al campo desiderato,
cliccare sul button o a seconda della versione.

A questo punto, toverai nella dialog box delle proprieta’ dell’ , le opzioni da selezionare. Metti un flag su o
e clicca OK.

Tornando nella Tabella Attributi, potrai editare il testo della cella che
desideri, andando a capo con il tasto ENTER. Per poi passare ad altra cella
e cosi via…Avrai generato cosi’ del testo multilinea per le tue labels.

2)
Un altro metodo invece e’ quello di utilizzare il calcolatore di campi. La
sola attenzione da porre in questo caso e’ l’utilizzo del carattere che
funge da delimitatore all’interno della stringa attributo, io di solito
utilizzo ‘_’.

Esempio:
/San Giovanni Decollato_di Cima Alta
/
Risultato:
/San Giovanni Decollato
di Cima Alta/

Quindi, basta utilizzare il calcolatore di campi, selezionare , selezionare il campo da considerare, e inserire questa
espressione:

wordwrap( “names”, -1, ‘_’)

“names” rappresenta il nome del campo che hai selezionato come campo da
considerare. Cliccare su ok.

La tabella attributi a questo punto, conterrà valori multi-linea, nel campo
che abbiamo considerato.

Spero di aver compreso la tua richiesta.

Ivano


Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user