Utilizzo funzione "trova".
Occorrente:
- TextBox1 (Proprietà multiline = true, ci scriverete lunghi testi)
- TextBox2 (Proprietà multiline = false, ci scriverete piccoli testi)
- Button1 (Avvierete la ricerca)
Sul Button1 che servirà a ricercare la parola chiave scriviamo:
Codice:
Dim parola As String Dim inizio As Integer
Dim fine As Integer
parola = TextBox2.Text
inizio = InStr(TextBox1.Text, parola)
fine = Len(parola)
TextBox1.Focus()
TextBox1.SelectionStart = inizio - 1
TextBox1.SelectionLength = fine
Spiegazione:
Con le tre istruzioni Dim crei due variabili numeriche e una variabile stringa.
Poi viene messa nella variabile parola il contenuto della TextBox2 che è la parola da cercare.
Poi viene inserita nella variabile inizio, il numero della posizione dove viene trovata la parola. L'istruzione InStr serve proprio a cercare una stringa dentro un'altra stringa. Nel nostro caso verrà cercato il contenuto della variabile parola dentro il testo della TextBox1. Se la parola esiste, allora l'istruzione InStr restituisce dopo quanti caratteri, partendo dall'inizio, si trova la parola cercata.
Poi c'è l'istruzione che mette nella variabile fine, la lunghezza totale del contenuto della variabile parola. Se la variabile parola contiene "ciao", lì verrà inserito il numero 4, perchè la parola ciao è di 4 caratteri.
Poi viene fatto il focus() sulla TextBox1, cioè Visual Basic selezionerà la TextBox1 in modo che le istruziuoni che seguono potranno essere eseguite all'interno di quella casella di testo.
Ecco che poi c'è l'istruzione SelectionStart che prepara l'inizio del testo da selezionare, impostandolo sul valore della variabile inizio meno 1.
Infine c'è l'istruzione SelectionLenght che determina di quanti caratteri dovrà evidenziare la parola, e questo dato lo prenderà dalla variabile fine.
Fonte: Niktorthenat