Left..Right..Mid
Left$(”Gambas-it.org”, 3)
Right$(”Gambas-it.org”, 3)
Mid$(”Gambas-it.org”, 4, 2)
Non c’è niente da fare, prima o poi capiterà di dover manipolare i dati presenti in una stringa di testo. Gambas2 ci viene in aiuto con queste tre istruzioni LEFT$ (sinistra)…RIGHT$ (destra)…MID$(in mezzo).
L’utilizzo di queste istruzioni è molto semplice:
LEFT$ estrae i dati partendo da sinistra; guardando la riga di codice sopra riportato avremo la stampa della parola Ubu.
RIGHT$ estrae i dati partendo da destra; guardando la riga di codice sopra riportato avremo la stampa della parola ner.
MID$ estrae i dati partendo da una posizione specificata e con un intervallo specificato; guardando la riga di codice sopra riportato avremo la stampa della parola nt.
Attenzione, la posizione di partenza e l’intervallo è in funzione dei caratteri, la posizione 0 (zero) non esiste e l’intervallo è il numero di caratteri da estrapolare.
Vediamo di seguito come estrapolare una parte di una parola con un esempio di codice che potrà tornarci utile nei nostri progetti:
DIM variabile AS String
DIM tmp AS Integer
variabile = “UbuntuCorner”
FOR tmp = 1 TO Len(variabile)
IF Mid$(variabile, tmp, 3) = “tuC” THEN
Message.Info(”Trovata la parola ” & Mid$(variabile, tmp, 3))
ENDIF
NEXT
Analizziamo ogni singola riga per comprenderne meglio il significato:
DIM variabile AS String dichiarazione della variabile (nome e tipo)
DIM tmp AS Integer dichiarazione della variabile (nome e tipo)
FOR tmp = 1 TO Len(variabile) comunichiamo al sistema che valori può assumere tmp, ovvero da 1 alla lunghezza (Len) di variabile, nel nostro caso 12.
IF Mid$(variabile, tmp, 3) = “tuC” THEN chiediamo al sistema che deve controllare il valore di variabile (o meglio il Mid$ di variabile), se questo valore è uguale a “tuC” allora deve fare qualche cosa
Message.Info(”Trovata la parola ” & Mid$(variabile, tmp, 3)) ad ogni valore di variabile uguale a “tuC” il sistema stampa la frase “Trovata la parola ” e la parola trovata, ovviamente tale frase sarà stampata una sola volta in quanto la parola “tuC” è presente una sola volta all’interno di “UbuntuCorner”.
ENDIF termina il codice iniziato con IF.
NEXT procediamo con un nuovo valore fino al raggiungimento del numero 12.
In seguito scopriremo anche sistemi automatizzati per estrapolare dei dati da una stringa.