Code source vb >> html

Soyez le premier à donner votre avis sur cette source.

Vue 8 850 fois - Téléchargée 453 fois

Description

Dll non compilé permettant de transformer un code source VB en fichier html
pour l'imprimer ou le publier sur le web.
Mise à jour :

- format DLL (pour l'utiliser avec ASP par exemple)
- choix des couleurs (mots clés, fonctions, commentaires, normal)
- môts clés dans un fichier externe (223) à completer !!

Vous pouvez tester le composant ici : www.asp2z.com

Source / Exemple :


Dim WithEvents vbHtm As clsVbToHtml

Private Sub btnConvertir_Click()
    Set vbHtm = New clsVbToHtml
    vbHtm.DocTitle = "ESSAI"
    vbHtm.DocSavePath = App.Path & "\Resultat.html"
    vbHtm.KeywordFile = App.Path & "\keyword.dat"
    
    'Autre exemple de coloration syntaxique
    '--------------------------------------
    vbHtm.DocNormalColor = HtmlWhite
    vbHtm.CodeColor = HtmlYellow
    vbHtm.CommentColor = HtmlGreen
    vbHtm.DocBgroundColor = HtmlBlack
    '--------------------------------------

    'Sans coloration syntaxique
    '--------------------------
    'vbHtm.DocShowColors = False
    
    
    vbHtm.VbToHtml txtSource.Text
    
End Sub

Private Sub vbHtm_Down()
    MsgBox "C'est fini !", vbInformation
End Sub

Private Sub vbHtm_progress(iProg As Integer)
    PBar.Value = iProg
End Sub

Conclusion :


Il suffit de faire un copier collé d'un source dans la textbox.
Toutes les suggestions, remarques sont la bienvenue -;)

@+, VIC

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
436
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
2
Bonjour :)
C'est bien que quelqu'un ce penche encore sur ce code qui date de mes débuts en VB :)
Je suis d'accord c'est mal programmé !!
Pour tes questions de fins :
Les deux projets te permettent de tester la dll sans la compiler ... Tu peux mettre dans les références (ou compléments je sais plus comment on appel ça)celle de ton projet "dll"
Une fois créer la dll est accessible de la même façon

Cordialement, Victor.
Messages postés
91
Date d'inscription
jeudi 18 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2008

Salut VicoLaChips2,
Y'a une partie que je comprend pas du tout :
If InStr(tblLignes(intLigne), "&") > 0 Then 'Entité html ?
Stbl2 = Split(tblLignes(intLigne), " ")
tblLignes(intLigne) = ""
For i = 0 To UBound(Stbl2)
If Len(Stbl2(i)) > 1 Then
If InStr(Stbl2(i), "&") > 0 Then
Stbl2(i) = Replace(Stbl2(i), "&", "&")
End If
End If
tblLignes(intLigne) = tblLignes(intLigne) & Stbl2(i) & " "
Next
tblLignes(intLigne) = RTrim(tblLignes(intLigne))
End If
If InStr(tblLignes(intLigne), "<") > 0 Then 'balise html ?
If Mid(tblLignes(intLigne), _
InStr(tblLignes(intLigne), "<") + 1, 1) <> ">" Then
tblLignes(intLigne) = _
Replace(tblLignes(intLigne), "<", "<")
tblLignes(intLigne) = _
Replace(tblLignes(intLigne), ">", ">")
End If
End If

Pourquoi ne pas ecrire plus simplement :
tblLignes(intLigne) = Replace(Replace(Replace(tblLignes(intLigne), _
"&", "&"), _
"<", "<"), _
">", ">")

La serie des If imbriques est assez difficile a lire :
Vu la hauteur des sous-parties, ne serait il pas plus lisible d'ecrire :
If Test Then
Je montre tout de suite ce qu'il se passe dans ce cas la
Else
If Test2 Then
Je montre tout de suite ce qu'il se passe dans ce cas la
Else
La suite peu bien occuper 2000 lignes, c'est plus facile a lire
End If
End If

Et dans ce cas, pourquoi ne pas utiliser des ElseIf qui evitent d'ajouter cinquante espaces d'indentation ?

Le tout fonctionne bien, mais il y a un bug :
Si une chaine de texte contient une apostrophe, ca deconne :
Exemple :
Msgbox "Attention ca va 'deconner' !", "Bug"
Dans la sortie html, la ligne sera verte (couleur commentaire) a partir de 'deconner...

Et un autre bug que je retrouve souvent dans ce genre de code :
Il faut savoir qu'il est possible de mettre un commentaire sur plusieurs ligne tout comme on met une operation sur plusieurs lignes avec espace + underscore (" _") a la fin de la ligne.
Exemple :
'Ceci est un commentaire _
sur deux lignes.
Dans la sortie html, la deuxieme ligne ne sera pas verte (couleur commentaire).

Questions subsidiaires car mon ignorance est grande en VB :
- a quoi cela sert il de faire deux projets et un groupe de projets ?
- Comment creer une Dll ?
- Comment l'utiliser une fois cree ?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
42
salut
c'est de l'excellent boulot.
je viens de le reprendre, moins d'une demi-heure de correction dessus. impeccable
9/10 (toujours perfectible)
bonne continuation
PCPT
Messages postés
24
Date d'inscription
mercredi 5 septembre 2001
Statut
Membre
Dernière intervention
7 août 2003

ya 2 api qui s'occupent des ini et très facilement ...
mais le meilleur moyen de les éditer c encore à la main au bloc notes ! ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.