Page 1 sur 1
[..] Insérer du code HTML dans une GUI
Posté : ven. 23 oct. 2020 16:48
par jpascal
Bonjour,
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.
Si j'utilise ce code :
Local $oIE = _IECreateEmbedded()GUICreate("Embedded Web control Test", 640, 580, _
(@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
$WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)GUICtrlCreateObj($oIE, 10, 40, 600, 360)_IEBodyWriteHTML ($oIE, $sHTML)
j'obtiens l'erreur :
--> IE.au3 T3.0-2 Error from function _IELoadWait, $_IESTATUS_InvalidDataType
Si j'ajoute ces lignes cela fonctionne mais je vois tout de même le message d'erreur qui s'affiche dans l'objet IE
Quelle est donc la méthode pour insérer du code HTML dans une GUI ?
Voici le code à tester :
#include <GUIConstantsEx.au3>#include <IE.au3>#include <WindowsConstants.au3>Local $oIE = _IECreateEmbedded()GUICreate("Embedded Web control Test", 640, 580, _
(@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
$WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)GUICtrlCreateObj($oIE, 10, 40, 600, 360)GUISetState(@SW_SHOW) ;Show GUI;~ _IENavigate($oIE, "http://www.autoitscript.com")_IEAction($oIE, "stop")Sleep(10)Local $sHTML = ""$sHTML &= "<HTML><BODY>" & @CRLF$sHTML &= 'Ceci est un <strong >test</strong >' & @CRLF$sHTML &= "</BODY></HTML>"_IEBodyWriteHTML ($oIE, $sHTML)While 1 Local $iMsg = GUIGetMsg() Select Case $iMsg = $GUI_EVENT_CLOSE ExitLoop EndSelectWEnd
Re: [..] Insérer du code HTML dans une GUI
Posté : mer. 18 nov. 2020 15:49
par marcgforce
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 <GuiConstants.au3>#include <IE.au3>#include
<date
.au3>#include
<array
.au3>#include <GuiRichEdit.au3>#include <RTF_Printer.au3>#include <InputImpose.au3>#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)Global $atextForPrinting[1][2], $total_VC, $total_VE, $total_VFS$largeur=@DesktopWidth$hauteur=@DesktopHeight$quart_resolution_hauteur=@DesktopHeight/4$quart_resolution_largeur=@DesktopWidth/4$quarantieme_resolution_hauteur=@DesktopHeight/40$quarantieme_resolution_largeur=@DesktopWidth/40;consolewrite("largeur : " & @DesktopWidth & " Hauteur : " & @DesktopHeight & @CRLF);ConsoleWrite("quart hauteur :" & $quart_resolution_hauteur & " quart largeur : "& $quart_resolution_largeur & @CRLF);ConsoleWrite("quartantieme hauteur :" & $quarantieme_resolution_hauteur & " quartantieme largeur : "& $quarantieme_resolution_largeur);----------------------------GUI FORM 1 -----------------------------------------------------------;Create resizable Metro GUI$Form1 = _Metro_CreateGUI
("Main courante PCO", $largeur-$quarantieme_resolution_largeur, $hauteur - $quarantieme_resolution_hauteur*2,-1, -1 , True);$form1=GuiCreate("Main courante PCO", $largeur-$quarantieme_resolution_largeur, $hauteur - $quarantieme_resolution_hauteur*2,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))$Control_Buttons = _Metro_AddControlButtons
(True, True, True, True, True) ;CloseBtn = True, MaximizeBtn = True, MinimizeBtn = True, FullscreenBtn = True, MenuBtn = 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]$inpubox=GUICtrlCreateEdit("",$quarantieme_resolution_largeur,$quarantieme_resolution_hauteur,$quart_resolution_largeur * 3 , $quarantieme_resolution_hauteur * 4)$button=_Metro_CreateButtonEx
("OK", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur , $quarantieme_resolution_hauteur * 1.5 ,70,70);$button= GUICtrlCreateButton("OK", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur , $quarantieme_resolution_hauteur * 1.5 ,70,70)$button_print= _Metro_CreateButtonEx
("Imprimer",$quart_resolution_largeur * 3.6 , $quart_resolution_hauteur * 3.5 ,70,40)$menu_fichier=GUICtrlCreateMenu("&Fichier")$menu_ouvrir=GUICtrlCreateMenuItem("&Ouvrir",$menu_fichier)$menu_quitter=GUICtrlCreateMenuItem("&Quitter",$menu_fichier)$menu_Imprimer=GUICtrlCreateMenuItem("&Imprimer",$menu_fichier)$menu_a_propos=GUICtrlCreateMenuItem("&A propos", $menu_fichier)$Group_victimes= GUICtrlCreateGroup("VICTIMES CIVILES", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur , $quart_resolution_hauteur / 1.8, $quart_resolution_largeur, $quart_resolution_hauteur/1.2)GUICtrlCreateLabel("INDEMNES : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5)GUICtrlCreateLabel("UR : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5 + 30)GUICtrlCreateLabel("UA : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5 + 60 )GUICtrlCreateLabel("DCD : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5 + 90)GUICtrlCreateLabel("TOTAL : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5 + 120)$nbr_label_VC_indemnes = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5)$nbr_label_VC_UR= GUICtrlCreateInput("",$quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5 +30)$nbr_label_VC_UA = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5 + 60)$nbr_label_VC_DCD = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5 + 90)$nbr_label_VC_TOTAL = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.5 + 120)Global $aCondition1 = _InputImpose_Create
()_InputImpose_Update
($aCondition1, $__INIM_ALLOW_ANYWHERE, '0..9', $__INIM_ALLOW_ONCE, '.')_InputImpose_Update
($aCondition1, $__INIM_TOOLTIP_TEXT, 'Only a Positive number (Whole or Decimal) is allowed', $__INIM_TOOLTIP_TIMEOUT, 3)_InputImpose_Update
($aCondition1, $__INIM_BEEP_FREQUENCY, 700)$group_police = GUICtrlCreateGroup("VICTIMES FORCES DE SECURITE", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur , $quart_resolution_hauteur * 1.5 , $quart_resolution_largeur, $quart_resolution_hauteur/1.5)GUICtrlCreateLabel("UR : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 1.6)GUICtrlCreateLabel("UA : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 1.6 + 30)GUICtrlCreateLabel("DCD : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 1.6 + 60)GUICtrlCreateLabel("TOTAL : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 1.6 + 90)$nbr_label_VFS_UR= GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 1.6)$nbr_label_VFS_UA = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 1.6 + 30)$nbr_label_VFS_DCD = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 1.6 + 60)$nbr_label_VFS_TOTAL = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 1.6 + 90)$group_equipage = GUICtrlCreateGroup("VICTIMES EQUIPAGE", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur , $quart_resolution_hauteur * 2.3 , $quart_resolution_largeur, $quart_resolution_hauteur/1.2)GUICtrlCreateLabel("INDEMNES : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4)GUICtrlCreateLabel("UR : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 + 30)GUICtrlCreateLabel("UA : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 + 60)GUICtrlCreateLabel("DCD : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 + 90 )GUICtrlCreateLabel("TOTAL : ", $quart_resolution_largeur * 3 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 + 120 )$nbr_label_VE_indemnes = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 )$nbr_label_VE_UR= GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 + 30)$nbr_label_VE_UA = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 + 60)$nbr_label_VE_DCD = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 + 90)$nbr_label_VE_TOTAL = GUICtrlCreateInput("", $quart_resolution_largeur * 3.2 + $quarantieme_resolution_largeur, $quart_resolution_hauteur * 2.4 + 120)$time_label = GUICtrlCreateLabel(_Nowtime(4) , $quart_resolution_largeur * 3.4,$quart_resolution_hauteur / 6 ,$quart_resolution_hauteur /1.1 ,$quarantieme_resolution_largeur *2 )GUICtrlSetFont(-1,40)Global $csv= @ScriptDir & "\" & stringreplace(_nowdate(),"/","-") & " " & stringreplace(_nowtime(4),":","h") & "-pcosave.csv"Global $file = @TempDir & "\nmci-pco.html"Global $fileini = @scriptdir & "\" & stringreplace(_nowdate(),"/","-") & " " & stringreplace(_nowtime(4),":","h") & "-pcosave.ini"$oIE = _IECreateEmbedded ()GuiSetIcon(@SystemDir & "\shell32.dll", 170); IE$GUIActiveX = GUICtrlCreateObj($oIE, $quarantieme_resolution_largeur , $quart_resolution_hauteur / 1.2 , $quart_resolution_largeur * 2.95, $quart_resolution_hauteur * 2.7)GUICtrlCreateLabel("MC-P.C.O. du " & _nowdate(), $quarantieme_resolution_largeur, $quart_resolution_hauteur / 1.8,$quart_resolution_largeur *2.1,$quarantieme_resolution_hauteur*1.5)GUICtrlSetFont(-1,20)Global $label_evenement= GUICtrlCreateInput("Evenement : ",$quart_resolution_largeur * 1.25 ,$quart_resolution_hauteur / 1.8, $quart_resolution_largeur * 1.8,$quarantieme_resolution_largeur)GUICtrlSetFont(-1,20)GuiSetState(@SW_SHOW)_makehtml
()While 1 _InputImpose
($form1, $nbr_label_VC_DCD, $aCondition1) _InputImpose
($form1, $nbr_label_VC_indemnes, $aCondition1) _InputImpose
($form1, $nbr_label_VC_UA, $aCondition1) _InputImpose
($form1, $nbr_label_VC_UR, $aCondition1) _InputImpose
($form1, $nbr_label_VE_DCD, $aCondition1) _InputImpose
($form1, $nbr_label_VE_indemnes, $aCondition1) _InputImpose
($form1, $nbr_label_VE_UA, $aCondition1) _InputImpose
($form1, $nbr_label_VE_UR, $aCondition1) _InputImpose
($form1, $nbr_label_VFS_DCD, $aCondition1) _InputImpose
($form1, $nbr_label_VFS_UA, $aCondition1) _InputImpose
($form1, $nbr_label_VFS_UR, $aCondition1)guictrlsetdata($time_label, _NowTime(4) )guictrlsetdata($nbr_label_VC_TOTAL,GUICtrlRead($nbr_label_VC_DCD)+GUICtrlRead($nbr_label_VC_indemnes)+GUICtrlRead($nbr_label_VC_UA)+guictrlread($nbr_label_VC_UR))guictrlsetdata($nbr_label_VE_TOTAL,GUICtrlRead($nbr_label_VE_DCD)+GUICtrlRead($nbr_label_VE_indemnes)+GUICtrlRead($nbr_label_VE_UA)+guictrlread($nbr_label_VE_UR))guictrlsetdata($nbr_label_VFS_TOTAL,GUICtrlRead($nbr_label_VFS_DCD)+GUICtrlRead($nbr_label_VFS_UA)+guictrlread($nbr_label_VFS_UR))$msg = GuiGetMsg() Switch $msg Case $GUI_EVENT_CLOSE, $menu_quitter, $GUI_CLOSE_BUTTON FileDelete($file) $nombre = GUICtrlRead($nbr_label_VC_TOTAL) + guictrlread($nbr_label_VE_TOTAL) + GUICtrlRead($nbr_label_VFS_TOTAL) if $nombre <> 0 then _savebandeau
() if FileExists($csv) then Msgbox(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 <> 0 then _savebandeau
() if FileExists($csv) then Msgbox(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 = 0 To UBound($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 ") EndSwitchWEndfunc 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 & @CRLF) _loadbandeau
() _IENavigate($oIE, $file)EndFuncFunc 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 = 0 To UBound($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 = 0 To UBound($tmp)-1 ; je parcours cellule par cellule "de gauche a droite" $a[$i][$j] = $tmp[$j] ; je remplis chaque cellule Next Next Return $aEndFuncFunc 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 ")EndFuncfunc imprimer
($a) Local $hRichEdit local $scsv = FileRead($csv) $a= toArrayCsv
($scsv) $hGui = GUICreate("impression", 320, 350, -1, -1) $hRichEdit = _GUICtrlRichEdit_Create($hGui, "", 10, 10, 300, 220, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL)) _GUICtrlRichEdit_SetFont($hRichEdit,20) _GUICtrlRichEdit_AppendText($hRichEdit,@CRLF & "Main courante PCO : " & GUICtrlRead($label_evenement)) for $i = 0 to ubound($a)-1 _GUICtrlRichEdit_AppendText($hRichEdit,@CRLF & $a[$i][0] & " " & stringreplace(($a[$i][1] ),"__", @CRLF)) Next _GUICtrlRichEdit_AppendText($hRichEdit,@CRLF & "------------------------------------------------------------------------------") _GUICtrlRichEdit_AppendText($hRichEdit,@CRLF & "Victimes civiles : " & GUICtrlRead($nbr_label_VC_TOTAL ) & " (" & GUICtrlRead($nbr_label_VC_DCD) & " DCD, " & _
GUICtrlRead($nbr_label_VC_UA) & " UA, " & _
GUICtrlRead($nbr_label_VC_UR) & " UR, " & _
GUICtrlRead($nbr_label_VC_indemnes)& " Indemnes)") _GUICtrlRichEdit_AppendText($hRichEdit,@CRLF & "Victimes equipage : " & GUICtrlRead($nbr_label_VE_TOTAL ) & " (" & GUICtrlRead($nbr_label_VE_DCD) & " DCD, " & _
GUICtrlRead($nbr_label_VE_UA) & " UA, " & _
GUICtrlRead($nbr_label_VE_UR) & " UR, " & _
GUICtrlRead($nbr_label_VE_indemnes)& " Indemnes)") _GUICtrlRichEdit_AppendText($hRichEdit,@CRLF & "Victimes Forces Intervention: " & GUICtrlRead($nbr_label_VFS_TOTAL ) & " (" & GUICtrlRead($nbr_label_VFS_DCD) & " DCD, " & _
GUICtrlRead($nbr_label_VFS_UA) & " UA, " & _
GUICtrlRead($nbr_label_VFS_UR) & " UR)") _GUICtrlRichEdit_SetCharColor($hRichEdit, "0") _RTF_PrintFile
(_GUICtrlRichEdit_StreamToVar($hRichEdit), Default, False)EndFuncfunc _makehtml
() if FileExists($file) then FileDelete($file) $texte = "<html><head>" & @CRLF & _
"<title>MCI-PCO</title>" & @CRLF & _
"<meta name=""title"" content=""PCO"" />" & @CRLF & _
"<meta name=""description"" content=""main courante PCO"" />" & @CRLF & _
"<meta name=""keywords"" content=""PCO"" />" & @CRLF & _
"<meta http-equiv=""content-type"" content=""text/html; charset=UTF-8"" />" & @CRLF & _
"</head>" & @CRLF & _
"<body bgcolor=""#ffffff"" background=""images/"" text=""#000000"" link=""#0000cc"" vlink=""#660033"" alink=""#ff0000"" marginheight=""0"" marginwidth=""0"" leftmargin=""0"" topmargin=""0""><font size=""5""><font face=""Times New Roman""> "; & @CRLF filewrite($file, $texte)EndFuncfunc _makeini
() local $asec_civils[5][2]= [[4, ""],["INDEMNES", ""],["UR", ""],["UA", ""],["DCD",""]] local $asec_equipage[5][2]= [[4, ""],["INDEMNES", ""],["UR", ""],["UA", ""],["DCD",""]] local $asec_fds[4][2]= [[3, ""],["UR", ""],["UA", ""],["DCD",""]] Local $titre_pco = GUICtrlRead($label_evenement) if not FileExists($fileini) Then IniWriteSection($fileini,"CIVILES",$asec_civils) IniWriteSection($fileini,"FDS",$asec_fds) IniWriteSection($fileini,"EQUIPAGE",$asec_equipage) IniWriteSection($fileini,"LABEL","titre=" & $titre_pco) Else ; local $aarray=IniReadSectionNames($fileini) ;_ArrayDisplay($aarray) ; for $i = 1 to $aarray[0] ; local $asections = IniReadSection($fileini,$aarray[$i]) ;_ArrayDisplay($asections) ; for $j = 1 to ubound($asections) -1 ;if $asections[$j][1] <> "" then msgbox(0,"test",$aarray[$i] & " " & $asections[$j][1], 1) ; if $asections[$j][1] <> "" then IniWrite($fileini,$aarray[$i],$asections[$j][1],"") ; Next ; Next _savebandeau
() EndIfEndFuncfunc _savebandeau
() local $asec_civils[5][2]= [[4, ""],["INDEMNES", GUICtrlRead($nbr_label_VC_indemnes)],["UR", GUICtrlRead($nbr_label_VC_UR) ],["UA", GUICtrlRead($nbr_label_VC_UA) ],["DCD", GUICtrlRead($nbr_label_VC_DCD)]] local $asec_equipage[5][2]= [[4, ""],["INDEMNES", GUICtrlRead($nbr_label_VE_indemnes)],["UR", GUICtrlRead($nbr_label_VE_UR)],["UA",GUICtrlRead($nbr_label_VE_UA)],["DCD",GUICtrlRead($nbr_label_VE_DCD)]] local $asec_fds[4][2]= [[3, ""],["UR", GUICtrlRead($nbr_label_VFS_UR) ],["UA", GUICtrlRead($nbr_label_VFS_UA)],["DCD", GUICtrlRead($nbr_label_VFS_DCD)]] Local $titre_pco = GUICtrlRead($label_evenement) IniWriteSection($fileini,"CIVILES",$asec_civils) IniWriteSection($fileini,"FDS",$asec_fds) IniWriteSection($fileini,"EQUIPAGE",$asec_equipage) IniWriteSection($fileini,"LABEL","titre=" & $titre_pco)EndFuncFUNC _loadbandeau
() GUICtrlSetData($label_evenement,IniRead($fileini,"LABEL","titre","")) guictrlsetdata($nbr_label_VC_indemnes,IniRead($fileini,"CIVILES","INDEMNES",0)) guictrlsetdata($nbr_label_VC_UR,IniRead($fileini,"CIVILES","UR",0)) guictrlsetdata($nbr_label_VC_UA,IniRead($fileini,"CIVILES","UA",0)) guictrlsetdata($nbr_label_VC_DCD,IniRead($fileini,"CIVILES","DCD",0)) guictrlsetdata($nbr_label_VE_indemnes,IniRead($fileini,"EQUIPAGE","INDEMNES",0)) guictrlsetdata($nbr_label_VE_UR,IniRead($fileini,"EQUIPAGE","UR",0)) guictrlsetdata($nbr_label_VE_UA,IniRead($fileini,"EQUIPAGE","UA",0)) guictrlsetdata($nbr_label_VE_DCD,IniRead($fileini,"EQUIPAGE","DCD",0)) guictrlsetdata($nbr_label_VFS_UR,IniRead($fileini,"FDS","UR",0)) guictrlsetdata($nbr_label_VFS_UA,IniRead($fileini,"FDS","UA",0)) guictrlsetdata($nbr_label_VFS_DCD,IniRead($fileini,"FDS","DCD",0))EndFunc
Bonne lecture