IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] Coloration syntaxique !


Sujet :

Windows Forms

  1. #1
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Points
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Par défaut [C#] Coloration syntaxique !
    Bonjour !

    qq1 pourrait m'expliquer comment gérer la colration syntaxique d'un texte dans C#

    du moins les bases !

    merci d'avance !

  2. #2
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Points
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Par défaut
    C'est pas très dur d'appliquer une coloration sur un texte que tu charges dans ton richtextbox, ça devient un peu plus dur si tu veux appliquer cette coloration à la volée.

    Schématiquement :

    - Se brancher sur l'event TextChanged de ton contrôle
    - Récupérer la ligne courante
    - Faire une recherche/comparaison entre les mots de la ligne et un dictionnaire de mots-clés (choisir une collection rapide)
    - Faire une séléction du texte en cas de correspondance, en prennant soin d'appliquer une couleur de séléction = couleur du background du contrôle
    - Appliquer la couleur à la séléction

    - Ajouter une technique "anti-flicker" sur ton contrôle pour un affichage fluide.

    Une recherche sur google devrait te permettre de trouver quelques exemples...Sinon, télécharge SharpDevelop et analyse son code source, l'implémentation de la coloration synthaxique est plutôt bonne.

  3. #3
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Points
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Par défaut merci !
    merci a toi pour ton explication !

    c'est le principe que je pensé

    Ca ne risque pas d'être un peu lourd !
    si je veux faire la coloration a la volée ?

  4. #4
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Points
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Par défaut
    Le point sensible est évidemment la recherche des mots-clés...
    La "lourdeur" dépend essentiellement du nombre de mots que tu vas chercher et de l'implémentation de ta fonction de recherche.

    J'ai développé une application du type Analyseur de requêtes SQL avec la liste des mots dans une hashtable chargée en cache...aucun problème.

    Le second problème qui se pose est au niveau de la fluiditié d'affichage.
    Par défaut, ton richtextbox risque de clignoter...

  5. #5
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Points
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Par défaut
    merci pour tes explications !

  6. #6
    Membre habitué
    Profil pro
    Développeur .Net, Administrateur système
    Inscrit en
    Octobre 2003
    Messages
    219
    Points
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .Net, Administrateur système
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 219
    Points : 135
    Par défaut
    Citation Envoyé par Keihilin Voir le message
    C'est pas très dur d'appliquer une coloration sur un texte que tu charges dans ton richtextbox, ça devient un peu plus dur si tu veux appliquer cette coloration à la volée.

    Schématiquement :

    - Se brancher sur l'event TextChanged de ton contrôle
    - Récupérer la ligne courante
    - Faire une recherche/comparaison entre les mots de la ligne et un dictionnaire de mots-clés (choisir une collection rapide)
    - Faire une séléction du texte en cas de correspondance, en prennant soin d'appliquer une couleur de séléction = couleur du background du contrôle
    - Appliquer la couleur à la séléction

    - Ajouter une technique "anti-flicker" sur ton contrôle pour un affichage fluide.

    Une recherche sur google devrait te permettre de trouver quelques exemples...Sinon, télécharge SharpDevelop et analyse son code source, l'implémentation de la coloration synthaxique est plutôt bonne.

    Je sais que je déterre ce post de loin mais j'aimerai savoir comment implémenter une technique "anti-flicker" sur une richtextbox ?

    Merci pour votre aide !

  7. #7
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    92
    Points
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Points : 55
    Par défaut
    Si j'avais du faire ça j'aurais créé 2 textboxes :
    * on écrit dans le second textbox pdt qu'on affiche le premier
    * on swappe les deux textbox

    (à la manière du doublebuffering OpenGL)

    Il y a sans doute une façon de faire ça en utilisant une fonctionnalité du Framework .NET

    Si c'est le cas j'aimerais bien la connaitre

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    49
    Points
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 49
    Points : 35
    Par défaut
    Salut a tous, j'ai réussi a faire la coloration avec une richtextbox, pas de scintillement car j'ai utiliser 2 richtextbox.
    Seul souci, c'est que dans textchanged, je passe au début le rtf et le text de la rtb1 a la rtb2, je fait la detection, puis je transfert tous de rtb2 a rtb1.
    Plus il y a de text, plus c'est lent.
    Pensez vous que c'est a cause des transfert de rtf et de text?
    Ma coloration se fait par ligne.

    J'aimerais vraiment que la coloration soit plus rapide, car je fait un Logiciel de develloppement et la coloration serai le bien venue.
    quand je voit des logiciels qui colore leur text instantannément et que je vois le manque de rapidité du mien, je suis dégouté lol.
    Si quelqu'un avait déja travailler sur de la coloration pouvait m'aiguiller ça serait super.

  9. #9
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Points
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Coloration syntaxique
    Par iubito dans le forum Evolutions du club
    Réponses: 73
    Dernier message: 02/11/2005, 11h01
  2. Coloration syntaxique des éditeurs linux
    Par knecmotet dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 08/12/2004, 01h09
  3. [debutant] coloration syntaxique
    Par demostene dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 30/06/2004, 16h16
  4. Coloration syntaxique
    Par _-Sky-_ dans le forum Composants
    Réponses: 4
    Dernier message: 03/01/2004, 22h58
  5. Coloration syntaxique ASM dans un RichEdit
    Par Crick dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/12/2002, 02h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo