Bonjour à tous,
Je travaille sur une application en VB.NET. L'appli doit lire un fichier txt, rechercher toutes les occurences
d'une série importante de chaînes de caractères pour en changer la couleur. J'utlise pour cela une richtextbox pour
récupérer le fichier existant et j'effectue ensuite des recherches successives en modifiant la couleur des chaines.
Mon code ressemble à cela :
Dim MaChaine as string
Dim RichTextDco as RichtextBox
Pos = RichTextDco.Find(MaChaine, Pos + 1, RichTextBoxFinds.MatchCase)
Do While Pos <> -1
RichTextDco.SelectionStart = Pos
RichTextDco.SelectionLength = Len(MaChaine )
RichTextDco.SelectionColor = Color.Green
Pos = RichTextDco.Find(MaChaine , Pos + 1, RichTextBoxFinds.MatchCase)
Loop
Cette procédure fonctionne correctement, le problème c'est que je peux avoir environ 4000 chaine de caractères
différentes à rechercher dans un fichier qui fait plus de 1 Méga.
Le temps de traitement est beaucoup trop long ( > 10 min).
La RichtextBox est balayée entiérement à chaque recherche et c'est super long.
J'ai essayé de balayer une seule fois mon fichier en splitant le contenu de la RichTextbox dans une table de string,
et ensuite j'effectue toutes les recherches pour chaque ligne mais le problème c'est qu'il n'y a pas de propriété couleur
pour les chaines de caractères simples alors je suis bloqué.
Je vois pas du tout comment je peux faire et j'espère que je suis assez claire dans mes explications.
Merci 'avance