Left..Right..Mid
Left(”Gambas-it.org”, 3) Right(”Gambas-it.org”, 3) Mid(”Gambas-it.org”, 4, 2)
Estrapola una porzione di testo da una stringa
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 Gam.
Right estrae i dati partendo da destra; guardando la riga di codice sopra riportato avremo la stampa della parola org.
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 as.
Attenzione, la posizione di partenza e l’intervallo è in funzione dei caratteri, la posizione 0 (zero) non esiste (il primo carattere di una stringa è sempre a posizione 1), 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 = “Gambas-it.org” FOR tmp = 1 TO Len(variabile) IF Mid(variabile, tmp, 3) = “bas” 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 13.
IF Mid(variabile, tmp, 3) = “bas” THEN chiediamo al sistema che deve controllare il valore di variabile (o meglio il 'Mid' di variabile), se questo valore è uguale a “bas” allora deve fare qualche cosa
Message.Info(”Trovata la parola ” & Mid(variabile, tmp, 3)) ad ogni valore di variabile uguale a “bas” il sistema stampa la frase “Trovata la parola ” e la parola trovata, ovviamente tale frase sarà stampata una sola volta in quanto la parola “bas” è presente una sola volta all’interno di “Gambas-it.org”.
ENDIF termina il codice iniziato con IF.
NEXT procediamo con un nuovo valore fino al raggiungimento del numero 13.
Nota: Le istruzioni descritte hanno le stesse funzioni di quelle in Visual Basic, e in Gambas esistono anche le nomenclature classiche del Basic: Left$, Right$ e Mid$. Questi alias sono presenti per compatibilità con il Visual Basic, e probilmente scompariranno (come alias) dalle librerie di Gambas.