begin process at 2012 02 13 15:48:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > COLORIER DU CODE SOURCE C++ ( EXPRESSIONS REGULIERES )

COLORIER DU CODE SOURCE C++ ( EXPRESSIONS REGULIERES )


 Information sur la source

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Texte Niveau :Initié Date de création :25/04/2003 Date de mise à jour :26/04/2003 20:33:20 Vu / téléchargé :3 663 / 236

Auteur : Renfield

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
voila, encore une bonne journee de boulot , cette source colorie du code source en C++

je voulais pas la releaser tout de suite , bien quelle fonctionne , car j'ai des modifs a y apporter , pour accelerer le temps reel ....  

Source

  • ' Attention , ce code uitilise 'Microsoft VbScript Regular Expressions 5.5'
  • donc je sais pas si ca va fonctionner partout.............
' Attention , ce code uitilise 'Microsoft VbScript Regular Expressions 5.5'

donc je sais pas si ca va fonctionner partout.............   

 Conclusion

Vous comprendrez en voyant le code que les expressions régulières sont difficiles a lire , mais encore plus a ecrire. De fait , certaines syntaxes ne sont pas forcement reconnues.

merci  de me faire part de tout ce que vous remarquez , je modifierait les ER en conséquence......

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ...
Source avec Zip Source avec une capture JSON PARSER - ANALYSE DE CHAINES JSON
Source avec Zip Source avec une capture MODULE DE TÉLÉCHARGEMENT DE FICHIER BASIQUE (SYNCHRONE / ASY...
Source avec Zip COURS DE PILOTAGE........D'APPLICATIONS
Source avec Zip CSOCKET - REMPLACEZ WINSOCK PAR LA VERSION 2 DES API

 Sources de la même categorie

Source avec Zip Source avec une capture MASQUE DE SAISIE NUMÉRIQUE par acive
Source avec Zip Source .NET (Dotnet) COMPTEUR DE NOMBRE DE MOTS DANS UN TEXTE par alpha5
Source avec Zip Source avec une capture HM - BLOCNOTE par hassenmajor
Source .NET (Dotnet) [VB.NET] CLASS DE COLORATION SYNTAXIQUE "ON THE FLY" par huzima
Source avec Zip Source avec une capture PERSONNALISEZ VOS BOÎTES DE MESSAGE (X)HTML par medjahedScript

Commentaires et avis

Commentaire de Kirua le 26/04/2003 01:32:21

tu as te faire des amis à poster ça sur vbfrance :-P

Commentaire de FredT le 26/04/2003 09:41:32

Effectivement pour 'Microsoft VbScript Regular Expressions 5.5' : Sur win 2000, j'ai la 5.1 et apparament y'a beaucoup de changement :-( . C'est la version avec IE 6?

Commentaire de ace le 26/04/2003 10:44:37

Bravo c'est pas mal continu

Commentaire de bigane le 28/04/2003 21:41:59

Salut, et bravo !
En plein dans ce que je cherche à créer depuis plusieurs semaines.
Sauf que... mon but est de créer un contrôle permettant de coloriser du basic. Mais le problème est le même. Ton code est très proche de ce que l'on doit faire mais tu est toujours solidaire du contrôle RichTextBox.
Cette solution est couteuse en vitesse : un code de 500 lignes sur mon PII 400 met une seconde à se rafaichir... insuportable.
Une autre approche réside dans l'exemple que tu peux trouver avec Dev-C++. C'est un compilateur c++ écrit en Pascal. Son contrôle d'édition est lui même écrit en Pascal : SynEdit. Tous les sources sont disponible et le résultat est de très bonne qualité.
Le site dev-c++ :
http://www.bloodshed.net/dev/index.html
Le site du projet (avec les sources) :
http://sourceforge.net/projects/dev-cpp
Le source avec le contrôle SynEdit:
http://prdownloads.sourceforge.net/dev-cpp/devcpp4src.zip?download
La lecture de ce projet peut te faire avancer dans l'objectif final.
Bonne continuation,
Bigane

Commentaire de Renfield le 28/04/2003 21:46:00 administrateur CS

merci , j'avais deja pas mal d'idée ( thread , parsing partiel , (ce qui est visible...)

et si tu veux , je dois pouvoir adapter ma source , pour le vb....

Commentaire de bigane le 28/04/2003 21:59:15

Je te donne quelques éléments de mes recherches : l'objet final est une zone vide de type  bouton ou image. Tu as une collection de lignes, chaque ligne est en réalité une structure complexe. Lorsque tu dois écrire une feuille, tu écris n lignes. Lorsque tu as un event Paint, tu n'écris que les zones du texte devant être redessinées. Donc calcul de zone avec les API. Le dessin d'une portion de ligne se fait mot après mot selon la couleur du fond et de la fonte désirée. Cette couleur dépends du token reconnu et de la sélection possible en inverse vidéo. Tu comprends alors la difficulté d'un tel code, c'est un sacré projet.
A+
Bigane.

Commentaire de Renfield le 28/04/2003 22:02:51 administrateur CS

vraiment très très interessant......... je vais voir a m'orienter vers ca , une fois les examen passés......
merci !

Commentaire de bigane le 28/04/2003 22:12:51

Pour finir, tu peux voir le problème sous un autre angle : l'objet ne fait que dessiner du texte. Un autre code peut récupérer les lignes et piloter les fontes. L'objet ne fait pas le parsing, c'est le conteneur qui accède à ses méthodes qui le fait. Du coup, tu recrée un RichTextBoxA ("A" pour avanced)...

Commentaire de Renfield le 28/04/2003 22:14:22 administrateur CS

oui , c'est ce que je commence a faire............
je dessine.......

Commentaire de Cyberdevil le 06/05/2003 21:53:50

ben dis donc ça vient balaise tout ça.. je me sens tout ptit a coté de vous :)
A+

Commentaire de krissssss le 30/07/2003 18:43:49

Je suis perdu !
Où peut-on avoir une aide détaillée ?
Merci

Commentaire de Renfield le 30/07/2003 21:32:05 administrateur CS

oula ! c'est pas gagné !!
j'ai fait ce code il y a un moment, sans y retoucher depuis, mais bon, on va essayer d'expliquer davantage.

en fait, le programme utilise des Expressions régulières (ER) pour rechercher des motifs dans le texte.

c'est super pratique !! on dit en gros de rechercher du texte "qui ressemble à"...
on peu aussi evaluer une chaine par rapport a un motif, pour dire s'ils coincident. finalement, on peut recuperer des sous chaines :

pour tester un Mail :

".+@.+..+"

a@b.d est donc valide.....

avec des parentheses, on designes des parties a decouper :

"(.+)@(.+).(.+)" decoupera pour "toto@tutu.fr"
toto , tutu et fr

enfin, on est pas la pour un cours complet sur les ER !! c'est mega puissant !

donc, une fois le texte repondant a certains motifs trouvés, comme "//.*" qui designe les commentaires en ligne, on selectionne ledit texte, et on applique le style adequat.

Commentaire de krissssss le 01/08/2003 13:36:25

OK, en gros, c'est ce que j'ai fais (sans les ER)
Tu as une idées d'où je peux aller chercher ce contrôle ?
Et aussi, ça t'interresserais de faire une coloration syntaxique sur base d'un treeview ? (ça aiderais pas mal de gens, ils n'auraient qu'a modifier le treeview pour créer une coloration pour un autre langage et sauver dans un .ini)
Voilà, la porte est ouverte :-)

Commentaire de krissssss le 02/08/2003 00:59:16

Je viens d'apprendre le ER lol
C'est pas difficile tou compte fais.
C'est un ensemble de règles simple qui font un truc compliqué!!!
C'est un langage dans un langage !!!
En fait, c'est tou con quand on utilise un for each ;-)
Sans toi, j'aurais pas planché dessus, alors merci :-)

ps: ça y est, on peut editer un treeview via un fichier texte qui se présente ainsi :

Nom_du_root
Sous_rep1.0.0.0
--->Sous_rep1.1.0.0
      Sous_rep1.2.0.0
      Sous_rep1.3.0.0
<---Sous_rep1.4.0.0
Sous_rep2.0.0.0
sous_rep3.0.0.0
--->Sous_rep3.1.0.0
      sous_rep3.2.0.0
      --->sous_rep3.2.1.0
            sous_rep3.2.2.0
            --->sous_rep3.2.2.1
      
Voilà :-)
"--->" = créer sous répertoire
"<---"=remonter d'un repertoir

NB: je peux le transformer pour en faire un utilitaire, tu en penses quoi ?
Aller, je vais dormir car il est l'heure 0h53 ;-)

Commentaire de katsankat le 23/02/2006 13:15:14

Salut Renfield, bravo c'est géant.

Commentaire de NOURLINES le 09/02/2009 19:13:27

Je veux utilise ce code dans mon petite application mais jais reçu un message d erreur: (Dim Tok As Match),[User-defined type not defined]

Commentaire de Renfield le 10/02/2009 06:30:59 administrateur CS

Il te faut ajouter une refference à la librairie "Microsoft VBScript Regular Expressions 5.5"
(de tête)

voir dans le menu Projet > References

Commentaire de AdCr le 15/02/2009 13:59:05

Bon Boulot, un petite astuce pour accélérer l'exécution de la coloration (c'est de l'ordre de 1 pour 1000) du mais

rtfbox.visible = false
ta procedure de coloration
rtfbox.visible = true

ça permet d'éviter le rafraichissement de la fenêtre par windows et ça passe complètement inaperçu pour l'utilisateur (c'est trop court pour être visible)

je vois que comme toutes les sources qui travaillent avec une RTFBox, tu rencontre le problème du scrolling, c'est a dire que lorsqu'on tape du code plus long que ce peut contenir la fenêtre, a chaque événement change() le curseur se retrouve en bas de page, ce qui peut vite devenir extrêmement pénible dans un IDE.

Bon code quand même... 8/10

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,129 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales