Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
22 juil. 2005 à 18:44
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010
-
4 juin 2008 à 22:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 4 juin 2008 à 22:31
youps, c'était la ligne 254 et pas 2544, voila que je bégaye du clavier.
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 4 juin 2008 à 22:29
J'allait oublié les jolies petites étoiles.
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 4 juin 2008 à 22:28
Ta classe est vraiment "classe" lol, je l'utilise pour écrire :
http://sourceforge.net/projects/rpmspecmanager/ Un logiciel opensource, j'ai l'intention de la proposer a l'équipe Mono ou de collaborer avec eux sur la partie RPM, m'autorise tu as l'utiliser dans le cadre de leur licence MIT X11 ?
Puis-je l'utiliser dans le cadre OpenSource du projet RpmSpecManager ?
Une petite modif qui évite un planton avec un fichier texte "pollué" par caractères Null ((char)0) :
fichier principale de la dll ligne 2544
xmlString = xmlString.Replace("\", "\\\").Replace("{", "\\{").Replace("}", "\\}");
Devient
xmlString = xmlString.Replace("\", "\\\").Replace("{", "\\{").Replace("}", "\\}").Replace(((char)0).ToString(),string.Empty);
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 21 août 2007 à 11:07
il faut ajouter la référence à System.Web.dll sur ton projet.
Ca permet de transformer les < en <
Salut salut
Merci pour ta source.
Ta source est très intéressante, mais j'ai un problème avec le "HttpUtility", je ne comprend pas vraiment a quoi il sert! quand je lance le programme, l'erreur est la suivante :
Erreur 1 Le nom 'HttpUtility' n'existe pas dans le contexte actuel
C'est une erreur simple d'habitude, c'est un problème de déclaration, mais la je ne vois pas étant donné que dans ta source il n'y a pas ce porblème, et j'ai repris ta classe telle qu'elle est!
Merci de votre aide!
A bientôt!
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 28 déc. 2006 à 23:39
J'allais pas m'amuser à te faire un exemple pour chacun des types de sortie.
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 28 déc. 2006 à 18:05
le but n'est pas créer du RTF... mais toute sorte de sortie... html, rtf, xml, TeX...
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 28 déc. 2006 à 15:19
C'etait pour dire que j'aurais aimé avoir un truc comme ca :
TonComposant.Language = "XML"; // ou bien un enum
MonRichEdit.Rtf = TonComposant.Trait(MonTexte);
ou même :
MonRichEdit.Rtf = TonComposant.Trait("XML", MonTexte);
(là je cherche la petite bete)
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 28 déc. 2006 à 07:43
Il est possible qu'une regle ne fonctionne pas comme elle devrait.
j'utilise ce code surtout en C#.
Plus de 2 lignes... oui. Ca fait 3 :)
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 27 déc. 2006 à 22:46
Actuellement je suis oblige de faire (source tiré de ton code source d'exemple) :
vbMaf.Utils.SyntaxHilighting.Highlightor hlight =
new vbMaf.Utils.SyntaxHilighting.Highlightor("xml", Application.StartupPath + @"\langageDefinition.xml");
string xml = hlight.HighLight(mon_texte);
MonRichEdit.Rtf = hlight.Export(vbMaf.Utils.SyntaxHilighting.OutputType.Rtf);
Ce qui fait plus de deux lignes...
---------------------------
Concernant l'erreur entre les regles, je t'assure qu'il y a un probleme .. Les commentaires ne sont pas colorés en vert ! :(
J'ai viré la coloration des delimiters; le noir me convient parfaitement... donc ca marche :) !
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 21 déc. 2006 à 20:34
hop hop hop... le fonctionnement que tu expliques à la fin est celui qui est fait dans le code.
Maintenant, ce que tu fais du HighLighter... dans une lib, une classe... ce que tu veux !
Séb
cs_Zeroc00l
Messages postés367Date d'inscriptionlundi 1 avril 2002StatutMembreDernière intervention11 février 2010 21 déc. 2006 à 11:59
Hello :)
Avant tout merci pour cette source.
---------------------------
Je PRECISE à tout le monde que la coloration ne se fait pas en live,
il faut clicquer sur un bouton pour la raffraichir.
---------------------------
Une petite CRITIQUE perso :
j'utilise ton code pour colorer du xml que je génère (debug).
Le top aurait été d'avoir le code du highlighter dans une lib.
Ainsi on aurait pu le prendre directement dans notre projet.
et DEUX ligne de code :
une pour wrapper un RichTextBox que l'on crée sur une form
une autre pour colorer le texte dans le richtextbox.
---------------------------
Une petite ERREUR :
Dans le fichier "langageDefinition.xml",
les définitions pour le xml sont correctes mais ne marche pas.
La règle :
<Rule type="Commentaire" expression="<!--[\s\W\d\w]*?-->" />
ne fonctionne pas car la règle
<Rule type="Delimiter" expression="(</??)|(/??>)" />
prend le pas sur elle.
<!-- --> Le premier chevron est matché par la regle "Delimiter"
et ainsi le reste ne peut pas matcher "Commentaire".
J'ai pas regardé comment était géré ton code car je n'ai pas pas trop le temps.
Il faudrait donner la priorité à la règle qui mange le plus de texte,
ce qui est le bon choix dans la majorité des problèmes de ce type (conflit entre deux règles).
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 23 déc. 2005 à 10:29
Dommage pour le mode "on the fly", sinon Très Très Bien.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 23 juil. 2005 à 13:12
Cool, pas mal comme source...
Juste une petite remarque (pas importante, mais je le dis quand même) : si on colorise et que la richtextBox est vide, ça fait planter le programme ;-)
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 22 juil. 2005 à 20:26
Non, ce n'est pas assez performant dans l'état.
J'essayerai de publier une source qui fait ca prochainement.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 22 juil. 2005 à 18:44
Wow, pas facile à faire ce genre de parser j'imagine, et en plus c'est extensible ! Est ce que c'est possible de rendre la coloration syntaxique "on the fly" avec de bonnes performances ?
4 juin 2008 à 22:31
4 juin 2008 à 22:29
4 juin 2008 à 22:28
http://sourceforge.net/projects/rpmspecmanager/
Un logiciel opensource, j'ai l'intention de la proposer a l'équipe Mono ou de collaborer avec eux sur la partie RPM, m'autorise tu as l'utiliser dans le cadre de leur licence MIT X11 ?
Puis-je l'utiliser dans le cadre OpenSource du projet RpmSpecManager ?
Une petite modif qui évite un planton avec un fichier texte "pollué" par caractères Null ((char)0) :
fichier principale de la dll ligne 2544
xmlString = xmlString.Replace("\", "\\\").Replace("{", "\\{").Replace("}", "\\}");
Devient
xmlString = xmlString.Replace("\", "\\\").Replace("{", "\\{").Replace("}", "\\}").Replace(((char)0).ToString(),string.Empty);
21 août 2007 à 11:07
Ca permet de transformer les < en <
21 août 2007 à 11:05
Merci pour ta source.
Ta source est très intéressante, mais j'ai un problème avec le "HttpUtility", je ne comprend pas vraiment a quoi il sert! quand je lance le programme, l'erreur est la suivante :
Erreur 1 Le nom 'HttpUtility' n'existe pas dans le contexte actuel
C'est une erreur simple d'habitude, c'est un problème de déclaration, mais la je ne vois pas étant donné que dans ta source il n'y a pas ce porblème, et j'ai repris ta classe telle qu'elle est!
Merci de votre aide!
A bientôt!
28 déc. 2006 à 23:39
28 déc. 2006 à 18:05
28 déc. 2006 à 15:19
TonComposant.Language = "XML"; // ou bien un enum
MonRichEdit.Rtf = TonComposant.Trait(MonTexte);
ou même :
MonRichEdit.Rtf = TonComposant.Trait("XML", MonTexte);
(là je cherche la petite bete)
28 déc. 2006 à 07:43
j'utilise ce code surtout en C#.
Plus de 2 lignes... oui. Ca fait 3 :)
27 déc. 2006 à 22:46
vbMaf.Utils.SyntaxHilighting.Highlightor hlight =
new vbMaf.Utils.SyntaxHilighting.Highlightor("xml", Application.StartupPath + @"\langageDefinition.xml");
string xml = hlight.HighLight(mon_texte);
MonRichEdit.Rtf = hlight.Export(vbMaf.Utils.SyntaxHilighting.OutputType.Rtf);
Ce qui fait plus de deux lignes...
---------------------------
Concernant l'erreur entre les regles, je t'assure qu'il y a un probleme .. Les commentaires ne sont pas colorés en vert ! :(
J'ai viré la coloration des delimiters; le noir me convient parfaitement... donc ca marche :) !
21 déc. 2006 à 20:34
Maintenant, ce que tu fais du HighLighter... dans une lib, une classe... ce que tu veux !
Séb
21 déc. 2006 à 11:59
Avant tout merci pour cette source.
---------------------------
Je PRECISE à tout le monde que la coloration ne se fait pas en live,
il faut clicquer sur un bouton pour la raffraichir.
---------------------------
Une petite CRITIQUE perso :
j'utilise ton code pour colorer du xml que je génère (debug).
Le top aurait été d'avoir le code du highlighter dans une lib.
Ainsi on aurait pu le prendre directement dans notre projet.
et DEUX ligne de code :
une pour wrapper un RichTextBox que l'on crée sur une form
une autre pour colorer le texte dans le richtextbox.
---------------------------
Une petite ERREUR :
Dans le fichier "langageDefinition.xml",
les définitions pour le xml sont correctes mais ne marche pas.
La règle :
<Rule type="Commentaire" expression="<!--[\s\W\d\w]*?-->" />
ne fonctionne pas car la règle
<Rule type="Delimiter" expression="(</??)|(/??>)" />
prend le pas sur elle.
<!-- --> Le premier chevron est matché par la regle "Delimiter"
et ainsi le reste ne peut pas matcher "Commentaire".
J'ai pas regardé comment était géré ton code car je n'ai pas pas trop le temps.
Il faudrait donner la priorité à la règle qui mange le plus de texte,
ce qui est le bon choix dans la majorité des problèmes de ce type (conflit entre deux règles).
23 déc. 2005 à 10:29
23 juil. 2005 à 13:12
Juste une petite remarque (pas importante, mais je le dis quand même) : si on colorise et que la richtextBox est vide, ça fait planter le programme ;-)
22 juil. 2005 à 20:26
J'essayerai de publier une source qui fait ca prochainement.
22 juil. 2005 à 18:44