Fonction de transformation des données d'un fichier en etat html

Soyez le premier à donner votre avis sur cette source.

Vue 4 072 fois - Téléchargée 197 fois

Description

Convert HTML est une petite fonction qui vous permet d'avoir les enregistrements déposés dans un fichier au format HTML dans un tableau. Bref, on peut dire que cette fonction génère un Etat HTML. Ceci est possible à condition de respecter le type d'enregistrement comme fait dans l'exemple accompagant l'exécutable. Chaque information doit prendre une ligne dans le ficheir d'àprès ce que j'ai fait. Chacun doit eprsonnaliser cette fonction pour l'adapter à son programme.
Merci de me donner vos avis sur ce prog. Je l'ai fait pour un logiciel que je développais alors j'ai pensé le distribuer.
A+ et bon code à tous!

Source / Exemple :


/*
  Nom: Convert HTML
  Author: Doderic GBOFU
  Description: Mini programme de transformation des enregistrements d'un fichier en fichier HTML
  les données sont stockés dans un fichier
  E-mail: sangohan@uymail.com

  • /
#include<stdio.h> #include<stdlib.h> #include<string.h> void convert_HTML(char *fichier) { FILE *fic1; FILE *fic1_cpy; char file_convert_copy[25]={0}; char nom[20]={0}; char prenom[30]={0}; char age[20]={0}; char profession[50]={0}; char mail[70]={0}; char anniv[50]={0}; char etab[50]={0}; char phone[30]={0}; char code_html1[128]={0}; char code_html2[128]={0}; char code_html3[128]={0}; char code_html4[128]={0}; char code_html5[128]={0}; char code_html6[128]={0}; char code_html7[128]={0}; char code_html8[128]={0}; char code_html9[128]={0}; char code_html10[128]={0}; char code_html11[128]={0}; char code_html12[128]={0}; char code_html13[128]={0}; char code_html14[128]={0}; char code_html15[128]={0}; char code_html16[128]={0}; char code_html17[128]={0}; char code_html18[128]={0}; char code_html19[128]={0}; char code_html20[128]={0}; strcpy(file_convert_copy,fichier); strcat(file_convert_copy,".html"); fic1_cpy=fopen(file_convert_copy,"w"); sprintf(code_html1,"<html>\n<head><title>Etat</title></head>\n<body>\n"); sprintf(code_html2,"<h2 align=\"center\"><u>Liste du département %s:</u></h2>\n",fichier); sprintf(code_html3,"<center>\n<table border>\n"); sprintf(code_html4,"<tr bgcolor=\"gold\">\n<td align=\'center\'><b>Nom</b></td>\n"); sprintf(code_html5,"<td align=\'center\'><b>Prenom</b></td>\n"); sprintf(code_html6,"<td align=\'center\'><b>Age</b></td>\n"); sprintf(code_html7,"<td align=\'center\'><b>Profession</b></td>\n"); sprintf(code_html8,"<td align=\'center\'><b>E-mail</b></td>\n"); sprintf(code_html9,"<td align=\'center\'><b>Anniversaire</b></td>\n"); sprintf(code_html10,"<td align=\'center\'><b>Etablissement</b></td>\n"); sprintf(code_html11,"<td align=\'center\'><b>Telephone</b></td>\n</tr>\n"); fprintf(fic1_cpy,"%s",code_html1); fprintf(fic1_cpy,"%s",code_html2); fprintf(fic1_cpy,"%s",code_html3); fprintf(fic1_cpy,"%s",code_html4); fprintf(fic1_cpy,"%s",code_html5); fprintf(fic1_cpy,"%s",code_html6); fprintf(fic1_cpy,"%s",code_html7); fprintf(fic1_cpy,"%s",code_html8); fprintf(fic1_cpy,"%s",code_html9); fprintf(fic1_cpy,"%s",code_html10); fprintf(fic1_cpy,"%s",code_html11); fclose(fic1_cpy); fic1=fopen(fichier,"r"); fgets(nom,sizeof(nom),fic1); fgets(prenom,sizeof(prenom),fic1); fgets(age,sizeof(age),fic1); fgets(profession,sizeof(profession),fic1); fgets(mail,sizeof(mail),fic1); fgets(anniv,sizeof(anniv),fic1); fgets(etab,sizeof(etab),fic1); fgets(phone,sizeof(phone),fic1); while(!feof(fic1)){ sprintf(code_html12,"<tr>\n<td align=\'center\'>%s</td>",nom); sprintf(code_html13,"\n<td align=\'center\'>%s</td>",prenom); sprintf(code_html14,"\n<td align=\'center\'>%s</td>\n",age); sprintf(code_html15,"<td align=\'center\'>%s</td>\n",profession); sprintf(code_html16,"<td align=\'center\'>%s</td>\n",mail); sprintf(code_html17,"<td align=\'center\'>%s</td>\n",anniv); sprintf(code_html18,"<td align=\'center\'>%s</td>\n",etab); sprintf(code_html19,"<td align=\'center\'>%s</td>\n</tr>\n",phone); fgets(nom,sizeof(nom),fic1); fgets(prenom,sizeof(prenom),fic1); fgets(age,sizeof(age),fic1); fgets(profession,sizeof(profession),fic1); fgets(mail,sizeof(mail),fic1); fgets(anniv,sizeof(anniv),fic1); fgets(etab,sizeof(etab),fic1); fgets(phone,sizeof(phone),fic1); ftell(fic1); fic1_cpy=fopen(file_convert_copy,"a"); fprintf(fic1_cpy,"%s",code_html12); fprintf(fic1_cpy,"%s",code_html13); fprintf(fic1_cpy,"%s",code_html14); fprintf(fic1_cpy,"%s",code_html15); fprintf(fic1_cpy,"%s",code_html16); fprintf(fic1_cpy,"%s",code_html17); fprintf(fic1_cpy,"%s",code_html18); fprintf(fic1_cpy,"%s",code_html19); fclose(fic1_cpy); } fic1_cpy=fopen(file_convert_copy,"a"); sprintf(code_html20,"</table>\n</center>\n</body>\n</html>"); fprintf(fic1_cpy,"%s",code_html20); fclose(fic1_cpy); fclose(fic1); } int main() { char file_convert[25]={0}; puts("Entrez le nom du fichier que vous voulez convertir"); scanf("%25s",file_convert); convert_HTML(file_convert); fflush(stdin); system("pause"); return 0; }

Conclusion :


Modifiez le à besoin et adapter le à votre application (si vous utilisez les fichiers)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

doderic
Messages postés
7
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
24 mars 2011
-
Slt! Merci pour tes remrques.Je tiendrai compte de tout ça. En fait je l'avais écrit juste pour un programme que je développe éctuellement.
Je reverrai tout ça
A+ et bonne continuation
Cyberboy2054
Messages postés
173
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
22 août 2008
-
Le xml a été inventé pour entre autre ce genre de trucs. Séparation données/affichage.Enfin c'est pas très grave.
Par contre, tes code_html 1 à 20 ca c'est assez ignoble. Remplace les par un tableau genre char code_html[20][128] plus que de créer manuellement 20 variables différentes... Plutot que sprintf utilise strcpy ou encore mieux strncpy, voire même initialiser tes variables directement quand tu peux le faire (ici c'est le cas).D'ailleurs toute la partie ou tu ecris la zone html du tableau statique (de <html>\n<head><title>Etat</title></head>\n\n jusqu'au n'° de tel je crois) n'a absolument pas besoin d'etre stockée dans des variables, tu peux passer tout le bloc en pararemetre directement à fprintf.
Tu ne teste pas non plus le retour de la fonction fopen... et si jamais ca ne reussis pas a ouvrir, que vas t'il se passer ?
Bref, plein de trucs pas forcément tops que tu peux facilement améliorer...

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.