Convertion de TXT en HTML [Résolu]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Convertion de TXT en HTML [Résolu]

Message par Kwai chang caine »

Bonjour à tous

J'ai essayé de convertir un code du grand ERIX14.
ça c'est bien pasé, jusqu'à la fin ou j'arrive pas a avoir la composante bleue :?
Elle est remplacé par le vert.

J'ai encore merdoyé quelque par :oops:
Si "quinquin" y sait ou :roll:

Code : Tout sélectionner

; Code original (Convertir un fichier TXT en HTML) LoadTxtSaveHtml de Erix14
; Transformé en convertion de variable + Choix couleur texte et fond et taille + Indentation par KCC

Procedure.s ConvertTxtEnHtml(Texte.s, TailleCaracteres = 4, CouleurFond = 0, CouleurCaracteres = 0) ;CouleurFond = -1 (Gris systeme)
 
 If Len(Texte) =< 0
  ProcedureReturn "Erreur(Texte à convertir inexistant)"
 EndIf
 
 Define TexteHTML.s
 
 Structure MonChar 
  Char.b 
 EndStructure 

 #Txt = 0 
 #Html = 1 
 #Memoire = 0 
 #Vrai = 1 
 #Faux = 0 
 
 If Not CouleurCaracteres
  EcritureCouleur.s = "color=#0000000"
 Else 
  EcritureCouleur.s = "color=" + Chr(34) + Hex(Red(CouleurCaracteres)) + Hex(Green(CouleurCaracteres)) + Hex(Blue(CouleurCaracteres)) + Chr(34)
 EndIf 
 
 If CouleurFond = -1
  Color = GetSysColor_(#COLOR_3DFACE)
  WebFondCouleur.s = Chr(34) + Hex(Red(Color)) + Hex(Green(Color)) + Hex(Blue(Color)) + Chr(34)
 Else 
  WebFondCouleur.s = Chr(34) + Hex(Red(CouleurFond)) + Hex(Green(CouleurFond)) + Hex(Blue(CouleurFond)) + Chr(34)
 EndIf 
  
 LongueurTxt = Len(Texte)
 MemoryID = AllocateMemory(LongueurTxt)
 PokeS(MemoryID, Texte, LongueurTxt)
 TexteHTML + "<html>"
 TexteHTML + "<head>"
 TexteHTML + "<title>" + "test" + "</title>"
 TexteHTML + "<meta http-equiv=" + "Content-Type" + "content=" + "text/html; charset=iso-8859-1" + ">"
 TexteHTML + "</head>"
 TexteHTML + "<body bgcolor=" + WebFondCouleur + " leftmargin=" + Chr(34) + "10" + Chr(34) 
 TexteHTML + " topmargin=" + Chr(34) + "10" + Chr(34) + " marginwidth=" + Chr(34) + "10" + Chr(34) + " marginheight=" + Chr(34) + "10" + Chr(34) + ">"
 TexteHTML + "<table width=" + Chr(34) + "100%" + Chr(34) + " border=" + Chr(34) + "0" + Chr(34) + " cellpadding=" + Chr(34) + "0" + Chr(34) + " cellspacing=" + Chr(34) + "0" + Chr(34) + ">"
 TexteHTML + "<!--DWLayoutTable-->"
 TexteHTML + "<tr>"
 TexteHTML + "<td width=" + Chr(34) + "100%" + 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) + Str(TailleCaracteres) + Chr(34) + " face=" + Chr(34) + "Verdana, Arial, Helvetica" + Chr(34) + " " + EcritureCouleur + ">"
 *PointeurTxt.MonChar = MemoryID 
 Espace_HTML$ = "" 
 Ligne_de_txt$ = "" 
 Debut.b = #Vrai 
 
 For t.l = 1 To LongueurTxt 
  
  If *PointeurTxt\Char > 0 
   c.l = *PointeurTxt\Char 
  Else 
   c.l = 128 | (*PointeurTxt\Char & 127) 
  EndIf 
  
  If Debut = #Vrai 
   
   If c = 32     ; ESPACE 
    Espace_HTML$ + "&nbsp;" 
   EndIf 
   
   If c = 9     ; TABULATION 
    For r.l = 1 To 10 
     Espace_HTML$ + "&nbsp;" 
    Next 
   EndIf 
   
   If c = 13     ; A LA LIGNE 
    TexteHTML + "<div>&nbsp;</div>"
   EndIf 
   
   If c > 32     ; TEXTE 
    Debut = #Faux 
   EndIf 
   
  EndIf 
  
  If Debut = #Faux
    
   If c = 13     ; A LA LIGNE 
    TexteHTML + "<div>" + Espace_HTML$ + Trim(Ligne_de_txt$) + "</div>"
    Espace_HTML$ = "" 
    Ligne_de_txt$ = "" 
    Debut.b = #Vrai 
   EndIf 
   
   If c >= 32    ; ON RECUPERE LE TEXTE 
    
    Ligne_de_txt$ + Chr(c) 
    
    If t = LongueurTxt     ; FIN DU FICHIER TEXTE 
     TexteHTML + "<div>" + Espace_HTML$ + Trim(Ligne_de_txt$) + "</div>"
    EndIf 
    
  EndIf 
   
  EndIf 
  
  *PointeurTxt + 1 
  
 Next 

 TexteHTML + "</td>"
 TexteHTML + "</tr>"
 TexteHTML + "</table>"
 TexteHTML + "</body>"
 TexteHTML + "</html>"
 
 ProcedureReturn TexteHTML
  
EndProcedure 

Texte.s = "Kcc" + Chr(13) + "Mange des sucettes"
OpenWindow(0,0,0,600,300,"WebGadget",#PB_Window_SystemMenu)
WebGadget(0,10,10,580,280,"")
RetourTexteHTML$ = ConvertTxtEnHtml(Texte.s, 10, RGB(0,0,255), RGB(0,0,255))
SetGadgetItemText(0, #PB_Web_HtmlCode, RetourTexteHTML$) 

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

End
Merci et bonne journée
Dernière modification par Kwai chang caine le ven. 23/janv./2009 16:32, modifié 1 fois.
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

réponse : t'as merdé :lol: :lol:
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Juste que RGB(0,0,255) renvoie du bleu et RGB(0,255,0) renvoie du vert

J'ai pas essayé ton code mais

Code : Tout sélectionner

ConvertTxtEnHtml(Texte.s, 10, RGB(0,0,255), RGB(0,0,255)) 
me parait douteux non ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

@Patrick
Oui, d'accord mais ou ??? :D

@ARS
Oui "RGB" = RED GREEN BLUE
Ce qui est dingue c'est que je mette

Code : Tout sélectionner

ConvertTxtEnHtml(Texte.s, 10, RGB(0,0,255), RGB(0,0,255)) 
ou

Code : Tout sélectionner

ConvertTxtEnHtml(Texte.s, 10, RGB(0,255,0), RGB(0,255,0)) 
C'est vert :?
Je sais bien que c'est la couleur de l'espoir.
Eh ben la .....KCC il en a plus :cry:
KCC comme il est bouffon c'est normal qu'il veuille la couleur des ROIS, non ??
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

la syntaxe pour la couleur des polices est :

Code : Tout sélectionner

<font color="#6f6f6f" size="-1"><nobr>Ouest-France</nobr></font>
ta ligne

Code : Tout sélectionner

EcritureCouleur.s = "color=" + Chr(34) + Hex(Red(CouleurCaracteres)) + Hex(Green(CouleurCaracteres)) + Hex(Blue(CouleurCaracteres)) + Chr(34)
devient

Code : Tout sélectionner

EcritureCouleur.s = "color=#" + Chr(34) + Hex(Red(CouleurCaracteres)) + Hex(Green(CouleurCaracteres)) + Hex(Blue(CouleurCaracteres)) + Chr(34)
c'est pas des sucettes qui faut manger, KCC, mais du poisson, c'est bon pour la tête : http://pourelle.grioo.com/ar,manger_du_ ... ,1006.html

:lol:

pat
zaphod
Messages : 135
Inscription : dim. 07/déc./2008 9:32

Message par zaphod »

j'ai corrigé les lignes et ça marche :

Code : Tout sélectionner

EcritureCouleur.s = "color=" +chr(34)+ RSet(Hex(Red(CouleurCaracteres)),2,"0") + RSet(Hex(Green(CouleurCaracteres)),2,"0") + RSet(Hex(Blue(CouleurCaracteres)),2,"0") + chr(34)

et

Code : Tout sélectionner

 WebFondCouleur.s =chr(34)+ RSet(Hex(Red(CouleurFond)),2,"0") + RSet(Hex(Green(CouleurFond)),2,"0") + RSet(Hex(Blue(CouleurFond)),2,"0") + chr(34)
Zaphod
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci beaucoup les amis 8)

ça marche effectivement avec les deux methodes 8O
Quand j'pense 2 methodes et moi j'prend la troisieme :?
c'est pas des sucettes qui faut manger, KCC, mais du poisson, c'est bon pour la tête :

Aaaahhh c'est pour ça que à l'ecole on m'offrait un joli poisson, une fois par an :roll:
C'etait pour me rendre plus intelligent :D
Comme vous pouvez le constater ça a marché.....hein !!!! :D

Image

Voici donc le code qui fonctionne grace à vous deux :wink:

Code : Tout sélectionner

; Code original (Convertir un fichier TXT en HTML) LoadTxtSaveHtml de Erix14
; Transformé en convertion de variable + Choix couleur texte et fond et taille + Indentation par KCC
; Calciumé par Patrick88 et aidé par Zaphod (Bleu inexistant)

Procedure.s ConvertTxtEnHtml(Texte.s, TailleCaracteres = 4, CouleurFond = 0, CouleurCaracteres = 0) ;CouleurFond = -1 (Gris systeme)
 
 If Len(Texte) =< 0
  ProcedureReturn "Erreur(Texte à convertir inexistant)"
 EndIf
 
 Define TexteHTML.s
 
 Structure MonChar 
  Char.b 
 EndStructure 

 #Txt = 0 
 #Html = 1 
 #Memoire = 0 
 #Vrai = 1 
 #Faux = 0 
 
 If Not CouleurCaracteres
  EcritureCouleur.s = "color=#0000000"
 Else 
  ; Methode 1
  ;EcritureCouleur.s = "color=" + Chr(34) + RSet(Hex(Red(CouleurCaracteres)),2 , "0") + RSet(Hex(Green(CouleurCaracteres)),2, "0") + RSet(Hex(Blue(CouleurCaracteres)),2 ,"0") + Chr(34)
  ; Methode 2
  EcritureCouleur.s = "color=#" + Chr(34) + Hex(Red(CouleurCaracteres)) + Hex(Green(CouleurCaracteres)) + Hex(Blue(CouleurCaracteres)) + Chr(34)
 EndIf 
 
 If CouleurFond = -1
  Color = GetSysColor_(#COLOR_3DFACE)
  ; Methode 1
  ;WebFondCouleur.s = Chr(34) + RSet(Hex(Red(Color)),2 ,"0") + RSet(Hex(Green(Color)),2 , "0") + RSet(Hex(Blue(Color)),2 ,"0") + Chr(34)
  ; Methode 2
  WebFondCouleur.s = "bgcolor=#" + Chr(34) + Hex(Red(Color)) + Hex(Green(Color)) + Hex(Blue(Color)) + Chr(34)
 Else 
  ; Methode 1
  ;WebFondCouleur.s = Chr(34) + RSet(Hex(Red(CouleurFond)),2 ,"0") + RSet(Hex(Green(CouleurFond)),2 ,"0") + RSet(Hex(Blue(CouleurFond)),2 ,"0") + Chr(34)
  ; Methode 2
  WebFondCouleur.s = "bgcolor=#" + Chr(34) + Hex(Red(CouleurFond)) + Hex(Green(CouleurFond)) + Hex(Blue(CouleurFond)) + Chr(34)
 EndIf 
  
 LongueurTxt = Len(Texte)
 MemoryID = AllocateMemory(LongueurTxt)
 PokeS(MemoryID, Texte, LongueurTxt)
 TexteHTML + "<html>"
 TexteHTML + "<head>"
 TexteHTML + "<title>" + "test" + "</title>"
 TexteHTML + "<meta http-equiv=" + "Content-Type" + "content=" + "text/html; charset=iso-8859-1" + ">"
 TexteHTML + "</head>"
 TexteHTML + "<body " + WebFondCouleur + " leftmargin=" + Chr(34) + "10" + Chr(34) 
 TexteHTML + " topmargin=" + Chr(34) + "10" + Chr(34) + " marginwidth=" + Chr(34) + "10" + Chr(34) + " marginheight=" + Chr(34) + "10" + Chr(34) + ">"
 TexteHTML + "<table width=" + Chr(34) + "100%" + Chr(34) + " border=" + Chr(34) + "0" + Chr(34) + " cellpadding=" + Chr(34) + "0" + Chr(34) + " cellspacing=" + Chr(34) + "0" + Chr(34) + ">"
 TexteHTML + "<!--DWLayoutTable-->"
 TexteHTML + "<tr>"
 TexteHTML + "<td width=" + Chr(34) + "100%" + 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) + Str(TailleCaracteres) + Chr(34) + " face=" + Chr(34) + "Verdana, Arial, Helvetica" + Chr(34) + " " + EcritureCouleur + ">"
 *PointeurTxt.MonChar = MemoryID 
 Espace_HTML$ = "" 
 Ligne_de_txt$ = "" 
 Debut.b = #Vrai 
 
 For t.l = 1 To LongueurTxt 
  
  If *PointeurTxt\Char > 0 
   c.l = *PointeurTxt\Char 
  Else 
   c.l = 128 | (*PointeurTxt\Char & 127) 
  EndIf 
  
  If Debut = #Vrai 
   
   If c = 32     ; ESPACE 
    Espace_HTML$ + "&nbsp;" 
   EndIf 
   
   If c = 9     ; TABULATION 
    For r.l = 1 To 10 
     Espace_HTML$ + "&nbsp;" 
    Next 
   EndIf 
   
   If c = 13     ; A LA LIGNE 
    TexteHTML + "<div>&nbsp;</div>"
   EndIf 
   
   If c > 32     ; TEXTE 
    Debut = #Faux 
   EndIf 
   
  EndIf 
  
  If Debut = #Faux
    
   If c = 13     ; A LA LIGNE 
    TexteHTML + "<div>" + Espace_HTML$ + Trim(Ligne_de_txt$) + "</div>"
    Espace_HTML$ = "" 
    Ligne_de_txt$ = "" 
    Debut.b = #Vrai 
   EndIf 
   
   If c >= 32    ; ON RECUPERE LE TEXTE 
    
    Ligne_de_txt$ + Chr(c) 
    
    If t = LongueurTxt     ; FIN DU FICHIER TEXTE 
     TexteHTML + "<div>" + Espace_HTML$ + Trim(Ligne_de_txt$) + "</div>"
    EndIf 
    
  EndIf 
   
  EndIf 
  
  *PointeurTxt + 1 
  
 Next 

 TexteHTML + "</td>"
 TexteHTML + "</tr>"
 TexteHTML + "</table>"
 TexteHTML + "</body>"
 TexteHTML + "</html>"
 
 ProcedureReturn TexteHTML
  
EndProcedure 

Texte.s = "Kcc" + Chr(13) + "Mange plus de sucettes" + chr(13) + "Mais du ''PASSON''"
OpenWindow(0,0,0,600,300,"WebGadget",#PB_Window_SystemMenu)
WebGadget(0,10,10,580,280,"")
RetourTexteHTML$ = ConvertTxtEnHtml(Texte.s, 10, RGB(0,255,0), RGB(0,0,255))
SetGadgetItemText(0, #PB_Web_HtmlCode, RetourTexteHTML$) 

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

End
Grand merci
Répondre