
J'ai un petit soucis, je n'arrive pas à insérer une boucle dans mon script sans que celui-ci ne bug en fonction de l'endroit où j'insère la fameuse boucle.
J'ai même essayé de mettre cette boucle dans une fonction, mais rien ne change ( le bug change en fonction du moment où j'appelle la fonction)
La seule solution que j'ai trouvé et qui fonctionne est de mettre cette fameuse boucle dans un deuxième script qui est appelé au démarrage de mon script principal.L’appelle du deuxième script "module de surveillancemgr.exe" se fait par par la fonction _MDS()
Bien sûre je vire cet appel de fonction quand j’essaie d'insérer la boucle qui me pose problème.
Si vous désirez lancer le script sans bug le script il vous faut au minimum créer un dossier et un fichier
=> 1 dossier BDD qui contient un fichier "liste agents.txt" avec au moins un nom à l'intérieure afin de voir si le Combo affiche bien
Je m'excuse d'avance si c'est le boxon dans mon script car l'organisation et l'optimisation c'est pas encore ça....


Voici le script principal.
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <ComboConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <date.au3>
;appel du deuxième script============
_MDS()
;=================================
$fileNom = FileOpen("BDD\liste agents.txt")
$ligneNom = FileReadLine($fileNom)
$sDate = _NowDate ( )
$sTime = _NowTime ( )
#Region ### START Koda GUI section ### Form=MagLiveMGRV2.kxf
$Form1 = GUICreate("Mag'Live: Interface manager", 643, 328, 40, 40)
GUISetFont(12, 400, 0, "Square721 BT")
GUISetBkColor(0xFFFFFF)
$Pic3 = GUICtrlCreatePic("IMG\logomagliveP.JPG", 233, 24, 177, 32)
GUICtrlSetColor(-1, 0x0066CC)
$Group1 = GUICtrlCreateGroup(" Administration ", 16, 80, 300, 225)
$Button1 = GUICtrlCreateButton("Ajouter un agent dans Mag'Live", 36, 120, 259, 41)
GUICtrlSetColor(-1, 0x008000)
$Button2 = GUICtrlCreateButton("Supprimer un agent ", 36, 186, 259, 41)
GUICtrlSetColor(-1, 0xFF0000)
$Button3 = GUICtrlCreateButton("Tutoriel Mag'Live", 36, 252, 259, 41)
GUICtrlSetColor(-1, 0xFF00FF)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup(" Valider un bon de retrait ", 329, 81, 300, 161)
$Button5 = GUICtrlCreateButton("Valider un bon de retrait", 349, 187, 259, 41)
GUICtrlSetColor(-1, 0x008000)
$Combo1 = GUICtrlCreateCombo("", 352, 120, 257, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData($Combo1, $ligneNom & "|")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Pic2 = GUICtrlCreatePic("IMG\GRDF.jpg", 535, 8, 93, 55)
$Pic1 = GUICtrlCreatePic("IMG\ERDF.jpg", 8, 8, 107, 55)
$Button4 = GUICtrlCreateButton("Visualiser les bons de retrait", 351, 256, 259, 41)
GUICtrlSetColor(-1, 0x0000FF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$ligneNom = FileReadLine($fileNom)
If @error = -1 Then ExitLoop
GUICtrlSetData($Combo1, $ligneNom & "|")
WEnd
Func _Valider()
While 1
$mgr = @UserName
$sDate = _NowDate ( )
$sTime = _NowTime ( )
$newtime = StringReplace($sTime, ":", "-")
$formatFRj = StringRegExpReplace($sDate, '(\d{4})/(\d{2})/(\d{2})', "$3/$2/$1")
$Newdate = StringReplace($formatFRj, "/", "")
DirCreate(@ScriptDir & "/mag/" & $Newdate & "/")
DirCreate(@ScriptDir & "/mag/" & $Newdate & "/archive/")
$ecri2 = guictrlread($Combo1)
if Not $ecri2 <> "" then
MsgBox(0, "Information", "Vous n'avez pas sélectionné d'agent ! ")
ExitLoop
ElseIf $ecri2 <> "" then
FileMove(@ScriptDir & "\mgr\" & $ecri2 & "*.png", @ScriptDir & "/mag/" & $Newdate & "/" & $ecri2 & "_du_" & @MDAY & "-" &@MON & "-" & @YEAR & "_à_" & @HOUR & "-" & @MIN & "-" & @SEC & "-" & @MSEC & "_signé par_" & $mgr & ".png", $FC_NOOVERWRITE)
sleep(2)
FileMove(@ScriptDir & "\mgr\" & $ecri2 & "*.png", @ScriptDir & "/mag/" & $Newdate & "/" & $ecri2 & "_du_" & @MDAY & "-" &@MON & "-" & @YEAR & "_à_" & @HOUR & "-" & @MIN & "-" & @SEC & "-" & @MSEC & "_signé par_" & $mgr & ".png", $FC_NOOVERWRITE)
sleep(2)
FileMove(@ScriptDir & "\mgr\" & $ecri2 & "*.png", @ScriptDir & "/mag/" & $Newdate & "/" & $ecri2 & "_du_" & @MDAY & "-" &@MON & "-" & @YEAR & "_à_" & @HOUR & "-" & @MIN & "-" & @SEC & "-" & @MSEC & "_signé par_" & $mgr & ".png", $FC_NOOVERWRITE)
sleep(2)
FileMove(@ScriptDir & "\mgr\" & $ecri2 & "*.png", @ScriptDir & "/mag/" & $Newdate & "/" & $ecri2 & "_du_" & @MDAY & "-" &@MON & "-" & @YEAR & "_à_" & @HOUR & "-" & @MIN & "-" & @SEC & "-" & @MSEC & "_signé par_" & $mgr & ".png", $FC_NOOVERWRITE)
sleep(2)
FileMove(@ScriptDir & "\mgr\" & $ecri2 & "*.png", @ScriptDir & "/mag/" & $Newdate & "/" & $ecri2 & "_du_" & @MDAY & "-" &@MON & "-" & @YEAR & "_à_" & @HOUR & "-" & @MIN & "-" & @SEC & "-" & @MSEC & "_signé par_" & $mgr & ".png", $FC_NOOVERWRITE)
MsgBox(0, "Information", "Bon(s) existant(s) de l'agent " & $ecri2 & " validé(s) ! ")
ExitLoop
EndIf
WEnd
EndFunc
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $Button1
ShellExecute(@scriptdir & "\ajouteragent.exe")
Case $msg = $Button2
ShellExecute(@scriptdir & "\delagent.exe")
Case $msg = $Button3
ShellExecute(@scriptdir & "\tutoriel.pdf")
Case $msg = $Button4
_Voir()
Case $msg = $Button5
_valider()
EndSelect
WEnd
Func Ga1($file)
ShellExecute(@scriptdir & "/mgr/" & $file)
EndFunc
Func _Voir()
Local $aArray = _FileListToArrayRec(@scriptdir & "/mgr/", "*.png", $FLTAR_FILES, $FLTAR_RECUR)
If @error Then
MsgBox(0, "Information", "Aucun bon disponible pour validation ! ")
ElseIf Not @error Then
For $i = 1 to $aArray[0]
Ga1($aArray[$i])
Next
EndIf
EndFunc
Func _MDS()
ShellExecute(@scriptdir & "\module de surveillancemgr.exe")
EndFunc
et la boucle que je voudrais insérer
Code : Tout sélectionner
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
$formatFRj = StringRegExpReplace($sDate, '(\d{4})/(\d{2})/(\d{2})', "$3/$2/$1")
$Newdate = StringReplace($formatFRj, "/", "")
Local $aArray = _FileListToArrayRec(@scriptdir & "/mgr/", "*.png", $FLTAR_FILES)
If Not @error Then
SoundPlay(@ScriptDir & "\audio\alerte.wav", 1)
MsgBox(0, "ATTENTION", "Un nouveau bon de retrait est arrivé ! ")
Sleep (5000)
Else
Sleep (5000)
EndIf
WEnd
