begin process at 2008 08 22 00:30:05
1 229 717 membres
525 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : comment effectuer une recherche dans un text [ Archives Visual Basic / Texte ] (touns1)

comment effectuer une recherche dans un text le 27/05/2001 22:54:40

touns1
comment faire pour faire une recherche dans un text comme lorsque l'on appuis sur Ctrl+F du navigateur
pa exemple je voudrais chercher le mot "voiture" sur cette page...
merci

Re : comment effectuer une recherche dans un text le 28/05/2001 00:08:15

Bendes
Soit tu le programme toi-même avec la fonction "InStr" et les procédures de sélection ("SelStart", "SelLength", etc.) de mots ou t'emploie le control "RichText" qui prends pleins de truc en charge...



-------------------------------
Réponse au message :
-------------------------------

comment faire pour faire une recherche dans un text comme lorsque l'on appuis sur Ctrl+F du navigateur
pa exemple je voudrais chercher le mot "voiture" sur cette page...
merci

Re : comment effectuer une recherche dans un text le 28/05/2001 22:58:03

touns1
où trouver le controle RichText (je suis debutant)

j'ai trouvé !!!! le 28/05/2001 23:04:13

touns1
c bon, j'ai trouvé, mais maintant, comment je fais pour faire une recherche d'un mot ?

Re : comment effectuer une recherche dans un text le 28/12/2003 10:22:22

MicProg
Ny method :)
Function Searching()
Dim dep1, dep2
dep1 = TextZone.SelStart
TextZone.Find SearchExp, TextZone.SelStart + 1, Len(TextZone.Text)
dep2 = TextZone.SelStart
If (dep2 = dep1) Then
Beep
Exit Function
End If
End Function

Private Sub TextZone_KeyDown(KeyCode As Integer, Shift As Integer)
'F3 Rechercher (Suivant)
If (KeyCode = vbKeyF3) Then
Call Rechercher2_Click
End If
End Sub
TextZone est le RichTexBox hein !!
En fait, SearchExp est une variable qui vient d'un module car c'est par une autre feuille que j'ai mis le textbox
Rechercher2_Click c'est pour appuie sur F3 car il s'arrête au premier trouvé et le met en surbrillance.
Private Sub Rechercher1_Click()
'Menu Rechercher
Search.Show
End Sub

Private Sub Rechercher2_Click()
'Menu Rechercher (Suivant)
If (SearchExp <> "") Then
Call Searching
Else
Call Rechercher1_Click
End If
End Sub
Ici, si SearchExp contient un mot, on recherche à partir du mot trouvé précédemment :
dep1 = TextZone.SelStart

Dans le même coup, je te donne la fonction de remplacer :
'===================================================================
'= Fonction de remplacer dans le fichier =
'===================================================================
Function RemplaceExp()
Dim dep1, dep2
dep1 = TextZone.SelStart
TextZone.Find SearchExp, TextZone.SelStart + 1, Len(TextZone.Text)
dep2 = TextZone.SelStart
If (dep2 > dep1) Then
Dim Question
Question = MsgBox("Voulez-vous remplacer ?", vbYesNoCancel, "Remplacer...")
If (Question = vbYes) Then
TextZone.SelText = ChangeTexte
ElseIf (Question = vbCancel) Then
Exit Function
End If
End If
If (dep2 = dep1) Then
Beep
Exit Function
Else
Call RemplaceExp
End If
End Function

Function RemplaceAllExp()
Dim dep1, dep2
dep1 = TextZone.SelStart
TextZone.Find SearchExp, TextZone.SelStart + 1, Len(TextZone.Text)
dep2 = TextZone.SelStart
If (dep2 > dep1) Then
TextZone.SelText = ChangeTexte
End If
If (dep2 = dep1) Then
Beep
Exit Function
Else
Call RemplaceAllExp
End If
End Function
C'est la meême chose que pour rechercher mais en plus, un autre contenu de edittext se place dans la variable ChangeTexte pour le remplacer. RemplaceAll ne demandera pas de confirmation et ira jusqu'à la fin.
la comparaison de dep1 et dep2 détermine si le texte a été trouvé ou remplacer selon la fonction. Lorsqu'ils sont égaux cela veut dire que la fin du texte est rencontré :)
Oui, je sais c'est un peu difficile à comprendre mais je travaille sur un soft "PHPEditeur" utilisant le RichTextbox ! Là il est en phase presque terminale (quelques points à régler) Je n'ai pas ici détaillé point par point...

Attention, il y a des appels de menupopup. Inutilie de faire un copier /coller intégral. Regarde plutôt la fonction que j'utilise. ++

Débutant mais... obstiné


Classé sous : text, recherche, effectuer

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS