CONVERTISSEUR DE CODE VB > HTML RAPIDE !

Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005 - 30 déc. 2003 à 11:50
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005 - 6 mars 2005 à 09:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19089-convertisseur-de-code-vb-html-rapide

Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
6 mars 2005 à 09:28
QUand j'aurai le temps de développer la version 3, j'essaierai de prendre en compte tes remarques ;)

Mais ce n'est pas encore à l'ordre du jour... De plus, il y a déjà une version 2 au cas où tu n'y aurais pas fait attention, elle est ici : http://www.vbfrance.com/code.aspx?ID=19251 ;)
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
6 mars 2005 à 09:23
Une dernière chose : lorsqu'il y a des liens hypertextes en commentaires dans le code, les transformer en vrai liens HT serait le nec + ultra.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
6 mars 2005 à 09:19
Tu devrais même ajouter un ptit lien vers ta source pour tous les documents générés par ton programme, car ce serait un coup de pub amplement mérité :-)

Un petit plus serait de gérer un argument en ligne de commande : le chemin vers le fichier .vbp ; comme ça on pourrait sélectionner un projet et faire "Envoyer vers" VB2Html.exe (en plaçant un raccourci dans le menu SendTo au préalable)
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
6 mars 2005 à 09:13
C'est génial d'avoir ajouté une table des matières ! car Google index les pages web, mais s'arrete au bout d'un moment pour les fichiers trop long ; du coup, avec la table des matières au début, Google retrouvera toutes les fonctions des codes sources que je vais mettre sur mon site, un grand bravo !
zmania Messages postés 22 Date d'inscription lundi 21 octobre 2002 Statut Membre Dernière intervention 13 septembre 2004
26 janv. 2004 à 15:16
Superbe.. Vraiment un très grand bravo. Il reste plus qu'a faire une focntion add-in pour le mettre dans la barre de vb...
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
4 janv. 2004 à 12:23
v2 posté ! Rendez-vous ICI : http://www.vbfrance.com/code.aspx?ID=19251

J'espère vraiment qu'elle vous plaira ! ;-)
nephix2003 Messages postés 84 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 6 novembre 2004
4 janv. 2004 à 01:14
poste la v2, ensuite on te trouvera de nouvelles bonnes idées ;-)
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
3 janv. 2004 à 22:28
Optimisation terminée, débogage terminé (normalement ;-)), je vais préparer ce qu'il manque et ensuite je poste la v2 et un lien sur cette source vers la nouvelle version.

Sans me vanter je crois que je suis fier de cette v2 (j'espère qu'elle vous plaira).

Merci encore pour toutes les idées que vous avez eu et que moi je n'aurai surement pas eu seul.

En passant, l'optimisation a fait perdre 8 ko au fichier EXE final. Et aussi, la v2 est p'tet un tout petit peu moins rapide que la v1, du fait de toutes les fonctions ajoutées.

Bonne prog @ tous.

@+
BRICOMIX
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
3 janv. 2004 à 15:44
Sortie un peu retardée : j'ai mes devoirs (les vacances sont presque finies ça passe trop vitre surtout sur VB :D) :'(
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
3 janv. 2004 à 14:20
oups. 'scuse

ben alors, c'est parfait. Ca promet d'être vraiment béton!

bosses bien. ;-)
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
3 janv. 2004 à 13:59
Si tu relis mon commentaire au-dessus les fichiers seuls seront acceptés dans la v2.

Un peu de patience et elle sera là ;-)
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
3 janv. 2004 à 13:48
en fait, la seule evolution serait de pouvoir charger des fichiers textes (.txt,.cls,.bas) indépendemment de l'existance d'un projet vb6.

De ce fait, il serait simple d'exploiter du code vba quelque soit son origine.
(pas d'import préalable dans vb6 à faire).
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
3 janv. 2004 à 13:42
tu as raison, laisse tomber Autocad vba.
ça prend un peu de temps, mais on peut exporter le projet sous forme de classe, que l'on réimporte dans vb6. ;-)
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
3 janv. 2004 à 13:17
Je crois que pour le vba autocad tu devras attendre un peu DSL ;-)

Là le prog est en phase d'optimisation (ben oui y'a un paquet de lignes qu'on peut simplifier), ensuite débogage et puis je poste la v2

Pour l'editeur HTML de base, ben je vois pas trop l'interet... Si tu veux modifier le style, tu copies le fichier Models\Default.html et tu le modifies pour tes gouts ;-)

Pour le commentaires oui c'est vrai que je commente pas et que c'est une erreur de ma part mais personne n'est parfait :p
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
3 janv. 2004 à 10:08
j'aimerais savoir lire les projets vba autocad (.dvb), mais pour l'instant je n'ai rien pour t'aider...
KaViDee Messages postés 262 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 18 juin 2008
2 janv. 2004 à 23:20
Oui !
Tu pourrais faire un éditeur de fichiers HTML de base pour que l'on puisse choisir les couleurs le style et la police :)

Ah et aussi mettre des commentaires dans le code :) merci
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
2 janv. 2004 à 23:10
la v2 est fini maitenant je la teste (demain, quand j'aurai corrigé un max de bugs, je la posterai). Ses fonctions :
- table des matières
- un fichier ou plusieurs (un par form / module, etc...)
- en fichiers multiples, affichage normal ou en frames
- déclaration des procédures complètes ou abrégées
- coupure automatique des lignes trop longues avec _
- optimisation de KaViDee
- tri des procédures dans la table des matières par ordre alpha (donc les private seront avant les public...)
- modifs manuelles de l'ordre des fichiers
- conversion de fichiers seul (sans le projet, fichiers .frm, .bas, .vb, etc...)

Vous avez d'autres idées ? ;-)
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
2 janv. 2004 à 19:52
KaViDee > quand je dis que c'est implémenté c'est pour la v2 que je posterai très bientôt !
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
2 janv. 2004 à 19:31
KaViDee > ton optimisation oui c'est implémenté quant à la prise en charge d'autres langages ben euh... p'tet plus tard :D Ca exigerai encore une refonte alors que j'ai quasiment fini la v2. En plus selon le langage il y a d'autres mots clés, plusieurs types de commentaire (/*...*/ ou // en PHP par exemple), etc...
KaViDee Messages postés 262 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 18 juin 2008
2 janv. 2004 à 19:09
Salut !
Ton convertisseur est super ! mais je pense qu'il y a un amélioration majeure a faire: en fait il faudrait fusionner les balises consécutives ça permettrait un gain de taille, par exemple:
As Single
deviendrait
As Single
et sur un gros projet, vu le nombre de Subs ou de fonctions à mon avis ça n'est pas complètement négligeable.

Sinon une autre amélioration qui serait super c'est d'optimiser ton code pour la prise en charge de plusieurs langages:
Par exemple tu fais des variables comme

Type VB
Comment as string = "'"
Sub as string = "Sub"
End Type

Type CSharp
Comment as string = "//"
Sub as string = "void"
End Type

Je ne sais pas si ça serait 100% compatible mais ça serait sympa :)

Voili voilou
++
KaViDee
nephix2003 Messages postés 84 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 6 novembre 2004
2 janv. 2004 à 17:43
good news, les property sont maintenant bien affichés :-)

L'idée des 2 frames de Id40 est bonne, ce serait bien d'avoir ça Bricomix!

Bon, et puisque tu as dit que tu t'ennuyais sur VB, d'autres idées...:

1) ajouter une option pour afficher les signatures complètes des functions/subs/properties

par ex.
1.1 Public Function IsMember(MemberName As String) As Boolean

2) on ne voit pas (dans le htm généré sous vb6) ce qui est Private ou Public.
L'idéal serait d'une part d'afficher ça dans les liens, d'autres part de pouvoir grouper les liens par fonctions/sub publiques puis privées. Comme ça on voit tout de suite les "interfaces" disponibles

par ex.

1 - Module1 (modules\Module1.bas)
1.1 - Public Function GetMember(Name As String) As Member
1.2 - Public Sub RemoveMember(Name As String)
1.3 - (...)
1.4 - Private Sub SortMembersList()
1.5 - Private Sub CheckBlabla()
1.6 - (...)

Qu'en penses-tu?
Là ça devient plus compliqué, mais t'as l'air d'avancer plutôt vite ;-)

@++
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
2 janv. 2004 à 17:29
ld40 > je m'en doutais que c'était pas un bonne idée Input$ ! :-( J'en ai pris compte dans la v2 (d'ailleurs, pour infos, le mode multi-fichiers est pratiquement terminé) ;-)
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
2 janv. 2004 à 16:56
bon ben j'ai vérifié avec juste mon module de 17ko et ça plante encore.
Pour corriger le bug et sans passer par l'api (pour l'instant) j'ai écrit
'-----------Ancien code
'Open BaseDir & lstFichiers.List(OpenFiles) For Input As #2
' filedata = Input$(LOF(2), #2)
'Close #2

'-----------Nouveau code
Open BaseDir & lstFichiers.List(OpenFiles) For Binary As #2
filedata = Space(LOF(2))
Get #2, 1, filedata
Close #2

Sinon pour la génération du html on peut faire une html sommaire + une html listing + une html qui regroupe les deux premieres dans deux cadres. c'est à dire:
A Gauche le sommaire, à droite un listing, fonction de se qui est cliqué à gauche. (voir les balises <FRAMESET> et <FRAME>)
Bon courage ;-)
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
2 janv. 2004 à 16:22
nephix > bug des Property dans la table des matières corrigé dans cette v1.21. La v1.30 n'arrivera pas car je passe directement à la v2. Une refonte du code de conversion est donc en cours ;-) Laissez-moi 1-2 jours pour la finir (p'tet même moins). Améliorations de la v2 : possibilités de plusieurs fichiers HTML, de réorganiser manuellement l'ordre des fichiers et coupure automatique des lignes trop longues.

Je posterai un commentaire vers la nouvelle source quand elle sera disponible.
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
2 janv. 2004 à 11:44
Merci pour vos commentaires !

En effet pour le property j'y avais pas pensé je vais corriger ça (en VB.Net c'est bon je crois). Je vais ajouter 1 option : soit le résultat est dans plusieurs fichiers soit dans un seul. Quant au tronquage des lignes trop longues je vais y regarder aussi. Ce sera la version 1.30. Ensuite je travaillerai sur la v2 parceque a force de rajouter des fonctions le code commence à ne plus être très optimisé !

Encore merci.
nephix2003 Messages postés 84 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 6 novembre 2004
2 janv. 2004 à 04:40
cool
par contre attention aux Property, il faudrait que tu ajoutes le nom de la propriété sinon on a des liens de ce style :

1 - Account (classes\Account.cls)
1.1 - Sub Class_Initialize
1.2 - Property Get
1.3 - Property Get
1.4 - Property Let
1.5 - Property Let
(...)

Ensuite, il faudrait que tu ajoutes la possibilité de mettre seulement la table des matières dans le html de destination, et que les liens pointent vers d'autres fichier html où là tu mets le code de la form/classe/module/... concerné.
Tu vois ce que je veux dire ?

j'attends la prochaine version ;-)

@++
cs_claudetom Messages postés 115 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 15 octobre 2012
2 janv. 2004 à 02:25
Il devient très très intéressant comme petit soft et très utile pour la diffusion sur internet de source en couleur et bien agencé.
Pour Vb.net, aucun problème, ça fonctionne nickel, aucun souci.
Manque plus que la possibilité de choisir l'ordre de la génération du code exemple les forms ensuite les modules, etc..
Sous Vb.Net le choix doit pouvoir se faire à la main ou en faisant une reconnaissance dans le fichier Vbproj car tous les fichiers pratiquement possèdent l'extension .vb

2) le summum serait de pouvoir changer la longueur des lignes pour impression (tronquage et ajout en fin de ligne le ""_"")
pour une lecture parfaite ce qui est pas le cas même sous vb.net.

Vive la version 2 !!!
Merci pour ce soft très utile.
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
2 janv. 2004 à 00:07
nephix > Ton idée est implémentée ! Pour le VB 6 normalement c'est bon mais pour le .Net faut voir si ça fonctionne bien ! Allez voir l'exemple : http://bricomix.free.fr/vbtohtml_exemple.html

Il commence à être pas mal ce p'tit soft ;-)
nephix2003 Messages postés 84 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 6 novembre 2004
1 janv. 2004 à 23:20
content que mon idée te plaise :-)

ça nous permettrait de fournir la doc de nos sources. D'une part c'est plus classe, et d'autre part ce serait utile pour ceux qui n'ont pas le bon environnement pour ouvrir le source (vstudio6 avec un projet .net par ex.)

Ce serait aussi l'occasion de faire une version majeure de ton soft (2.0)

;-)

@++
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
1 janv. 2004 à 21:23
nephix > t'as eu une idée cool là ! pour le VB 6 facile mais pour le VB.Net il me faut des infos sur la structure de tous les types de fonctions, sub et tout... Pour l'instant je vais commencer à l'implémenter ;-) D'ailleurs ton idée tombe bien je commençais un peu à m'ennuyer ferme sur VB LOL
nephix2003 Messages postés 84 Date d'inscription mercredi 4 juin 2003 Statut Membre Dernière intervention 6 novembre 2004
1 janv. 2004 à 21:08
félicitations, je viens de le faire sur un vbp ça fonctionne très bien !
=> 10/10

Une belle amélioration serait de pouvoir générer un index.htm contenant une pseudo-table des matières en liens hypertextes sur chaque form/module/class etc. et sur chaque signature de fonction.

par ex. :

index.htm
------------

1. frmVBToHTML <= frmVBToHTML.htm
1.1 Private Sub cmdOK_Click() <= frmVBToHTML.htm#cmdOK_Click
1.2 (...)
2. frmBlabla <= frmBlabla.htm
2.1 Private Sub Form_Load() <= frmBlabla.htm#Form_Load
2.2 (...)

Un peu à la façon de la javadoc mais sans les descriptions.
Tu crois que tu peux nous pondre ça ? :-)

@++
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
1 janv. 2004 à 20:14
ld40 > ah bon !! pourtant j'ai fait des fichiers de plus de 25 ko aucun pb ! Quelle est la taille totale de tous les modules, classes et forms de ta source ?
ld40 Messages postés 336 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 22 février 2019 1
1 janv. 2004 à 19:26
c'est sympa. :-)

ça a planté pour un module de 17ko (fichier trop long d'apres le message d'erreur).

Si tu veux, pour lire un fichier texte en une seule string, il y a l'api
http://www.vbfrance.com/code.aspx?ID=5076

bon courage.
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
1 janv. 2004 à 12:26
Progression des fichiers OK (mais c'est pas une progressbar...) et correction d'un bug avec les extensions de fichiers (fichiers refusés si extension en majuscules)
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
1 janv. 2004 à 11:39
PROGRAMMIX > merci. pour la progressbar, j'y avais pensé, mais un peu la flemme (pourtant c'est pas long !). Je vais y regarder quand même ! Bonne année et bonne santé @ tous !!
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
1 janv. 2004 à 10:39
Rapide effectivement...
Mais il serait souhaitable d'intégrer une progressbar afin de montrer que l'application tourne bien et avance ; le temps peut paraître long sur certains projets lorsqu'on attend "bêtement"...

Bonne année.
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
31 déc. 2003 à 21:47
Et voilà un p'tite MAJ en v1.12 qui améliore un tout p'tit peu l'implémentation de VB.net.
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
31 déc. 2003 à 18:27
Encore une MAJ en v1.11 qui corrige un imprtant bug dans la page HTML rendue : MISE A JOUR importante !! J'espère que cette fois c'est bon ;-)
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
31 déc. 2003 à 18:18
Petit MAJ en v1.10 qui corrige 2 bugs (dont 1 important) mais SURTOUT ajoute le support des .vbproj (donc du VB.Net) avec les fichiers et les mots clés qui vont avec.
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
31 déc. 2003 à 12:44
D'ailleurs de code est une toute petite partie (pas grand chose) d'un interpreteur qui gère les boucles until, while, for, les conditions if...then...elseif...else, les calculs, les and, or, xor, les fonctions avec paramètres, les variables et tout que je posterai bientôt sur le site (y'aura meme des includes de fichier dynamiques !)
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
31 déc. 2003 à 12:37
crazyjoke > aucune inspiration sur aucun autre code. Ce code, au lieu d'intervenir directement sur le texte entier (ben oui c'est lent), sépare toutes les intructions dans un tableau puis les écrit un à un dans un fichier en les coloriant selon s'il reconnait un mot clé, un nombre, une chaine de caratère ou encore un commentaire ! Vous avez compris :D ?
Utilisateur anonyme
31 déc. 2003 à 12:27
Je suis sur le cul !!!! 10/10
Il m'a convertit mon microprocesseur virtuel (+ de 1000 lignes pour l'instant, bientôt sur le site) en 1 sec, c'est super, je vais voir le code j'espère que tu ne t'es pas trop "inspiré" d'autres codes...
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
31 déc. 2003 à 11:04
Merci et bonne année à vous aussi ;-)

Bon petite MAJ en v1.06 (changements listés au-dessus). Pour le VB.Net, il suffit que je récupère un .vbproj, ainsi que des fichiers de type différents contenant chacun du code (en vb6, il y a form, module, classe, usercontrol, propertypage). Aussi une liste de mots clés, ensuite l'adaptation sera un jeu d'enfant !
TheLK Messages postés 15 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 30 mai 2005
31 déc. 2003 à 08:47
Très bonne source, marche impec :p

Mais dans le menu a propos : "Merci de d'utiliser VBToHTML !!!" le "de" est de trop je pense ;o) sinon rien à dire...

Bonne idée si dans le futur on pourra faire la même chose avec du .Net
VicoLaChips2 Messages postés 436 Date d'inscription dimanche 20 janvier 2002 Statut Membre Dernière intervention 2 février 2010 2
31 déc. 2003 à 06:28
Super source !

Merci et bonne année, @VIC
cs_claudetom Messages postés 115 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 15 octobre 2012
31 déc. 2003 à 03:47
Très intéressant pour la diffusion sur internet, mais pour mon cas cela ne peut fonctionner sans un remaniement du code de lecture du fichier qui implémente les fichiers sources, pour mon cas je suis sous Vb.Net et le fichier à lire est du type .vbproj.
Les fichiers utilisés sont listés sous .
Dommage, je cherchais cela, mais la modification devrait être possible.
Bricomix Messages postés 340 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 14 février 2005
30 déc. 2003 à 11:50
J'ai déjà corrigé un bug important. Sous mozilla, ça change rien, mais sous IE, seule une partie s'affichait !
Rejoignez-nous