J'ai sûrement mal cherché mais je n'arrive pas à effectuer cette opération toute simple, à savoir insérer du code HTML, et l'interpréter en tant que tel dans une GUI.
Voilà ce que j'avais fabriqué il y a quels années dans l'objet de créer une main courante pour les gestions de crise :
Je ne sais pas si il va fonctionner vu que j'avais à l'époque décidé d'utiliser metroGUI, il te faudra surement adapter le code pour l'utiliser, mais dans le fonctionnement, du texte est rentré un ritchedit et est transformé en html pour un affichage dans une fenêtre internet explorer...
#NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=..\Users\0469327\Pictures\Icones\mci.ico #AutoIt3Wrapper_Outfile=MCI-PCO.exe #AutoIt3Wrapper_Res_Comment=Main courante en vue d'une gestion d'un PC opérationnel #AutoIt3Wrapper_Res_Description=Main courante PC Opérationnel #AutoIt3Wrapper_Res_Fileversion=1.2.0.0 #AutoIt3Wrapper_Res_LegalCopyright=Marc GRAZIANI SPAFA 13 #AutoIt3Wrapper_Res_Language=1036 #AutoIt3Wrapper_Res_HiDpi=y #AutoIt3Wrapper_Run_Au3Stripper=y #Au3Stripper_Parameters=/so /rm /pe #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;YOU NEED TO EXCLUDE FOLLOWING FUNCTIONS FROM AU3STRIPPER, OTHERWISE IT WON'T WORK: #Au3Stripper_Ignore_Funcs=_iHoverOn,_iHoverOff,_iFullscreenToggleBtn,_cHvr_CSCP_X64,_cHvr_CSCP_X86,_iControlDelete ;Please not that Au3Stripper will show errors. You can ignore them as long as you use the above Au3Stripper_Ignore_Funcs parameters.
;Required if you want High DPI scaling enabled. (Also requries _Metro_EnableHighDPIScaling()) ;***************************************** ;MCI-PCO.au3 by Marc GRAZIANI ;Créé avec ISN AutoIt Studio v. 1.06 ;***************************************** ;!Highly recommended for improved overall performance and responsiveness of the GUI effects etc.! (after compiling):
#include"MetroGUI_UDF.au3" #include"_GUIDisable.au3"; For dim effects when msgbox is displayed
;Enable high DPI support: Detects the users DPI settings and resizes GUI and all controls to look perfectly sharp. _Metro_EnableHighDPIScaling(); Note: Requries "#AutoIt3Wrapper_Res_HiDpi=y" for compiling. To see visible changes without compiling, you have to disable dpi scaling in compatibility settings of Autoit3.exe
;Set Theme _SetTheme("LightGreen");See MetroThemes.au3 for selectable themes or to add more
;Create resizable Metro GUI $Form1= _Metro_CreateGUI("Example",500,300,-1,-1,True)
;Set variables for the handles of the GUI-Control buttons. (Above function always returns an array this size and in this order, no matter which buttons are selected.) $GUI_CLOSE_BUTTON=$Control_Buttons[0] $GUI_MAXIMIZE_BUTTON=$Control_Buttons[1] $GUI_RESTORE_BUTTON=$Control_Buttons[2] $GUI_MINIMIZE_BUTTON=$Control_Buttons[3] $GUI_FULLSCREEN_BUTTON=$Control_Buttons[4] $GUI_FSRestore_BUTTON=$Control_Buttons[5] $GUI_MENU_BUTTON=$Control_Buttons[6]
ifFileExists($csv)thenMsgbox(64,"MC P.C.O","Les évènements ont été enregistrés automatiquement dans le fichier "&@crlf& _ $csv&". Pour continuer cet enregistrement "&@crlf& _ "Utiliser le menu sandwich / ouvrir et le sélectionner.",3) _Metro_GUIDelete($Form1) Exit Case$GUI_MAXIMIZE_BUTTON GUISetState(@SW_MAXIMIZE,$Form1) _IENavigate($oIE,$file) Case$GUI_MINIMIZE_BUTTON GUISetState(@SW_MINIMIZE,$Form1) _IENavigate($oIE,$file) Case$GUI_RESTORE_BUTTON GUISetState(@SW_RESTORE,$Form1) _IENavigate($oIE,$file) Case$GUI_MENU_BUTTON ;Create an Array containing menu button names Local$MenuButtonsArray[4]=["Ouvrir","Imprimer","A propos","Quitter"] Local$MenuSelect= _Metro_MenuStart($Form1,150,$MenuButtonsArray) Switch$MenuSelect;Above function returns the index number of the selected button from the provided buttons array. Case"0" ouvrir() Case"1" imprimer($csv) Case"2" a_propos() Case"3" FileDelete($file) $nombre=GUICtrlRead($nbr_label_VC_TOTAL)+guictrlread($nbr_label_VE_TOTAL)+GUICtrlRead($nbr_label_VFS_TOTAL) if$nombre<>0then _savebandeau() ifFileExists($csv)thenMsgbox(64,"MC P.C.O","Les évènements ont été enregistrés automatiquement dans le fichier "&@crlf& _ $csv&". Pour continuer cet enregistrement "&@crlf& _ "Utiliser le menu sandwich / ouvrir et le sélectionner.",3) _Metro_GUIDelete($Form1) Exit EndSwitch Case$button $message=GUICtrlRead($inpubox) $arrayMsg=StringRegExpReplace($message,'\R',"__") $aText=StringRegExp($message,"(?m)^(.*)$",3) ;_ArrayDisplay($aText) if$message=""then consolewrite("") Else FileWrite($file,_nowtime(4)&" : ") FileWrite($csv,_nowtime(4)&" : ;") For$i=0ToUBound($aText)-1 FileWrite($file,$aText[$i]&"<br />") FileWrite($csv,$aText[$i]&@CRLF) ;_IEErrorHandlerRegister () Next _savebandeau() redim$atextForPrinting[ubound($atextForPrinting)+1][2] $atextForPrinting[ubound($atextForPrinting)-1][0]=_NowTime(4)&" : " $atextForPrinting[ubound($atextForPrinting)-1][1]=$arrayMsg ;_ArrayDisplay($atextForPrinting) EndIf MsgBox(0,"test",GUICtrlRead($label_evenement),2) _IENavigate($oIE,$file) GUICtrlSetdata($inpubox,"") sleep(1000) case$button_print imprimer($csv) ;Case $menu_ouvrir ; if FileExists($file) then FileDelete($file) ; ; _makehtml() ; $fileopen = FileOpenDialog("Main courante P.C.O.",@ScriptDir,"Fichiers CSV (*.csv)", $FD_FILEMUSTEXIST ) ; $csv= $fileopen ; local $split = stringsplit($fileopen,".") ; $fileini= $split[1]&".ini" ; if not FileExists($fileini) then _makeini() ; ; local $scsv = FileRead($csv) ; $atextForPrinting= toArrayCsv($scsv) ; ;_arraydisplay($atextForPrinting) ; for $i = 0 to ubound($atextForPrinting) -2 ; filewrite($file, $atextForPrinting[$i][0] & $atextForPrinting[$i][1] & "</br>") ; Next ; ; Filewrite($file, @HOUR & ":" & @MIN & " : Reprise de la main courante le " & @MDAY & "/" & @MON & "/" & @YEAR & "</br>") ; FileWrite($csv, _nowtime(4) & " : ; Reprise de la main courante le " & @MDAY & "/" & @MON & "/" & @YEAR & "</br>" & @CRLF) ; _loadbandeau() ; ; _IENavigate($oIE, $file) ;Case $menu_a_propos ; Msgbox(64,"MC-PCO","Ce logiciel doit être utilisé uniquement dans le cadre d'une gestion opérationelle d'un evenement " & @crlf & _ ; "Ecrire les evenements dans la cadre du haut pour qu'ils soient répercutés en dessous " & @crlf & _ ; "Le bandeau de droite sert à comptabiliser les bléssés et indemnes des trois categories de personnels" & @crlf & _ ; "Pour récuperer une crise en cours utiliser le menu fichier/ouvrir " & @crlf & _ ; "Concept et developpement Marc GRAZIANI - DIDPAF 13 / SPAFA ") EndSwitch
EndFunc Func toArrayCsv($s) Local$line=StringSplit($s,@CRLF,2+1); combien de ligne de mon fichier <> tableau Local$maxCol=1; nombre de colonne de depart Local$a[UBound($line)][$maxCol]; je crée un tableau de n ligne et de 1 colonne que je modifierai à ma guise For$i=0ToUBound($line)-1; parcours toutes les lignes Local$tmp=StringSplit($line[$i],";",3); combien de colonnes pour la ligne n°i If(UBound($tmp)>$maxCol)then$maxCol=UBound($tmp); pour connaitre le nombre de colonnes ReDim$a[UBound($line)][$maxCol]; je redimensionne mon tableau aux bonnes dimensions For$j=0ToUBound($tmp)-1; je parcours cellule par cellule "de gauche a droite" $a[$i][$j]=$tmp[$j]; je remplis chaque cellule Next Next Return$a EndFunc Func a_propos() Msgbox(64,"MC-PCO","Ce logiciel doit être utilisé uniquement dans le cadre d'une gestion opérationelle d'un evenement "&@crlf& _ "Ecrire les evenements dans la cadre du haut pour qu'ils soient répercutés en dessous "&@crlf& _ "Le bandeau de droite sert à comptabiliser les bléssés et indemnes des trois categories de personnels"&@crlf& _ "Pour récuperer une crise en cours utiliser le menu sandwich / ouvrir"&@crlf& _ "Concept et developpement Marc GRAZIANI - DIDPAF 13 / SPAFA ") EndFunc