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 !

VB2HTML


Information sur la source

Catégorie :Texte Classé sous : parser, coloration Niveau : Débutant Date de création : 02/07/2003 Date de mise à jour : 02/07/2003 12:08:11 Vu / téléchargé: 3 149 / 219

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

Oui je sais encore une source qui transforme du VB pour le formater dans une page Web...


 

Source

  • Public Function vb2html(szCode As String) As String
  • ' Principe : On parcourt le code ligne par ligne pour isoler les lignes de commentaire
  • ' ensuite on parse chaque ligne à la recherche de keyword
  • Dim szLigne() As String
  • Dim tmpCode As String
  • Dim szTampon As String
  • Dim i As Long
  • Dim j As Long
  • Dim bChaine As Boolean
  • bChaine = False
  • If mcolKeyword Is Nothing Then loadKeyword
  • ' on stocke le code dans un tableau
  • szLigne = Split(szCode, vbCrLf)
  • tmpCode = vbNullString
  • For i = LBound(szLigne) To UBound(szLigne)
  • If Trim$(szLigne(i)) Like "'*" Then ' c'est une ligne complète en commentaire
  • tmpCode = tmpCode & mComment & htmlEncode(szLigne(i)) & mFin & "<BR>" & vbCrLf
  • Else
  • szTampon = vbNullString
  • For j = 1 To Len(szLigne(i)) + 1
  • If bChaine Then
  • ' on est dans une chaine de caractères on recopie sans rien changer
  • tmpCode = tmpCode & htmlEncode(Mid$(szLigne(i), j, 1))
  • ElseIf Mid$(szLigne(i), j, 1) <> """" Then ' nous ne sommes pas dans une chaine de caractères
  • ' commentaire de fin de ligne
  • If Mid$(szLigne(i), j, 1) = "'" And Not bChaine Then
  • tmpCode = tmpCode & mComment & Mid$(szLigne(i), j) & mFin & "<BR>" & vbCrLf
  • Exit For
  • End If
  • If j > Len(szLigne(i)) Then
  • If isKeyword(Trim$(szTampon)) Then
  • If Mid$(szLigne(i), j, 1) <> "(" Then
  • tmpCode = tmpCode & mKeyword & szTampon & mFin
  • Else
  • tmpCode = tmpCode & mFunction & szTampon & "</B>" & mFin
  • End If
  • tmpCode = tmpCode & "<BR>" & vbCrLf
  • Else
  • tmpCode = tmpCode & szTampon & "<BR>" & vbCrLf
  • End If
  • End If
  • If (Mid$(szLigne(i), j, 1) <> " " And Mid$(szLigne(i), j, 1) <> "(" And Mid$(szLigne(i), j, 1) <> ")" And Mid$(szLigne(i), j, 1) <> vbTab And _
  • Mid$(szLigne(i), j, 1) <> vbCrLf And Mid$(szLigne(i), j, 1) <> "_") Or szTampon = vbNullString Then
  • ' on rempli le Tampon...
  • szTampon = szTampon & htmlEncode(Mid$(szLigne(i), j, 1))
  • Else
  • ' a ce moment le curseur pointe sur un espace ou bien une (
  • ' on compare le mot avec la liste des mots connus
  • If isKeyword(Trim$(szTampon)) Then
  • If Mid$(szLigne(i), j, 1) <> "(" Then
  • tmpCode = tmpCode & mKeyword & szTampon & mFin
  • Else
  • tmpCode = tmpCode & mFunction & szTampon & "</B>" & mFin
  • End If
  • tmpCode = tmpCode & htmlEncode(Mid$(szLigne(i), j, 1))
  • Else
  • tmpCode = tmpCode & szTampon & htmlEncode(Mid$(szLigne(i), j, 1))
  • End If
  • szTampon = vbNullString
  • End If
  • End If
  • ' si bChaine est vrai alors on est dans une chaine de caractères
  • If Mid$(szLigne(i), j, 1) = """" Then
  • If bChaine Then
  • If i < UBound(szLigne) Then
  • bChaine = (szLigne(i + 1) = """")
  • If Not bChaine Then tmpCode = tmpCode & "</B>" & mFin & mNormal
  • Else
  • bChaine = False
  • tmpCode = tmpCode & "</B>" & mFin & mNormal
  • End If
  • Else
  • bChaine = True
  • tmpCode = tmpCode & mString & """"
  • End If
  • End If
  • Next j
  • End If
  • szTampon = szTampon & "<BR>" & vbCrLf
  • Next i
  • vb2html = tmpCode
  • End Function
Public Function vb2html(szCode As String) As String
' Principe : On parcourt le code ligne par ligne pour isoler les lignes de commentaire
' ensuite on parse chaque ligne à la recherche de keyword

Dim szLigne() As String
Dim tmpCode As String
Dim szTampon As String
Dim i As Long
Dim j As Long
Dim bChaine As Boolean
bChaine = False

If mcolKeyword Is Nothing Then loadKeyword
' on stocke le code dans un tableau
szLigne = Split(szCode, vbCrLf)

tmpCode = vbNullString
For i = LBound(szLigne) To UBound(szLigne)
    
    If Trim$(szLigne(i)) Like "'*" Then ' c'est une ligne complète en commentaire
        tmpCode = tmpCode & mComment & htmlEncode(szLigne(i)) & mFin & "<BR>" & vbCrLf
    Else
        szTampon = vbNullString
        For j = 1 To Len(szLigne(i)) + 1
            
            
            If bChaine Then
                ' on est dans une chaine de caractères on recopie sans rien changer
                tmpCode = tmpCode & htmlEncode(Mid$(szLigne(i), j, 1))
            ElseIf Mid$(szLigne(i), j, 1) <> """" Then ' nous ne sommes pas dans une chaine de caractères
                ' commentaire de fin de ligne
                If Mid$(szLigne(i), j, 1) = "'" And Not bChaine Then
                    tmpCode = tmpCode & mComment & Mid$(szLigne(i), j) & mFin & "<BR>" & vbCrLf
                    Exit For
                End If
                
            
                If j > Len(szLigne(i)) Then
                    If isKeyword(Trim$(szTampon)) Then
                        If Mid$(szLigne(i), j, 1) <> "(" Then
                            tmpCode = tmpCode & mKeyword & szTampon & mFin
                        Else
                            tmpCode = tmpCode & mFunction & szTampon & "</B>" & mFin
                        End If
                        tmpCode = tmpCode & "<BR>" & vbCrLf
                    Else
                        tmpCode = tmpCode & szTampon & "<BR>" & vbCrLf
                    End If
                End If
                
                If (Mid$(szLigne(i), j, 1) <> " " And Mid$(szLigne(i), j, 1) <> "(" And Mid$(szLigne(i), j, 1) <> ")" And Mid$(szLigne(i), j, 1) <> vbTab And _
                    Mid$(szLigne(i), j, 1) <> vbCrLf And Mid$(szLigne(i), j, 1) <> "_") Or szTampon = vbNullString Then
                    ' on rempli le Tampon...
                    szTampon = szTampon & htmlEncode(Mid$(szLigne(i), j, 1))
                Else
                    ' a ce moment le curseur pointe sur un espace ou bien une (
                    
                    ' on compare le mot avec la liste des mots connus
                    If isKeyword(Trim$(szTampon)) Then
                        If Mid$(szLigne(i), j, 1) <> "(" Then
                            tmpCode = tmpCode & mKeyword & szTampon & mFin
                        Else
                            tmpCode = tmpCode & mFunction & szTampon & "</B>" & mFin
                        End If
                        tmpCode = tmpCode & htmlEncode(Mid$(szLigne(i), j, 1))
                    Else
                        tmpCode = tmpCode & szTampon & htmlEncode(Mid$(szLigne(i), j, 1))
                    End If
                    szTampon = vbNullString
                End If
            End If
            
            ' si bChaine est vrai alors on est dans une chaine de caractères
            If Mid$(szLigne(i), j, 1) = """" Then
                If bChaine Then
                    If i < UBound(szLigne) Then
                        bChaine = (szLigne(i + 1) = """")
                        If Not bChaine Then tmpCode = tmpCode & "</B>" & mFin & mNormal
                    Else
                        bChaine = False
                        tmpCode = tmpCode & "</B>" & mFin & mNormal
                    End If
                Else
                    bChaine = True
                    tmpCode = tmpCode & mString & """"
                End If
            End If
        Next j
    End If
    szTampon = szTampon & "<BR>" & vbCrLf
Next i
vb2html = tmpCode
End Function

Conclusion

C'est très simple, mais ca va vite !


 

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 TheSin le 02/07/2003 12:22:23

il te manque le sub "loadkeywords", sinon, ca a l'air cool.

signaler à un administrateur
Commentaire de sebmafate le 02/07/2003 12:30:10 administrateur CS

regarde dans les sources !

je n'ai mis qu'un extrait ici.

signaler à un administrateur
Commentaire de Nargzul le 02/07/2003 13:01:40

g pas de fichier pour tester, mais il transforme vraiment tout? du genre, pour t'envoyer un formulaire, ou tout plein de truc du genre...

signaler à un administrateur
Commentaire de sebmafate le 02/07/2003 13:06:16 administrateur CS

je crois que tu n'as pas compris... ce module formate le code pour qu'il soit lisible dans une page web. dans le même style que le module de VBFrance au dessus.

Séb

signaler à un administrateur
Commentaire de Nargzul le 02/07/2003 13:08:45

oui, g compris(enfin je crois)

ta un prog vb, et il te le transforme en html... c juste, mais meme tout ce ki est script(avec des if et totu ca..)

signaler à un administrateur
Commentaire de Tilois le 02/07/2003 14:41:43

pas mal ... ca peut servir

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Coloration syntaxique [ par Celebyon ] J aimerasi faire un ti prog pour me remplacer mon notepad kan je prog en html, php et *script, avec une coloration syntaxique ki me soit propre pour l Recherche ActiveX ou Module pour parser du XML [ par shire ] Recherche ActiveX ou Module pour parser du XML lire une variable ligne par ligne, parser XML [ par guiguimac ] Bonjour,existe-il une methode propre à VB pour lire le contenu d'une variable ligne par ligne ou faut-il parser la chaîne nous même en prenant en comp A gagner Analyseur SQL (Parser) [ par Renfield ] Salut tout le monde !!Pour le boulot , j'ai fait une classe (egalement disponible en ocx) qui permet de parser un requete SQL. Vous lui fournissez la Parcours & Coloration RichTextBox [ par fred2000 ] Je cherche à parcourir un RichTextBox mot par mot.Ensuite si ce mot est dans un tableau, je veux mettre en couleur ce mot uniquement :Par exemple :Con parser des strings [ par tyf ] Bonjour, J aimerais parser des chaines de caractères par rapport à un caractère:ex: split(machaine,"-") ... Y a t il une fonction en VBA ? merci ... Problème avec HTMLDocument [ par piotrelrojo ] Bonjour, j'ai un problème avec vb .net ... que je trouve insolublej'ai des fichiers htmlque je veux parserpour récupérer le code, je fais donc ça: Dim parser xml en C [ par jbt36 ] bonjour à tous,j'ai besoin de realiser un editeur xml en Cpour cela je dois notamment parser le fichier xml pour pouvoir le manipuler,l'affichersous f Parser une page HTML [ par zucchero ] Salut tlm,J'ai téléchargé le prg de joshrbz pour parser une page HTML et pour en retirer de l'info. Mais vu que je pige rien en PHP, que dois-je faire


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

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 : 1,279 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é.