Transformer 1 fichier txt en html
Publié : sam. 10/avr./2004 19:09
J'en assé de coder moi-même directement en html. J'ai fait un petit programme pour transformer un fichier txt en fichier html. Ça marche bien sauf que j'ai des problèmes avec la mise en forme. Je voudrais remplacer les espaces qui se trouvent en début de ligne par " " . Si quelqu'un connaît l'astuce sur comment on fait pour remplacer seulement les espaces qui se trouve en début de chaîne ça serait sympa.
Pour le moment je fais comme ça et c'est pas très fort.
Je suis sûr que c'est possible de faire mieux.
Merci à l'avance.
A+
Guimauve
La version la moins bogué de la procedure en question :
Pour le moment je fais comme ça et c'est pas très fort.

Je suis sûr que c'est possible de faire mieux.
Merci à l'avance.
A+
Guimauve
Code : Tout sélectionner
If Left(htmlcode$, 3) = Chr(32) + Chr(32) + Chr(32)
htmlcode$ = " " + RTrim(htmlcode$)
EndIf
If Left(htmlcode$, 2) = Chr(32) + Chr(32)
htmlcode$ = " " + RTrim(htmlcode$)
EndIf
If Left(htmlcode$, 1) = Chr(32)
htmlcode$ = " " + RTrim(htmlcode$)
EndIf
Code : Tout sélectionner
Dim Texte$(5000)
fichiertxt$ = "test.txt"
Procedure.s LoadTxtSaveHtml(fichiertxt$)
If OpenFile(0, fichiertxt$) = 0
; Le fichier txt n'a pas pu être ouvert, message d'erreur.
MessageRequester("Programmenom$", "Errortxt01$", #MB_ICONWARNING)
Else
Repeat
ligne_de_txt$ = ReadString()
Texte$(n) = ligne_de_txt$ + "<br>"
n = n + 1
Until Eof(0)
CloseFile(0)
EndIf
If FileSize("test.html") > - 1
DeleteFile("test.html")
EndIf
If OpenFile(1,"test.html") = 0
; Le fichier html n'a pas pu être ouvert, message d'erreur.
MessageRequester("Programmenom$", "Errortxt01$", #MB_ICONWARNING)
Else
WriteStringN("<html>")
WriteStringN("<head>")
WriteStringN("<title>" + "test" + "</title>")
WriteStringN("<meta http-equiv=" + "Content-Type" + "content=" + "text/html; charset=iso-8859-1" + ">")
WriteStringN("</head>")
color = GetSysColor_(#COLOR_3DFACE)
red = Red(color)
green = Green(color)
blue = Blue(color)
WriteStringN("<body bgcolor=" + Chr(34) + Hex(red) + Hex(green) + Hex(blue) + Chr(34) + " leftmargin=" + Chr(34) + "3" + Chr(34) + " topmargin=" + Chr(34) + "3" + Chr(34) + " marginwidth=" + Chr(34) + "3" + Chr(34) + " marginheight=" + Chr(34) + "3" + Chr(34) + ">")
WriteStringN("<table width=" + Chr(34) + "-230" + Chr(34) + " border=" + Chr(34) + "0" + Chr(34) + " cellpadding=" + Chr(34) + "0" + Chr(34) + " cellspacing=" + Chr(34) + "0" + Chr(34) + ">")
WriteStringN("<!--DWLayoutTable-->")
WriteStringN("<tr>")
WriteStringN("<td width=" + Chr(34) + "-230" + Chr(34) + " height=" + Chr(34) + "100" + Chr(34) + " valign=" + Chr(34) + "top" + Chr(34) + "><div align=" + Chr(34) + "justify" + Chr(34) + "><font size=" + Chr(34) + "1" + Chr(34) + " face=" + Chr(34) + "Verdana, Arial, Helvetica, sans-serif" + Chr(34) + ">")
Repeat
htmlcode$ = Texte$(m)
If Right(htmlcode$, 9) = "</strong>"
htmlcode$ = htmlcode$ + "<br>"
EndIf
If Left(htmlcode$, 3) = Chr(32) + Chr(32) + Chr(32)
htmlcode$ = " " + RTrim(htmlcode$)
EndIf
If Left(htmlcode$, 2) = Chr(32) + Chr(32)
htmlcode$ = " " + RTrim(htmlcode$)
EndIf
If Left(htmlcode$, 1) = Chr(32)
htmlcode$ = " " + RTrim(htmlcode$)
EndIf
WriteStringN(htmlcode$)
m = m + 1
Until m = n
WriteStringN("</font></div></td>")
WriteStringN("</tr>")
WriteStringN("</table>")
WriteStringN("</body>")
WriteStringN("</html>")
CloseFile(1)
EndIf
EndProcedure