BLOCCHI INCORPORATI TESTO (Text Blocks)

Gestire il testo in un’App può sembrare banale, ma vi assicuro che è una funzione essenziale sia che sviluppiate giochi o lavoriate con la grafica.

Contenuti:

App Inventor 2 Kodular ThunkableX
 
Fig.: Le tre liste dei componenti

“” (Blocco di stringhe)

Contiene una stringa di testo. Questa stringa può contenere qualsiasi carattere (lettere, numeri o altri caratteri speciali). Su App Inventor verrà considerato un oggetto Testo.

Join

Aggiunge tutti gli input per creare una singola stringa. Se nessun input, restituisce una stringa vuota.

lunghezza – lenght

Restituisce il numero di caratteri, inclusi gli spazi, nella stringa. Questa è la lunghezza della stringa di testo fornita.

è vuoto – is empty

Restituisce se la stringa contiene o meno caratteri (inclusi gli spazi). Quando la lunghezza della stringa è 0, restituisce true, altrimenti restituisce false.

confronta testi <> =

Indica se la prima stringa è lessicograficamente <,> o = al una seconda stringa. I valori di confronto si scelgono dal menu a discesa come da immagine. Secondo la tabella ASCII fondamentale, tutte le lettere maiuscole sono considerate più piccole o devono apparire prima delle lettere minuscole. gatto sarebbe> Gatto.

tagliare – trim

Rimuove qualsiasi spazio che precede o trascina la stringa di input e restituisce il risultato.

maiuscolo – upcase

Restituisce una copia dell’argomento stringa di testo convertito in maiuscolo.

minuscolo – downcase

Restituisce una copia del suo argomento di stringa di testo convertito in tutto minuscolo.

inizia a – starts at

Restituisce la posizione del personaggio in cui il primo carattere del pezzo appare per la prima volta nel testo, oppure 0 se non presente. Ad esempio, la posizione di Ana in “havana banana” è 4.

contiene – contains

Restituisce vero se il pezzo appare nel testo; in caso contrario, restituisce false.

contiene ciascuno – contains any

Restituisce vero se uno qualsiasi dei pezzi nell’elenco dei pezzi appare nel testo; in caso contrario, restituisce false. Questo blocco può essere ottenuto modificando il menu a discesa nel blocco contiene.

contiene tutti – contains all

Restituisce vero se tutti i pezzi nell’elenco dei pezzi appaiono nel testo; in caso contrario, restituisce false. Questo blocco può essere ottenuto modificando il menu a discesa nel blocco contiene.

diviso all’inizio – split at first

Divide il testo dato in due pezzi utilizzando la posizione della prima occorrenza di at come punto di divisione e restituisce un elenco di due elementi composto dal pezzo prima del punto di divisione e dal pezzo dopo il punto di divisione. Dividere mela,banana,ciliegia,cibo per cani con una virgola come punto di divisione restituisce un elenco di due elementi: il primo è il testo mela e il secondo è il testo banana,ciliegia,cibo per cani. Nota che la virgola dopo mela non appare nel risultato, perché quello è il punto di divisione.

dividere all’inizio di qualsiasi – split at first of any

Divide il testo dato in un elenco di due elementi, utilizzando la prima posizione di qualsiasi elemento nell’elenco come punto di divisione. Dividendo I love apples bananas apples grapes dall’elenco [ba,ap] porterebbe a un elenco di due elementi, il primo è I love e il secondo, ples bananas apples grapes.

Diviso – split

Divide il testo in pezzi usando come punti di divisione e produce un elenco dei risultati. Dividere one,two,three,four a , (virgola) restituisce l’elenco di 4 elementi (one two three four) . Dividere one-potato,two-potato,three-potato,four  a -potato, restituisce l’elenco (one two three four) .

diviso in qualsiasi – split at any

Divide il testo specificato in un elenco, utilizzando ciascuno degli elementi con at come punto di divisione e restituisce un elenco dei risultati. La suddivisione di appleberry,banana,cherry,dogfood con at come l’elenco di due elementi [,rry] restituisce un elenco di quattro elementi: (applebe banana che dogfood) .

diviso negli spazi – split at spaces

Divide il testo dato in qualsiasi occorrenza di uno spazio, producendo un elenco dei pezzi.

segmento – segment

Estrae parte del testo iniziando dalla posizione iniziale e continuando per i caratteri di lunghezza.

Questo blocco si può utilizzare per emulare le funzioni di Excel =SINISTRA e = DESTRA. Notare anche la funzione LUNGHEZZA che dà come risultato il numero 10.

Ad esempio:

funzioni excel destra sinistra e lunghezza

La stessa cosa la possiamo fare col Visual coding emulando la funzione SINISTRA (Risultato: Apped):

blocchi testo da sinistra

E la funzione DESTRA (Risultato: ediA.it):blocchi testo destra

Naturalmente, in questo caso siamo stati costretti ad aggiungere il blocco lenght che ci permettte di stabilire la lunghezza della stringa.

Inutile dire che avremmo potuto utilizzare al posto del numero fisso 3 o 6, il risultato di una TextBox.

Infatti, in quest’altro esempio vediamo il testo troncato a destra e a sinistra in funzione dei numeri inseriti dall’utente nelle TextBox 6 e 7:

Se il testo da elaborare è AppediA.it, all’inserimento di 3 e 5, il risultato sarà pediA (senza formattazioni), cioè una stringa di 5 caratteri partendo dal terzo carattere della stringa di riferimento.

sostituisci tutto – replace all

Restituisce una nuova stringa di testo ottenuta sostituendo tutte le occorrenze della sottostringa con la sostituzione. Sostituisci tutto con Lei ama mangiare. Lei adora scrivere. Lei piace programmare come testo, Lei come segmento e Anna come sostituto porterebbe ad Anna ama mangiare. Anna adora scrivere. Anna piace programmare.

testo offuscato – obfuscated text

Produce testo, come un blocco di testo. La differenza è che il testo non è facilmente individuabile esaminando i contenuti dell’app. Utilizzalo quando crei app da distribuire che includono informazioni riservate, ad esempio chiavi API. Avvertenza: questo fornisce solo una protezione molto bassa contro avversari esperti.

è una stringa? – is a string

Restituisce vero se l’ oggetto è un oggetto di testo, altrimenti falso.

inversione – reverse

Invertire il testo dato. Ad esempio, “reverse” diventerebbe “esrever”.

sostituisci tutti i mapping – replace all mappings

Dato un dizionario di mappature come input, sostituisce le voci chiave nel testo con i valori corrispondenti nel dizionario. Restituisce il testo con i mapping applicati.

Esempio: sostituzione dei pronomi in prima persona in pronomi in seconda persona

Lo scopo di questo esempio, è quello di ricevere frasi in prima persona e sostituire il pronome in seconda persona.

Se impostiamo l’ordine preferito a dictionary, la frase: “you knew it yourself”, la parola ‘yourself’ contiene la stringa ‘you’. Poiché ‘you‘ appare per primo nel dizionario, sarà sostituito con ‘I‘, perciò ‘yourself’ diventa ‘Irself’ e la frase risultante è priva di significato: “I knew it Irself”.

Tuttavia, se scegli l’ordine longest string first (prima la stringa più lunga), la stringa più lunga ‘yourself‘ viene prima sostituita con ‘myself‘ e in seguito la stringa più corta ‘you’ viene sostituita con ‘I’ portando a una sostituzione di senso compiuto in: “I knew it myself”.

In questo caso il replace viene fatto dalla parola più lunga, quindi non ci possono essere sostituzioni di sillabe di parole più corte come nel primo esempio.

Di seguito le spiegazioni dei due attributi come da guida ufficiale.

Ordine del dizionario – dictionary order

Se viene specificato l’ordine del dizionario, nel caso in cui una voce chiave sia una sottostringa di un’altra voce chiave, la prima da sostituire si basa sull’ordine di voce nel dizionario (il primo viene sostituito per primo).

Primo ordine di stringa più lungo – longest string first order

Se viene specificato l’ordine di stringa più lungo, nel caso in cui una voce chiave sia una sottostringa di un’altra voce chiave, la prima da sostituire è quella più lunga.

Aggiornato al 22/08/2023
Aggiornato al 01/01/2021
Aggiornato al 01/01/2021

PDF Lista comparazione dei componenti di AI2 KODULAR THUNKABLEX agg.20210911

Vuoi avere più informazioni sul Coding visuale? Vai alla pagina dei Blocchi incorporati dove potrai imparare a scrivere il linguaggio di programmazione per App Inventor 2, Kodular e Thunkable X. Visita la pagina del Blog con le ultime notizie sulle le tre piattaforme. Nella pagina Documentazione troverai i collegamenti ai forum, il glossario, i link ai siti dei migliori programmatori, i download e tanti altri accessori.