Generer des fichiers html

Soyez le premier à donner votre avis sur cette source.

Vue 12 613 fois - Téléchargée 785 fois

Description

bon ce matin on ma demander si c'etait possible d'avoir une sorte de bilan final après un taitement de calcul sur un prog en VB, mais que ce soit lisible, imprimable, sauvegardable, qu'on puisse n y envoyé par courrier, etc... j'ai donc choisie le HTML pour çà.

J'ai donc crée un bout de Module pour générer des fichiers HTML simplement mais ne vous emballez pas, c'est très loin d'etre evoluer !

Mais çà peut très bien servir pour un debutant ou etre un debut de projet !

Bon Code

Damien.

Source / Exemple :


Option Explicit

'----------------------------------------------------------
'                      /
' ^   ^               /
' |   | <-----> |    |   ^
' |   |    |    |\  /|   |
' <--->    |    <-\/->   |
' |   |    |    |/   |   |
' |   |    |    |    |   |____
' ^   ^        /
'             /
'
' Module de création de fichiers HTML
' LEVEUGLE Damien (c) 2005.
' mailto:elguevel@free.fr
'
'----------------------------------------------------------

'*************************
'* Creer le fichier HTML *
'*************************
Public Function CreateHTML(fichier As String, Optional Titre As String = "Bilan") As Integer

    Dim NumFichier As Integer
    NumFichier = FreeFile

    Open fichier For Output As NumFichier

    Print #NumFichier, "<HTML>"
    ' ENTETE HTML
    Print #NumFichier, "<HEAD>"
    Print #NumFichier, "<TITLE>" & Titre & "</TITLE>"
    ' STYLE (CSS)
    Print #NumFichier, "<STYLE type=""text/css"">"
    Print #NumFichier, "td { font: 12px Verdana, Arial, Helvetica, sans-serif; color: #000000; border-top: 1px none #666666; border-right: 1px none #666666; border-bottom: 1px inset #666666; border-left: 1px none #666666; }"
    Print #NumFichier, ".First { color: #000000; background: #00CC66; border: #333333; text-align: center; }"
    Print #NumFichier, ".Normal{ color: #000000; background: #CCCCCC; }"
    Print #NumFichier, "h1 { font-size: 24px; font-weight: bold; }"
    Print #NumFichier, "h2 { font-family: Arial, Helvetica, sans-serif; font-size: 36px; text-align: center; }"
    Print #NumFichier, "</STYLE>"
    Print #NumFichier, "</HEAD>"
    ' BODY
    Print #NumFichier, "<BODY>"

    CreateHTML = NumFichier

End Function

'********************
'* Creer un tableau *
'********************
Public Sub CreateTableau(ID As Integer, entete As String, Optional NombreColonne As Integer = 1)

    Print #ID, "<TABLE border=""1"">"
    Print #ID, "<TR class=""First""><TD colspan=""" & CStr(NombreColonne) & """ >" & entete & "</TD></TR>"
 
End Sub

'********************************
'* Ajouter un titre sur la page *
'********************************
Public Sub AddTitle(ID As Integer, Titre As String, Optional TitreDePage As Boolean = False)
    
    If TitreDePage = False Then
        Print #ID, "<p><h1>" & Titre & "</h1></p>"
    Else
        Print #ID, "<p><h2>" & Titre & "</h2></p>"
    End If
End Sub

'********************************
'* Ajouter un titre sur la page *
'********************************
Public Sub AddComment(ID As Integer, Commentaire As String)

    Print #ID, "<br><p>" & Commentaire & "</p><br>"
    
End Sub

'*************************************
'* Ajoute des lignes dans un tableau *
'*************************************
Public Sub AddLine(ID As Integer, FirstColor As Boolean, ParamArray StructLigne() As Variant)
    
    Dim X As Integer

    Print #ID, "<TR>"

    For X = 0 To UBound(StructLigne)
        
        If (X = 0) And (FirstColor = True) Then
            Print #ID, vbTab & "<TD Class = "" & First & "">" & CStr(StructLigne(X)) & "</TD>"
        Else
            Print #ID, vbTab & "<TD Class = "" & Normal & "">" & CStr(StructLigne(X)) & "</TD>"
        End If
    
    Next

    Print #ID, "</TR>"
    
End Sub

'********************
'* Ferme le tableau *
'********************
Public Sub CloseTableau(ID As Integer)

    Print #ID, "</TABLE>"
    Print #ID, "<BR><BR>"
    
End Sub

'*************************
'* Ferme le fichier HTML *
'*************************
Public Sub CloseHTML(ID As Integer)

    Print #ID, "</BODY>"
    Print #ID, "</HTML>"
    Close #ID

End Sub

Conclusion :


Ba laissez vos questions si vous en avez ...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
5
Date d'inscription
vendredi 4 août 2006
Statut
Membre
Dernière intervention
11 avril 2008

Cool, un ptit peu tard de ma part, mais c cool.
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Oui, j'imagine bien le potentiel de ta source. Ses limites se trouveront....dans mes capacités lol

En fait, depuis que je cherche une source (euh... hier donc...) je m'attendais à quelque chose dans le style, car avant tout, le HTML n'est que du texte brut dont on change l'extension =P

Mon but ici est d'obtenir une page xHTML aux normes W3C, sur laquelle des données sont déjà présentes, mais où il faut en rajouter à certains endroits. Et c'est là que les textboxes interviennent.

On pourrait également imaginer un design complet en xHTML + CSS, que l'on couplerait à ton programme. De cette façon, le parfait débutant en HTML obtiendrait son site super rapidement sans devoir toucher une seule seconde au code...
Messages postés
718
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
Désolé pour ton probleme de VB5, je viens juste de voir tes messages. (effectivment j'ai ecris ce code en VB6).

Sinon oui ce code est d'une banalité extraordinaire, çà m'etonne même qu'il soit si apprécié. Car c'est même pas optimisé, et je n'ai pas developpé toutes les fonctions possible pour la création de pages HTML plus complexes.

En tout cas le principe est hyper simple, je passe des paramètres de "type string" à des fonctions qui insèrent le texte dans du code HTML et se contente au final d'ecrire tout çà dans un fichier texte ... rien de plus con.

Avec un module de classe, en complétent les balises manquantes et en rendant le code plus dyamique on peut faire quelque chose de 100 fois mieux, je t'assure.

Merci, et Bon Code !
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Bonsoir,

Je viens de trouver d'où venait le problème... Tu as développé ton code sous VB6, et il fallait retirer deux lignes du fichier portant l'extension VBP (Retained et Debugquelquechose)

Maintenant que j'ai quelque chose qui veut bien tourner, je peux commencer quelques tests... :)

Il y aura de grosses modifications, notamment via le remplissage de textboxes puis lors du clic sur "Créer HTML" les valeurs de ces textboxes seront ajoutées au code HTML... (Ca a l'air simple, j'espère que ce n'est pas qu'une impression...)

Encore une fois, chouette, très chouette code ;o)
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Salut,

Je viens de télécharger ton code source (et de réinstaller VB par la même occasion vu que je vais en avoir besoin) mais quelque chose me pose problème. Lorsque je veux ouvrir ton projet, un message d'erreur m'informe que 'Retained' est une clé incorrecte et que ton projet ne peut pas être chargé. Lorsque j'ouvre la feuille et que je clique sur "Play" pour l'éxécuter, je reçois un message d'erreur me disant qu'une variable est indéfinie, et il me souligne la ligne "Identifiant = Module_html.CreateHTML(FichierHTML, "Projet pour Aurore")"

Est-ce une erreur chez moi ? VB5 est-il trop vieux pour ton projet ?


Merci de bien vouloir m'éclairer là-dessus... Ta source m'interresse énormément, je ne pense pas que je trouverai mieux ailleurs...
Afficher les 12 commentaires

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.