Salut
Comment puis je détecter l'existance des doublons dans un richtextbox et comment supprimé ces doublons
Merçi![]()
Salut
Comment puis je détecter l'existance des doublons dans un richtextbox et comment supprimé ces doublons
Merçi![]()
Dans un richtextbox????
Qu'entends-tu par doublons?
salut
Les doublons sont les enregsitrements qui se rassemble(par exemple : aladan et aladan) se sont deux enregistrement semblables donc il faut éliminer l'une d'entre eux
Pour Les techniques de manipulation des chaînes tu auras besois des méthodes suivantes:
.Length
.SubString
.Replace
.IndexOF
.ToUpper
.ToLower
.Split
.Join
la méthode IndexOF est la plus appropriée dans ton cas, elle retourne un integer (nombre) représenatnt la place ou la chaîne a été trouvé (le début du mot) si elle ne trouve rien elle retourne un 0, dans cet exemple un message affichera le nombre "6" : c'est le 6éme caractère da
Dim r As String = "Wrox Visual Basic 2005 Programmers Reference"
r = r.IndexOf("Visual")
MsgBox(r)
Si tu cherche à créer une fonction comme celle que l'on trouve dans Microsoft Word par exemple (rechercher et remplacer), je te donne ici qq exemlpes d'utilisation des méthodes de recherchhe et de remplacement :
1) créer 2 textBoxes : FindTextBox (le texte à rechercher) et ReplaceTextBox (le texte à remplacer)
2 bouttons: btnReplace (Remplacer),btnReplaceAll remplacer tout
1 contrôle RichTextBox
2 cases à cocher: MachCase (Respecter la casse) et WholeWord (mot entier seulement)
'Me ici est le contrôle RichTextBox, nous utilison Me.Find(FindText)
' pour chercher dans le texte de ce contrôle
'et le sélectionner, si le texte à été trouvé, RichTextBox le séléctionne et
'SelectionLength de RichTextBox devient > à 0, alors on utilise un If...Else pour remplacer ce texte
*****************************
Public Sub FindAndReplace(ByVal FindText As String, ByVal ReplaceText As String)
Me.Find(FindText)
If Not Me.SelectionLength = 0 Then
Me.SelectedText = ReplaceText
Else
MsgBox("Le texte suivant n'a pas été trouvé: " & FindText)
End If
End Sub
******************************************
'Maintenant créer une autre méthode FindAndReplace surchargée, vous pouvez voir que cette méthode a 5 arguments FindText, ReplaceText, ReplaceAll, MatchCase et WholeWord:
****************************************
Public Sub FindAndReplace(ByVal FindText As String, ByVal ReplaceText As String, ByVal ReplaceAll As Boolean, _
ByVal MatchCase As Boolean, ByVal WholeWord As Boolean)
Select Case ReplaceAll
Case False
If MatchCase = True Then
If WholeWord = True Then
Me.Find(FindText, RichTextBoxFinds.MatchCase Or RichTextBoxFinds.WholeWord)
Else
Me.Find(FindText, RichTextBoxFinds.MatchCase)
End If
Else
If WholeWord = True Then
Me.Find(FindText, RichTextBoxFinds.WholeWord)
Else
Me.Find(FindText)
End If
End If
If Not Me.SelectionStart = 0 Then
Me.SelectedText = ReplaceText
Else
MsgBox("Le texte suivant n'a pas été trouvé: " & FindText)
End If
Case True
Dim i As Integer
For i = 0 To Me.TextLength 'We know that strings we have to replace < TextLength of RichTextBox
If MatchCase = True Then
If WholeWord = True Then
Me.Find(FindText, RichTextBoxFinds.MatchCase Or RichTextBoxFinds.WholeWord)
Else
Me.Find(FindText, RichTextBoxFinds.MatchCase)
End If
Else
If WholeWord = True Then
Me.Find(FindText, RichTextBoxFinds.WholeWord)
Else
Me.Find(FindText)
End If
End If
If Not Me.SelectionLength = 0 Then
Me.SelectedText = ReplaceText
Else
MsgBox(i & "occurence(s) remplacée(s)")
Exit For
End If
Next i
End Select
End Sub
End Class
***********************************************
'Vous pouvez utilisez l'énumération RichTextBoxFinds qui vous permettra de spécifier comment la recherche va être opérée
'quand la méthode Find est appellée
'Lorsque on a utilisé ReplaceAll = True , nous connaissons pas cobient de chaînes (strings) à replacer, mais nous savons que
'les strings à remplacer <textLength de RichTextBox, nous avons utilisé For...
salut Abdel
Je vais essai ce code mnt et vous répondre
Partager