OVH Cloud OVH Cloud

Imprimer / Visualiser code VB en couleur : Suite et fin

10 réponses
Avatar
Jean-Marc
Hello,

j'ai mis en ligne les sources du petit programme permettant
de générer une page HTML à partir de code source VB:
http://myjmnhome.dyndns.org/download.htm

C'est au début de la section "Autres Téléchargements".

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr

10 réponses

Avatar
Picalausa François
"Jean-Marc" a écrit dans le message de news:
43ca3676$0$4767$
Hello,

j'ai mis en ligne les sources du petit programme permettant
de générer une page HTML à partir de code source VB:
http://myjmnhome.dyndns.org/download.htm

C'est au début de la section "Autres Téléchargements".



Hello,

Petite colle (qui m'embétait quand j'ai essayé de faire ce genre de
coloration):
a = Mid("abc", 2)
Mid(a, 1, 1) = "e"

Le second Mid n'est pas détecté puisqu'il est suivit d'une parenthèse...
Il faut aussi checker le contexte pour différencier le premier et le second
cas... :-)

Mieux encore (enfin... hmmm) dans On Error Goto 0, VB reconnait l'expression
complète comme étant un keyword, et donc le 0 est en bleu! (La question est
comment chez Microsoft ont-il fait leur parseur pour la coloration?)
Il y a aussi le "keyword" DefType qui est DefInt, Def... (qui nécessite
juste de modifier la liste)

Je ne sais pas si tu aurais quelques idées à ce sujet?

Belle implémentation de base, pour tout programme de ce genre, anyway!

--
Picalausa François
Avatar
Jean-Marc
"Picalausa François" a écrit dans le message de
news:
"Jean-Marc" a écrit dans le message de


news:
43ca3676$0$4767$
> Hello,
>
> j'ai mis en ligne les sources du petit programme permettant
> de générer une page HTML à partir de code source VB:
> http://myjmnhome.dyndns.org/download.htm
>
> C'est au début de la section "Autres Téléchargements".

Hello,




Hello,


Petite colle (qui m'embétait quand j'ai essayé de faire ce genre de
coloration):
a = Mid("abc", 2)
Mid(a, 1, 1) = "e"

Le second Mid n'est pas détecté puisqu'il est suivit d'une


parenthèse...
Il faut aussi checker le contexte pour différencier le premier et le


second
cas... :-)



Oui le cas de Mid est vraiment particulier. C'est la seule instruction
qui soit à la fois une fonction et un statement.
J'ai volontairement éludé pour la première version. Je n'ai pas d'idée
comme ça à priori pour résoudre ça simplement. En fait j'ai bien une
solution,
mais ça met en oeuvre des choses que je n'ai pas envie d'utiliser ici.

Mieux encore (enfin... hmmm) dans On Error Goto 0, VB reconnait


l'expression
complète comme étant un keyword, et donc le 0 est en bleu!



Oui, et des cas tordus aussi du genre "Line Input" :-(

(La question est
comment chez Microsoft ont-il fait leur parseur pour la coloration?)



J'ai bien une idée de la chose, mais ca embarque dans des développements
compliqués si on veut le faire vraiment bien, ie dans les règles de
l'art.

En revanche, pour faire marcher le truc en réglant "à la main" les 2 ou
3
exceptions, je devrais trouver qq chose de satisfaisant, je dois
réfléchir
un petit peu à la question.

Il y a aussi le "keyword" DefType qui est DefInt, Def... (qui


nécessite
juste de modifier la liste)



Oui je m'en suis apperçu après coup, je dois modifier la liste. Merci
de la remarque en tout cas.

Je ne sais pas si tu aurais quelques idées à ce sujet?



Oui, j'ai bien quelques idées. Je dois laisser un peu mûrir la chose,
mais
je viendrais exposer les résultats dès que j'aurais du concret...

Belle implémentation de base, pour tout programme de ce genre, anyway!



Merci du retour en tout cas :-)

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Barsalou
Bonjour

J'ai fait quelques modifs, notamment pour éviter qu'un mot clé suivi d'autre
chose qu'une espace s'imprime en noir au lieu de bleu.
J'ai également utilisé un common dialog pour entre les noms des fichiers.

Cela dit le programme est super (il faut ajouter quelque mots clés (Left,
Right, etc.. )
Avatar
Daniel AUBRY
Salut Jean-Marc

ce matin, 06:51 --> impossible de se connecter !!

Cela vient de toi ou de moi ?
Merci,
Dany

"Jean-Marc" a écrit dans le message de news:
43ca3676$0$4767$
Hello,

j'ai mis en ligne les sources du petit programme permettant
de générer une page HTML à partir de code source VB:
http://myjmnhome.dyndns.org/download.htm

C'est au début de la section "Autres Téléchargements".

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;



Avatar
jean-marc
Hello,

cela vient de moi :-(

Mon site web tourne sur mon serveur HTTP (Rabbit), et celui ci tourne sue ma
machine perso, pour le moment. Elle n'est pas toujours allumée, et c'est
pourquoi tu n'as pas pu te connecter.

Je l'allume en général le soir de 19:00 à 23:00, environ et presque tout le
WE.
Je vais bientôt installer tout ceci sur une machine dédiée.

En tout cas, le serveur sera 'up and running' ce soir :-)

--
Jean-marc


"Daniel AUBRY" wrote in message
news:43cb3493$0$6243$
Salut Jean-Marc

ce matin, 06:51 --> impossible de se connecter !!

Cela vient de toi ou de moi ?
Merci,
Dany

"Jean-Marc" a écrit dans le message de


news:
43ca3676$0$4767$
> Hello,
>
> j'ai mis en ligne les sources du petit programme permettant
> de générer une page HTML à partir de code source VB:
> http://myjmnhome.dyndns.org/download.htm
>
> C'est au début de la section "Autres Téléchargements".
>
> --
> Jean-marc
> Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ;
>




Avatar
jean-marc
"Barsalou" wrote in message
news:
Bonjour

J'ai fait quelques modifs, notamment pour éviter qu'un mot clé suivi


d'autre
chose qu'une espace s'imprime en noir au lieu de bleu.
J'ai également utilisé un common dialog pour entre les noms des fichiers.

Cela dit le programme est super (il faut ajouter quelque mots clés (Left,
Right, etc.. )



Hello,

Un mot clé ne peut pas être suivi d'autre chose
que d'un espace ou qu'un CRLF, en tout cas pas si le code
est entré dans l'IDE (SAUF pour Mid()).

=> Me trompe-je ?


Left et Right ne sont pas des instructions, ce sont des fonctions.
Mid est soit une fonction, soit une instruction.

Tape ce code dans ton IDE:
s = Left(s, 1)

Mid(s, 1, 1) = "t" ' ici mid est une instruction

s = Mid(s, 1, 3) ' ici Mid est une fonction

Tu verras que Left est en noir, le premier Mid en bleu
et Le deuxième Mid en noir.

=> la , j'en suis sur.

C'est donc normal :-)

--
jean-marc
Avatar
jean-marc
"Barsalou" wrote in message
news:
Bonjour

J'ai fait quelques modifs, notamment pour éviter qu'un mot clé suivi


d'autre
chose qu'une espace s'imprime en noir au lieu de bleu.
J'ai également utilisé un common dialog pour entre les noms des fichiers.

Cela dit le programme est super (il faut ajouter quelque mots clés (Left,
Right, etc.. )



Re,

En complément de mon message précédent, François m'a fait justement
remarquer que quelques un des mots clés manquants étaient les:
DefInt
DefDbl
etc.

Je les ai rajouté et je mettrais à jour aussi sur le site dans
le .zip.

--
Jean-marc
Avatar
Barsalou
Salut
Je croyais naïvement que Left, Right etc.. étaient des mots clés. Le nom
d'une fonction n'est pas un mot clé ?
Quelle est la définition exacte ?
De toute façons il me parait intéressant de repérer par des couleurs
différentes les instructions VB, les fonctions VB, et les appels de
procédures (Sub et Fonctions du programme), de même que les variables du
programme par rapport aux constantes VB (VbYesNo...).
A+
Avatar
Jean-Marc
"Barsalou" a écrit dans le
message de news:
Salut



Hello,

Je croyais naïvement que Left, Right etc.. étaient des mots clés. Le


nom
d'une fonction n'est pas un mot clé ?
Quelle est la définition exacte ?




voici un lien vers la section Reference de VB6:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/VBRef98/html/vbmscLROverview.asp

Tu verras ici les différents concepts VB, parmi lesquels:
- Functions (les fonctions)
- Statements (les instructions = ceux qui apparraissent en bleu)
- Keywords (les mots clés)

Un statement ou instruction n'est pas une fonction, pas plus qu'un
keyword.

C'est une différence fondamentale, les instructions sont le squelette
d'un langage de programmation. Les fonctions ne sont qu'une suite
d'instructions (internes ou externes) réalisant une tâche donnée.

Il y a une exception, c'est Mid qui pour des raisons historiques est
à la fois un statement et une fonction; les 2 s'utilisent d'ailleurs
très différemment.

De toute façons il me parait intéressant de repérer par des couleurs
différentes les instructions VB, les fonctions VB, et les appels de
procédures (Sub et Fonctions du programme), de même que les variables


du
programme par rapport aux constantes VB (VbYesNo...).



Ca c'est vrai. On peut imaginer de colorier de différentes façons les
fonctions natives de VB, les constantes, etc. Mais l'éditeur de VB se
contente de colorier en bleu les instructions et mos clés.

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Jean-Marc
"Daniel AUBRY" a écrit dans le message de
news:43cb3493$0$6243$
Salut Jean-Marc

ce matin, 06:51 --> impossible de se connecter !!

Cela vient de toi ou de moi ?
Merci,
Dany



Hello,

suite de mon message précédent, si Rabbit pas disponible,
j'ai copié le zip ici:
http://users.skynet.be/candide/SyntacticColor.zip


--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;