Bonjour à tous,
Je viens à vous pour une nouvelle problematique.
Dans le cadre d'un projet de création de mails outlook préformatés, j'ai, sur les bon conseils de membres de forum, créé des corps de message basé sur des fichiers html.
Avec l'aide d'un editeur html simplifié (KOMPOZER), je crée mon corps html.c
devant ensuite distribuer ces modeles avec le script qui va générer le message en fontion de champs input déja remplis), j'ai privilégié plutot un script qui me permet de les générer automatiquement.
exemple :
corps html :
► Afficher le texte
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>model basique</title>
</head>
<body>
<big><big><span style="font-weight: bold;">titi</span><br
style="font-family: MS Outlook;">
<br style="font-family: MS Outlook;">
<span style="color: red; font-weight: bold; font-family: MS Outlook;">toto</span><br
style="font-family: MS Outlook;">
<br style="font-family: MS Outlook;">
<span
style="color: rgb(255, 102, 0); font-weight: bold; font-family: MS Outlook;">tata</span></big></big><br>
</body>
</html>
A l'aide d'un tableur comme excel, je fait ensuite un script qui me permettra de générer le modele :
► Afficher le texte
Code : Tout sélectionner
$Ln01 = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">'
$Ln02 = '<html>'
$Ln03 = '<head>'
$Ln04 = ' <meta content="text/html; charset=ISO-8859-1"'
$Ln05 = ' http-equiv="content-type">'
$Ln06 = ' <title>model basique</title>'
$Ln07 = '</head>'
$Ln08 = '<body>'
$Ln09 = '<big><big><span style="font-weight: bold;">titi</span><br'
$Ln10 = ' style="font-family: MS Outlook;">'
$Ln11 = '<br style="font-family: MS Outlook;">'
$Ln12 = '<span style="color: red; font-weight: bold; font-family: MS Outlook;">toto</span><br'
$Ln13 = ' style="font-family: MS Outlook;">'
$Ln14 = '<br style="font-family: MS Outlook;">'
$Ln15 = '<span'
$Ln16 = ' style="color: rgb(255, 102, 0); font-weight: bold; font-family: MS Outlook;">tata</span></big></big><br>'
$Ln17 = '</body>'
$Ln18 = '</html>'
$modele = ($Ln01 & @CRLF & $Ln02 & @CRLF & $Ln03 & @CRLF & $Ln04 & @CRLF & $Ln05 & @CRLF & $Ln06 & @CRLF & $Ln07 & @CRLF & $Ln08 & @CRLF & $Ln09 & @CRLF & $Ln10 & @CRLF & $Ln11 & @CRLF & $Ln12 & @CRLF & $Ln13 & @CRLF & $Ln14 & @CRLF & $Ln15 & @CRLF & $Ln16 & @CRLF & $Ln17 & @CRLF & $Ln18)
FileOpen(@WorkingDir & "\modele.html", 2)
$modelhtml = (@WorkingDir & "\modele.html")
FileWrite ($modelhtml, $modele)
Fileclose($modele)
Excel me permet De générer les variables $Ln01 à $Ln18.
L'inconvénient (si je puis dire) c'est que mes modèles de corps de message peuvent changer régulièrement.
Je voudrais donc creer un script commençant par ceci :
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=c:\my docs\logiciels classés\logiciels de programation\exemples de codes\escalades\koda\client\generique\generateur de modele html.kxf
$Form1_1 = GUICreate("Form1", 870, 800, 180, 127)
GUISetBkColor(0x000080)
GUICtrlCreateGroup("titre du modele", 8, 8, 841, 65, $BS_CENTER)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x00FFFF)
$TitreModele = GUICtrlCreateInput("", 16, 31, 825, 28)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("Code Html (extrait de kompozer)", 8, 88, 849, 633, $BS_CENTER)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x00FFFF)
$HtmlCode = GUICtrlCreateEdit("", 16, 115, 825, 593)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Finish = GUICtrlCreateButton("Générer le modèle", 296, 736, 300, 30, 0)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x00FFFF)
GUICtrlSetBkColor(-1, 0x0000FF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
... Je colle le code source dans le champ $HtmlCode et je génére ensuite un script tout pret.
Mon principal inconvénient est de trouver la fonction adequate qui me permettrait de générer, pour chaque lignes de mon code html, la variable
$LnXX = ' (ou XX correspond au n° de chaque ligne) au début et une quote
" ' " à la fin.
Je suppose que l'on peut utiliser dans un premier temps un compteur du type
_GUICtrlEdit_GetLineCount pour le champs
$HtmlCode, afin de compte le nombre lignes.
Mais après, que pourrais je utiliser pour formater chaque ligne ? ... une fonction stringformat ?
J'ai lu dans l'aide la manière de l'utiliser, mais je ne suis pas sûr de correctement l'adapter.
en vous remerciant par avance pour votre aide.