Rechercher dans un texte RichTextBox

cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017 - 10 févr. 2007 à 19:01
 Utilisateur anonyme - 11 févr. 2007 à 14:07
Bonjour,

J' aurais aimer savoir comment rechercher un texte, des mots, dans un RichTextBox par l' intermédiaire d' une zone de saisie genre textbox et d un bouton rechercher.
Et comment faire ressortir le texte une fois trouvé : le mettre en gras, d une autre couleur,etc

Merci de votre aide par avance

Fripouil

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 févr. 2007 à 19:12
Et qu'est-ce qui te pose problème ?

Récupèrer le texte du textbox de recherche ? Comment récupèrer l'événement click du bouton ? Faire la recherche dans le richtextbox ? ou mettre le texte trouvé en valeur ?
0
Utilisateur anonyme
10 févr. 2007 à 19:17
Si c'est pour faire la recherche, méthode Find, SelStart et SelLength pour la séléction et après la mise en forme:

TaRichTextBox.SelStart = TaRichTextBox.Find(TextBoxSearch.Text, 0)
TaRichTextBox.SelLength = Len(TextBoxSearch.Text)
TaRichTextBox.SelBold = True
TaRichTextBox.SelColor = vbRed






__________
Kenji
0
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017
11 févr. 2007 à 13:32
Bonjour et merci

Ton code fonctionne mais il ne trouve qu 'un seul des mots que je cherche.
Je m' explique dans la phrase : Ton code fonctionne mais ton code ne trouve qu'un mot
Je rentre dans ma textbox le mot : code
Je valide via mon bouton valider
Et ca me donne ceci : Ton code fonctionne mais ton code ne trouve qu'un mot
Or dans cette phrase il y a 2 fois : code, mais le deuxiéme n est pas "trouvé"

Darksidious : si tu préféres j' aimerais faire la recherche dans le richtextbox et mettre le texte trouvé en valeur. Un peu comme les fichier d' aide qu on peut trouvé dans certain programme, il surligne les mot recherché.
Mon but est de faire avec ce systéme comme un fichier d aide
Généralement quand on pose une question les mots de cette question ce retrouve dans la réponse, et voila l idée :

Dans la textbox : Que faire quand on à faim ?

Dans la Richtextbox : Quand onàfaim il faut manger.

Voila merci de votre aide encore.

Fripouil
0
Utilisateur anonyme
11 févr. 2007 à 14:07
Ben dans ce cas tu continue a chercher à partire de la positon précédente.
Et tu répéte l'opération pour tous les mots du texte :





Dim Words() As String
Words = Split(TextBoxSearch.Text, " ")
Dim iWord As Integer
For iWord = 0 To UBound(Words)
  Dim NextSearch As Integer
  NextSearch = TaRichTextBox.Find(Words(iWord), 0)
  While NextSearch > -1
    TaRichTextBox.SelStart = NextSearch
    TaRichTextBox.SelLength = Len(Words(iWord))
    TaRichTextBox.SelBold = True
    TaRichTextBox.SelColor = vbRed
    NextSearch = TaRichTextBox.Find(Words(iWord), NextSearch + 1)
  Wend
Next iWord,

----

(Coloration syntaxique automatique par Kenji)





__________
Kenji
0
Rejoignez-nous