Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONVERTISSEUR DE CODE VB > HTML RAPIDE !


Information sur la source

Catégorie :Texte Niveau : Initié Date de création : 30/12/2003 Date de mise à jour : 02/01/2004 16:18:23 Vu / téléchargé: 7 900 / 1 520

Note :
9,67 / 10 - par 9 personnes
9,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (47)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ben en fait c'est un convertisseur de code-source vers HTML. Vous indiquez le fichier VBP de votre projet, le programme vous liste les forms, modules, classes, usercontrols et propertypages qu'il contient, vous choisissez ceux que vous voulez convertir en HTML, vous spécifiez le fichier HTML final, vous cliquez sur créer et vous avez un joli code HTML optimisé ;)


Ah oui, sur la capture j'ai transformé l'énorme et superbe source http://www.vbfrance.com/code.aspx?ID=4440, et la transformation s'est effectué en 1 seconde (pour un fichier HTML de 600 ko !!).

La liste des mots clés est tiré de cette source : http://www.vbfrance.com/code.aspx?ID=6628 (j'ai rajouté certains mots clés)

Sinon tout le reste est de moi !

PS : exemple de code converti en HTML : http://bricomix.free.fr/vbtohtml_exemple.html
 

Source

  • ZIIIIIIIIIIIIIIIIIP !
ZIIIIIIIIIIIIIIIIIP !

Conclusion

Si il y a des bugs ou des améliorations possibles faites-moi signe en dessous :)

MAJ : v1.01 qui corrige un bug et ajoute la possibilité de voir le fichier HTML une fois généré.

MAJ : v1.05 qui permet le choix d'un modèle HTML, et ajout des menus.

MAJ : v1.06 qui vire la confirmation de sortie (elle m'énervait plus qu'autre chose), modifie un peu la boite "A propos" et inverse la frame "Modele HTML" avec la frame "Fichier HTML".

MAJ : v1.10 qui ajoute la gestion des projets VB.Net (bugs possibles), corrige un bug important qui coloriait certains mots en mots clés alors qu'ils n'en étaient pas et aussi un bug d'affichage en moins.

MAJ : v1.11 qui corrige un bug important dans la page HTML rendu qui pouvait fausser pas mal de couleurs.

MAJ : v1.12 qui améliore un tout petit peu l'implémentation de VB.Net.

MAJ : v1.13 qui permet de voir la progression des fichiers.

MAJ : v1.14 correction d'un bug qui refusait souvent les fichiers avec des extensions contenant des majuscules (ex : .VBP)

MAJ : v1.20 ajout du la génération d'une table des matières (voir http://bricomix.free.fr/vbtohtml_exemple.html) et petite amélioration (je sais plus ce que c'est LOL)

MAJ : v1.21 correction du bug dans la table des matières et les fonctions de type Property (Get|Let|Set)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Bricomix le 30/12/2003 11:50:54

J'ai déjà corrigé un bug important. Sous mozilla, ça change rien, mais sous IE, seule une partie s'affichait !

signaler à un administrateur
Commentaire de claudetom le 31/12/2003 03:47:02

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 <Include>.
Dommage, je cherchais cela, mais la modification devrait être possible.

signaler à un administrateur
Commentaire de VicoLaChips2 le 31/12/2003 06:28:53

Super source !

Merci et bonne année, @VIC

signaler à un administrateur
Commentaire de TheLK le 31/12/2003 08:47:44

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

signaler à un administrateur
Commentaire de Bricomix le 31/12/2003 11:04:18

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 !

signaler à un administrateur
Commentaire de crazyjoke le 31/12/2003 12:27:58

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...

signaler à un administrateur
Commentaire de Bricomix le 31/12/2003 12:37:23

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 ?

signaler à un administrateur
Commentaire de Bricomix le 31/12/2003 12:44:00

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 !)

signaler à un administrateur
Commentaire de Bricomix le 31/12/2003 18:18:02

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.

signaler à un administrateur
Commentaire de Bricomix le 31/12/2003 18:27:46

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 ;-)

signaler à un administrateur
Commentaire de Bricomix le 31/12/2003 21:47:41

Et voilà un p'tite MAJ en v1.12 qui améliore un tout p'tit peu l'implémentation de VB.net.

signaler à un administrateur
Commentaire de PROGRAMMIX le 01/01/2004 10:39:29

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.

signaler à un administrateur
Commentaire de Bricomix le 01/01/2004 11:39:14

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 !!

signaler à un administrateur
Commentaire de Bricomix le 01/01/2004 12:26:20

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)

signaler à un administrateur
Commentaire de ld40 le 01/01/2004 19:26:56

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.

signaler à un administrateur
Commentaire de Bricomix le 01/01/2004 20:14:45

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 ?

signaler à un administrateur
Commentaire de nephix2003 le 01/01/2004 21:08:00

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 ? :-)

@++

signaler à un administrateur
Commentaire de Bricomix le 01/01/2004 21:23:33

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

signaler à un administrateur
Commentaire de nephix2003 le 01/01/2004 23:20:07

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)  

;-)

@++

signaler à un administrateur
Commentaire de Bricomix le 02/01/2004 00:07:12

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 ;-)

signaler à un administrateur
Commentaire de claudetom le 02/01/2004 02:25:06

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.

signaler à un administrateur
Commentaire de nephix2003 le 02/01/2004 04:40:12

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 ;-)

@++

signaler à un administrateur
Commentaire de Bricomix le 02/01/2004 11:44:09

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.

signaler à un administrateur
Commentaire de Bricomix le 02/01/2004 16:22:08

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.

signaler à un administrateur
Commentaire de ld40 le 02/01/2004 16:56:29

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 ;-)

signaler à un administrateur
Commentaire de Bricomix le 02/01/2004 17:29:01

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é) ;-)

signaler à un administrateur
Commentaire de nephix2003 le 02/01/2004 17:43:15

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 ;-)

@++

signaler à un administrateur
Commentaire de KaViDee le 02/01/2004 19:09:29

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:
<span class="c">As</span> <span class="c">Single</span>
deviendrait
<span class="c">As Single</span>
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

signaler à un administrateur
Commentaire de Bricomix le 02/01/2004 19:31:24

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...

signaler à un administrateur
Commentaire de Bricomix le 02/01/2004 19:52:46

KaViDee > quand je dis que c'est implémenté c'est pour la v2 que je posterai très bientôt !

signaler à un administrateur
Commentaire de Bricomix le 02/01/2004 23:10:09

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 ? ;-)

signaler à un administrateur
Commentaire de KaViDee le 02/01/2004 23:20:07

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

signaler à un administrateur
Commentaire de ld40 le 03/01/2004 10:08:45

j'aimerais savoir lire les projets vba autocad (.dvb), mais pour l'instant je n'ai rien pour t'aider...

signaler à un administrateur
Commentaire de Bricomix le 03/01/2004 13:17:42

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

signaler à un administrateur
Commentaire de ld40 le 03/01/2004 13:42:48

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. ;-)

signaler à un administrateur
Commentaire de ld40 le 03/01/2004 13:48:32

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).

signaler à un administrateur
Commentaire de Bricomix le 03/01/2004 13:59:34

Si tu relis mon commentaire au-dessus les fichiers seuls seront acceptés dans la v2.

Un peu de patience et elle sera là ;-)

signaler à un administrateur
Commentaire de ld40 le 03/01/2004 14:20:14

oups. 'scuse

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

bosses bien. ;-)

signaler à un administrateur
Commentaire de Bricomix le 03/01/2004 15:44:09

Sortie un peu retardée : j'ai mes devoirs (les vacances sont presque finies ça passe trop vitre surtout sur VB :D) :'(

signaler à un administrateur
Commentaire de Bricomix le 03/01/2004 22:28:02

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

signaler à un administrateur
Commentaire de nephix2003 le 04/01/2004 01:14:42

poste la v2, ensuite on te trouvera de nouvelles bonnes idées ;-)

signaler à un administrateur
Commentaire de Bricomix le 04/01/2004 12:23:42

v2 posté ! Rendez-vous ICI : http://www.vbfrance.com/code.aspx?ID=19251

J'espère vraiment qu'elle vous plaira ! ;-)

signaler à un administrateur
Commentaire de zmania le 26/01/2004 15:16:13

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...

signaler à un administrateur
Commentaire de Patrice99 le 06/03/2005 09:13:52

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 !

signaler à un administrateur
Commentaire de Patrice99 le 06/03/2005 09:19:17

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)

signaler à un administrateur
Commentaire de Patrice99 le 06/03/2005 09:23:50

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.

signaler à un administrateur
Commentaire de Bricomix le 06/03/2005 09:28:26

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 ;)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.