Cerca parole in RichTextbox

di il
13 risposte

Cerca parole in RichTextbox

Ciao a tutti,
ho una Richtextbox con del testo, inserisco una parola in una Textbox e vorrei che nel testo della Richtextbox mi cercassa ed evidenziasse in rosso tuute le paroli uguali a quella inserita nella Textbox,
cioè ad esempio: se nella Textbox immetto la parola "casa", nel testo della Richtextbox si devono evidenziare in rosso tutte le parole "casa"
ecco il codice:

Dim str As String

Private Sub Command1_Click()
str = Text1
Call Cerca(str)
End Sub

Sub Cerca(str As String)
RTxt1.SelColor = vbBlack
RTxt1.SelBold = False
RTxt1.SelStart = InStr(RTxt1.Text, str) - 1
RTxt1.SelLength = Len(str)
RTxt1.SelBold = True
RTxt1.SelColor = vbRed
End Sub

13 Risposte

  • Re: Cerca parole in RichTextbox

    ecco il codice
    E se hai il codice il problema qual è? Magari dovresti essere più preciso nelle spiegazioni ...
  • Re: Cerca parole in RichTextbox

    Mi evidenzia solo la prima parola che trova....
    se nella textbox scrvo la parola "casa" invece mi deve evidenziare tutte le "casa" presenti nella Richtextbox....
  • Re: Cerca parole in RichTextbox

    Ovviamente ... fa una sola ricerca (e fra l'altro non controlla se la stringa è stata trovata).

    Devi fare girare il codice in un ciclo in modo che la ricerca venga fatta in tutto il testo.
    Il ciclo deve terminare quando la stringa non viene più trovata (cosa che può avvenire anche al primo giro).
    In questo caso la Instr restituisce -1. Prova a modificare il codice.
  • Re: Cerca parole in RichTextbox

    Oregon dammi un aiuto che non sco
  • Re: Cerca parole in RichTextbox

    Non riesco
  • Re: Cerca parole in RichTextbox

    Impossibile ... Come vuoi scrivere un intero programma se non sai scrivere un ciclo?

    La pappa pronta è vietata...
  • Re: Cerca parole in RichTextbox

    Ok
  • Re: Cerca parole in RichTextbox

    AIUTO......
    Ci sto provando ma non rieco a risolevere il problema.....
  • Re: Cerca parole in RichTextbox

    ....mi evidenzia solo la prima parola che trova

    Private Sub Command3_Click()
    str = Text1
    On Error Resume Next
    For i = 1 To Len(RTxt1.Text)
    If i = InStr(RTxt1.Text, str) Then
    RTxt1.SelStart = i - 1
    RTxt1.SelLength = Len(str)
    RTxt1.SelBold = True
    RTxt1.SelColor = vbRed
    End If
    Next i
    End Sub
  • Re: Cerca parole in RichTextbox

    Tu non hai idea di quello che scrivi, come dovresti completare un programma completo?

    Dato che è un pezzo di codice relativamente semplice, te lo mostro, ma è l'ultima volta che ti rispondo con della "pappa pronta".
    
    Private Sub Cerca(txt As String)
        Dim i As Integer
        
        i = 1
        Do
            i = InStr(i, RTxt1.Text, txt) - 1
            If (i < 0) Then Exit Do
            RTxt1.SelStart = i
            RTxt1.SelLength = Len(txt)
            RTxt1.SelBold = True
            RTxt1.SelColor = vbRed
            i = i + 2
        Loop
    End Sub
    
    Ti lascio il compito di completare il codice se serve ...
  • Re: Cerca parole in RichTextbox

    Ok... graze oregon
  • Re: Cerca parole in RichTextbox

    Ciao oregon, non ti arrabbiare, ho immesso il codice ma fa differena tra lettere maiuscole e minuscole.... mi servirebbe che mi trovasse anche le parole scritte sia con lettere maiuscole che minuscole insieme: es. "Casa" etc....
  • Re: Cerca parole in RichTextbox

    Non mi arrabbio ma te l'ho detto ... fai tu i cambiamenti che servono.
Devi accedere o registrarti per scrivere nel forum
13 risposte