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

VB.NET Discussion :

Editeur/ Coloration syntaxique


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 70
    Par défaut Editeur/ Coloration syntaxique
    Bonjour, je cherche une méthode pour développer un editeur perso avec coloration syntaxique.

    Je charge un fichier de code, je parcours chaque ligne, puis je les insère un à une dans une variable string (monTexte). Jusque là çà va.

    Ensuite, je veux effectuer différentes opérations de transformations, en fonction des mots, caractères, que je trouve dans monTexte.

    J'utilise donc la fonction suivante:
    Replace(monTexte, "unElement", "unebaliseUnElement"), par exemple, si je fais Replace(monTexte, "procedure", "\b procedure \b0"), tous les mots procédure de mon texte seront en gras.

    Avec les balises genre "/*", je fais de même, sauf que je ne ferme la balise de couleur par exemple que lorsque je trouve "*/".

    Sauf que j'ai un soucis avec les balises qui ne ferment pas. Par exemple le "//" pour commenter simplement une ligne. Je ne vois pas comment utiliser un replace sans affecter une transformation précédente.

    J'imagine qu'il y a des méthodes mieux construites, ou plus claires, dans ce cas je ne serais pas contre que vous me la donniez, mais à défaut, si vous pouviez m'indiquer la marche à suivre, ce serait cool!


    Je vous transmet mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub OuvrirToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OuvrirToolStripMenuItem.Click
            Dim FileDialog As New OpenFileDialog()
            FileDialog.FilterIndex = 1
            FileDialog.Filter = "Fichiers ssl (*.ssl)|*.ssl"
            FileDialog.ShowDialog()
     
            Dim file_num As Integer = FreeFile()
            Dim file_name As String = FileDialog.FileName
            FileOpen(file_num, file_name, _
                OpenMode.Input, OpenAccess.Read, OpenShare.Shared)
     
            Dim texte As String = "{\rtf1\ansi {\fonttbl {\f0\fnil\fcharset0\fprq0\fttruetype Helvetica;}{\f1\fnil\fcharset0\fprq0\fttruetype Bitstream Charter;}}"
            texte += "{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green150\blue10;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}"
            Do While Not EOF(file_num)
                Dim ligneEnCours As String = LineInput(file_num)
                texte += ligneEnCours & "\par"
            Loop
     
            texte = Replace(texte, "#", "{\f1\cb1\cf5 # ")
            texte = Replace(texte, "\par", "\par {\f1\cb1\cf1 ")
            texte = Replace(texte, "/*", " {\f1\cb1\cf6 /* ")
            texte = Replace(texte, "*/", "/* {\f1\cb1\cf1")
            texte = Replace(texte, "procedure", "\b procedure \b0 ")
     
            FrmFichier.RichTextBox1.Rtf = texte & "}"
     
            FileClose(file_num)
        End Sub
    Merci!

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 22
    Par défaut
    Salut,

    Si vous voulez, il y a déjà des éditeurs avec coloration syntaxique sur codeproject.

    En voici quelques exemples :
    Fast Colored TextBox for Syntax Highlighting
    How to Create a High Performance Syntax Highlighting RichTextBox Control

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 70
    Par défaut
    Ah oui, cela semble intéressant, je vais jeter un oeil à tout çà!

    Si j'ai des questions, je revindrais sur ce topic.

    Merci!

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

Discussions similaires

  1. Editeur avec coloration syntaxique
    Par motjoy dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 02/02/2011, 12h49
  2. Réponses: 2
    Dernier message: 09/02/2010, 16h08
  3. [JSP] Editeur avec coloration syntaxique ?
    Par filescan dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 24/04/2009, 16h01
  4. Editeur avec coloration syntaxique
    Par LeGilou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/11/2008, 10h09
  5. Coloration syntaxique des éditeurs linux
    Par knecmotet dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 08/12/2004, 00h09

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