[C#] Coloration syntaxique
Bonjour,
J'écris une petite application qui permet de se connecter à une base de donnée pour y exécuter des requêtes.
J'aimerais que les requête que l'utilisateurs ouvrent (elle se trouve déjà dans le PC) subissent une coloration syntaxique des mots clés (SELECT, FROM, WHERE, ...). Pour ce faire j'utilise la boucle suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
string[] motcle = {"SELECT", "FROM", "WHERE", ...};
int start = 0; //A partir de l'index ou l'on commence la recherche
foreach(string cle in motcle)
{
while(marichtextbox.Text.IndexOf(cle, start) != -1) //Tant que l'on trouve le mot clé
{
marichtextbox.Select(marichtextbox.Text.IndexOf(cle, start), mot.lenght); //Sélectionne le mot
marichtextbox.SelectionColor = Color.Blue; //Change sa couleur
start = marichtextbox.Text.IndexOf(cle, start) + mot.lenght; //Index de départ de recherche reçoit l'index du caractére après le mot coloré
}
start = 0;
} |
Cela fonctionne partiellement car si, j'invente, je veut colorer le mot FROM et qu'une de mes tables s'appelle FROMAGE j'aurais ceci FROMAGE.
Si quelqu'un avait une solution ou connaitrait une autre méthode ?
Merci
Bonne journée