#NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=..\..\..\..\..\..\Program Files (x86)\AutoIt3\Icons\au3.ico #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;---------------------------------------------------------------------------- ;----------------- Présentation ----------------------------------- ;---------------------------------------------------------------------------- ; Version AutoIt : 3.3.7 ; Langue : Francais ; PlateForme : Win9X/XP/Seven ; Auteur : ; ; SCRIPT : Ce code Sert à sauvegarde des images gérérer toutes les 4 sec ; via un logiciel externe et enregistrer sur ce PC, le but est de crée un service ; capable de détecter chaque nouvelle foto les déplacer sur un serveur externe dans ; une arboressance structuré ; ; Attention : le projet de départ avais pour but de transferer a une heure précise des dossier complet ; mais ce n'est pas possible a cause d'autre application qui ne doive pas etre interonpu donc il reste ; des variable et bout de code non utilisé ; ; Version 1.0 : 10/06/20014 ; - Première Version ; ; ;---------------------------------------------------------------------------- ;----------------- Déclaration Des Directives --------------------- ;----------------- De Compilation --------------------- ;---------------------------------------------------------------------------- ;---------------------------------------------------------------------------- ;----------------- Déclaration des Includes et Variables ---------- ;---------------------------------------------------------------------------- #Region "Include" #include #include #include #include #Include #include #include #include #include #include #include #include #include #include #include #EndRegion #Region "Variable" ;########################################################################### ; Menu Opt("TrayMenuMode", 1 ); Default tray menu items (Script Paused/Exit) will not be shown. Opt("GUICloseOnESC", 1) ;1=ESC closes, 0=ESC won't close Opt("GUICoordMode", 1) local $transfitem = TrayCreateItem("Lancer Recherche") Local $prefsitem = TrayCreateItem("Préférence") Local $aboutitem = TrayCreateItem("About") Local $exititem = TrayCreateItem("Exit") TraySetState() ;############################################################################ ; variable Local $JourDefault = "Vendredi" ; contient le jour de sauvegarde Local $JourArray[7] ; contient la liste de tout les jour de la semaine $JourArray[0] = "Lundi" $JourArray[1] = "Mardi" $JourArray[2] = "Mercredi" $JourArray[3] = "Jeudi" $JourArray[4] = "Vendredi" $JourArray[5] = "Samedi" $JourArray[6] = "Dimanche" Local $HeureDefault = 13 ; contient l'heure de sauvegarde Local $HeureArray[24] ; Variable qui contient la list des heures For $i = 0 to 23 Step 1 $HeureArray[$i]= $i Next Local $paramArray[4] ; Attention Pour lire il compte a partir l'index 1 mais pour écrire il compte a 0 Local $PathParam = "C:\tmp\saveImg.ini" Local $PathDirClient = "C:\Documents and Settings\operator\Mes documents\Mes images\SAUVEGARDE PHOTOS" ; chemin ou sont stocker les fichier avant Local $PathDirServeur = "\\Ts_03\Archivage\Images visionTHT2" ; chemin ou sont enregistrer les fichier Local $Contact = "aurelien.allee@delphi.com" Local $FileTmp = "\FileTestTmp.log" ;fichier servant uniquement a valider si le serveur est accessible et vérifier les droits Local $fileExtend = "\*.jpg" Local $etatUpdate = False local $paramCharger = False local $LancerTransfere = False local $pid = ProcessExists(@ScriptName) #EndRegion ;---------------------------------------------------------------------------- ;----------------- Déclaration des Forms -------------------------- ;---------------------------------------------------------------------------- #Region ### START Koda GUI section ### Form=Preference $FrmPreference = GUICreate("Préférence des paramètres", 576, 443, 192, 124) $gpPathLocal = GUICtrlCreateGroup("Chemin Local", 8, 8, 553, 121) $btPathLocalModif = GUICtrlCreateButton("Modifier", 472, 24, 75, 25) $btPathLocalValider = GUICtrlCreateButton("Valider", 472, 56, 75, 25) $btPathLocalAnnuler = GUICtrlCreateButton("Annuler", 472, 88, 75, 25) $Label1 = GUICtrlCreateLabel("Chemin Local Actuel", 24, 32, 101, 17) $lab1 = GUICtrlCreateLabel("Chemin Local à entrer", 24, 64, 107, 17) $lab2 = GUICtrlCreateLabel("Etat ", 24, 96, 26, 17) $tbPathLocal = GUICtrlCreateInput("", 152, 64, 313, 21) GUICtrlSetResizing(-1, $GUI_DOCKAUTO+$GUI_DOCKHEIGHT) $labEtatPathLocal = GUICtrlCreateLabel("", 152, 96, 313, 25) $labPathLocal = GUICtrlCreateLabel("", 152, 32, 313, 30) GUICtrlCreateGroup("", -99, -99, 1, 1) $gpPathServer = GUICtrlCreateGroup("Chemin Reseau", 8, 136, 553, 121) $btPathServerModif = GUICtrlCreateButton("Modifier", 472, 152, 75, 25) $btPathServerValider = GUICtrlCreateButton("Valider", 472, 184, 75, 25) $btPathServerAnnuler = GUICtrlCreateButton("Annuler", 472, 216, 75, 25) $Label4 = GUICtrlCreateLabel("Chemin Serveur Actuel", 24, 160, 112, 17) $lab3 = GUICtrlCreateLabel("Chemin Serveur à entrer", 24, 192, 118, 17) $lab4 = GUICtrlCreateLabel("Etat", 24, 224, 23, 17) $tbPathServer = GUICtrlCreateInput("", 152, 192, 313, 21) $labEtatPathServer = GUICtrlCreateLabel("", 152, 224, 313, 21) $labPathServer = GUICtrlCreateLabel("", 152, 160, 313, 30) GUICtrlCreateGroup("", -99, -99, 1, 1) $gpHeure = GUICtrlCreateGroup("Heure", 8, 264, 553, 121) $btHeureModif = GUICtrlCreateButton("Modifier", 472, 280, 75, 25) $btHeureValider = GUICtrlCreateButton("Valider", 472, 312, 75, 25) $btHeureAnnuler = GUICtrlCreateButton("Annuler", 472, 344, 75, 25) $Label7 = GUICtrlCreateLabel("Heure Actuel", 24, 288, 66, 17) $lab5 = GUICtrlCreateLabel("Modification de l'heure", 24, 320, 110, 17) $cbHeure = GUICtrlCreateCombo("", 152, 320, 313, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) $labHeureActuel = GUICtrlCreateLabel("", 152, 288, 313, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) $btAppliquer = GUICtrlCreateButton("Appliquer", 488, 392, 75, 41) $btFermer = GUICtrlCreateButton("Fermer", 408, 392, 75, 41) #EndRegion ### END Koda GUI section ### #Region ### START Koda GUI section ### Form=About $FrmAbout = GUICreate("About", 362, 284, 192, 124) $Label1 = GUICtrlCreateLabel("Information du Service", 136, 8, 110, 17) $Label2 = GUICtrlCreateLabel("Nom du Service", 24, 48, 80, 17) $Label3 = GUICtrlCreateLabel("Version", 24, 88, 39, 17) $Label4 = GUICtrlCreateLabel("Etat", 24, 160, 23, 17) $Label5 = GUICtrlCreateLabel("Dernière MAJ", 24, 200, 68, 17) $Label6 = GUICtrlCreateLabel("Contact", 24, 240, 41, 17) $LabelNameExe = GUICtrlCreateLabel(" ", 192, 48, 100, 17) $LabelVersion = GUICtrlCreateLabel(" ", 192, 88, 100, 17) $LabelEtat = GUICtrlCreateLabel(" ", 192, 160, 100, 17) $LabelLastMaj = GUICtrlCreateLabel(" ", 192, 200, 100, 17) $LabelContact = GUICtrlCreateLabel($Contact, 192, 240, 100, 17) #EndRegion ### END Koda GUI section ### #Region ### START Koda GUI section ### Form=Transfere $FrmTransfere = GUICreate("Transfère", 356, 120, 201, 152,0) $gpTransfere = GUICtrlCreateGroup("gpTransfere", 8, 8, 345, 81) $ProgressBar = GUICtrlCreateProgress(16, 32, 326, 25,$PBS_MARQUEE) $lblNbFile = GUICtrlCreateLabel("nbFile", 16, 64, 180, 17) $btAnnuler = GUICtrlCreateButton("Annuler", 264, 64, 83, 25) GUICtrlCreateGroup("", -99, -99, 1, 1) #EndRegion ### END Koda GUI section ### ; chargement d'une liste d'heure dans un combobox For $i = 0 To 23 Step 1 _GUICtrlComboBox_AddString($cbHeure, $HeureArray[$i]) Next While 1 ;########################################### ; Menu et action en cas de click Local $msgMenu = TrayGetMsg() Select Case $msgMenu = $transfitem $LancerTransfere = True TrayItemSetState($transfitem,$TRAY_CHECKED) Case $msgMenu = $prefsitem chargementDesPreference() TrayItemSetState($transfitem,$TRAY_CHECKED) GUISetState(@SW_SHOW,$FrmPreference) Case $msgMenu = $aboutitem chargementInfoAbout() GUISetState(@SW_SHOW,$FrmAbout) case $msgMenu = $exititem Exit EndSelect ;######################################## ; gestion des Evenement des differentes fenetres $nMsg = GUIGetMsg(1) Switch $nMsg[1] Case $nMsg[0] = $GUI_EVENT_CLOSE If $nMsg[1] = $FrmPreference Then GUISetState(@SW_HIDE, $FrmPreference) ElseIf $nMsg[1] = $FrmAbout Then GUISetState(@SW_HIDE, $FrmAbout) EndIf Case $nMsg[0] = $btPathLocalModif And $nMsg[1] = $FrmPreference AfficherPreferenceGroupeLocal() Case $nMsg[0] = $btPathLocalValider And $nMsg[1] = $FrmPreference If updatePreferenceLocal() = True then masquerPreferenceGroupeLocal() GUICtrlSetData($labPathLocal , $PathDirClient) GUICtrlSetData($labEtatPathLocal , verifierEtatServeur($PathDirClient)) saveParametre() Else MsgBox($MB_SYSTEMMODAL , "Attention" , "Path Invalid",10) ControlFocus($FrmPreference,"",$tbPathLocal) EndIf Case $nMsg[0] = $btPathLocalAnnuler And $nMsg[1] = $FrmPreference masquerPreferenceGroupeLocal() Case $nMsg[0] = $btPathServerModif And $nMsg[1] = $FrmPreference AfficherPreferenceGroupeServeur() Case $nMsg[0] = $btPathServerValider And $nMsg[1] = $FrmPreference If updatePreferenceServeur() = True then masquerPreferenceGroupeServeur() GUICtrlSetData($labPathServer , $PathDirServeur) GUICtrlSetData($labEtatPathServer , verifierEtatServeur($PathDirServeur)) saveParametre() Else MsgBox($MB_SYSTEMMODAL , "Attention" , "Path Invalid",10) ControlFocus($FrmPreference,"",$tbPathServer) EndIf Case $nMsg[0] = $btPathServerAnnuler And $nMsg[1] = $FrmPreference masquerPreferenceGroupeServeur() Case $nMsg[0] = $btHeureModif And $nMsg[1] = $FrmPreference AfficherPreferenceGroupeHeure() Case $nMsg[0] = $btHeureValider And $nMsg[1] = $FrmPreference if updatePreferenceHeure() = True Then masquerPreferenceGroupeHeure() GUICtrlSetData($labHeureActuel, $HeureDefault) EndIf Case $nMsg[0] = $btHeureAnnuler And $nMsg[1] = $FrmPreference masquerPreferenceGroupeHeure() Case $nMsg[0] = $btAppliquer And $nMsg[1] = $FrmPreference saveParametre() MsgBox($MB_SYSTEMMODAL, "" , "Enregistrement des parametres reussi ! " , 4 ) GUISetState(@SW_HIDE, $FrmPreference) Case $nMsg[0] = $btFermer And $nMsg[1] = $FrmPreference GUISetState(@SW_HIDE, $FrmPreference) EndSwitch ;gestion du check du menu if BitAND(WinGetState($FrmPreference),2) Then TrayItemSetState($prefsitem,$TRAY_CHECKED) Else TrayItemSetState($prefsitem,$TRAY_UNCHECKED) EndIf If BitAND(WinGetState($FrmAbout),2) Then TrayItemSetState($aboutitem,$TRAY_CHECKED) Else TrayItemSetState($aboutitem,$TRAY_UNCHECKED) EndIf If $LancerTransfere = True Then TrayItemSetState($transfitem,$TRAY_CHECKED) Else TrayItemSetState($transfitem,$TRAY_UNCHECKED) EndIf TrayItemSetState($exititem,$TRAY_UNCHECKED) ;chargement des parametres if $paramCharger = False Then chargementParametre() EndIf mouveFichierClient() ; fonction qui organise les fichier dans le C:\ if $LancerTransfere = True Then mouveFichierServeur() ; fonction qui sauvegarde et organise sur le serveur EndIf _ReduceMemory($pid) WEnd ;---------------------------------------------------------------------------- ;----------------- Codes Des Fonctions ---------------------------- ;---------------------------------------------------------------------------- ; fonction qui sera charger a chaque nouvelle ouverture de la fenetre About ; qui contiendra quelque information Func chargementInfoAbout() Local $strEtat = verifierEtatServeur() GUICtrlSetData($LabelNameExe,@ScriptName) GUICtrlSetData($LabelVersion,FileGetVersion(@ScriptName)) GUICtrlSetData($LabelEtat, $strEtat) GUICtrlSetData($LabelLastMaj, _NowDate() ) GUICtrlSetData($LabelContact , $Contact) EndFunc ; fonction qui renvois une chaine de caractere spécifiant si le serveur est ON ou OFF ; elle va crée un fichier dans le répaitoire Choisi puis le supprimer ; si tout ce passe bien c'est ON Func verifierEtatServeur($p = $PathDirServeur) If FileExists($p) Then If FileExists($p & $FileTmp) Then If not(FileDelete($p & $FileTmp)) Then Return "Etat Serveur OFF" EndIf If (_FileCreate($p & $FileTmp))Then If FileDelete($p & $FileTmp) Then Return "Etat Serveur ON" EndIf Return "Etat Serveur OFF" Else Dim $dr $dr = MsgBox($MB_YESNO, "Erreur", " Attention le Dossier ou les fichier " & _ " doivent être sauvegarder n'existe pas ! " & @LF & _ " Voulez vous creer ce dossier automatiquement ? ", 60) If $dr = 6 Then if DirCreate($p) Then If (_FileCreate($p & $FileTmp))Then If FileDelete($p & $FileTmp) Then Return "Etat Serveur ON" EndIf EndIf Return "Etat Serveur OFF" Else Return "Etat Serveur OFF" EndIf EndIf EndFunc ; fonction qui regarde si le dossier existe bel et bien et ; si des image sont enregistrer dedans Func mouveFichierClient() $tFile = _Date_Time_EncodeFileTime(@YEAR, @MON, @MDAY, @HOUR, @MIN, @SEC) Local $pFile = DllStructGetPtr($tFile) Local $dirMonth = $PathDirClient & "\" & @YEAR & "_" & @MON Local $dirFile = $dirMonth & "\" & @YEAR & "_" & @MON & "_" & @MDAY If Not FileExists($PathDirClient) Then DirCreate($PathDirClient) _Date_Time_SetFileTime($PathDirClient, $pFile, $pFile, $pFile) EndIf if not FileExists($dirMonth) Then DirCreate($dirMonth) _Date_Time_SetFileTime($dirMonth, $pFile, $pFile, $pFile) EndIf If not FileExists($dirFile) Then DirCreate($dirFile) _Date_Time_SetFileTime($dirFile, $pFile, $pFile, $pFile) EndIf If FileExists($PathDirClient & $fileExtend) Then FileMove($PathDirClient & $fileExtend, $dirFile & "\") Sleep(20) EndIf EndFunc ; fonction qui déplacera le dossier du jour précédant pour ; les sauvegarder sur le serveur Func mouveFichierServeur() local $d2Jour = _DateAdd("d", -2, @YEAR & "/" & @MON & "/" & @MDAY ) Local $dateMoisDernier = _DateAdd("m", -1, @YEAR & "/" & @MON & "/" & @MDAY ) ;on liste tout les dossier du path client Local $tabDir = _FileListToArray($PathDirClient, "*" ,2) If $tabDir = 0 Then MsgBox( $MB_SYSTEMMODAL , "Erreur" , "il n'y à aucun fichier sauvegarder sur ce pc !",5) Else ;si il correspondent a un dossier mois (2014_03) on liste a nouveau For $i = 1 To $tabDir[0] ;si il ne contient rien on revien en arriere et on le supprime If StringRegExp( $tabDir[$i] , "[0-9]{4}_[0-9]{2}$") Then Local $pfile = $PathDirClient & "\" & $tabDir[$i] Local $tabfile = _FileListToArray($pfile, "*" ,2) If $tabfile = 0 Then if not DirRemove($PathDirClient & "\" & $tabDir[$i]) Then MsgBox($MB_SYSTEMMODAL , "" ,"La suppression du dossier : " & $PathDirClient & "\" & $tabDir[$i] & " n'a pas pu se faire") Else for $j = 1 to $tabfile[0] Local $file = $PathDirClient if (StringRight($PathDirClient , 1 ) = "\" Or StringLeft($tabDir[$i],1) = "\") Then $file = $file & $tabDir[$i] Else $file = $file & "\" & $tabDir[$i] EndIf if (StringRight($tabDir[$i],1) = "\" Or StringLeft($tabfile[$j],1)= "\") Then $file = $file & $tabfile[$j] Else $file = $file & "\" & $tabfile[$j] EndIf If FileExists($file) And $LancerTransfere = True Then local $dateArrayFile = FileGetTime($file,1,0) local $dateFile = $dateArrayFile[0] & "/" & $dateArrayFile[1] & "/" & $dateArrayFile[2] Local $dateNow = @YEAR & "/" & @MON & "/" & @MDAY Local $ddiff = _DateDiff ( "d", $dateFile, $dateNow) Local $serveurDir = $tabDir[$i] & "\" & $tabfile[$j] If $ddiff > 2 Then ; si la date est supérieur a deux jour on transfere transfereSurServeur($file, $serveurDir) EndIf EndIf Next EndIf EndIf Next EndIf EndFunc func chargementParametre() If FileExists($PathParam) Then _FileReadToArray($PathParam, $paramArray) $PathDirClient = $paramArray[1] $PathDirServeur = $paramArray[2] $HeureDefault = $paramArray[3] Else saveParametre() EndIf $paramCharger = True EndFunc func saveParametre() If FileExists($PathParam) Then FileDelete($PathParam) _FileCreate($PathParam) $paramArray[0] = $PathDirClient $paramArray[1] = $PathDirServeur $paramArray[2] = $HeureDefault _FileWriteFromArray($PathParam, $paramArray) EndFunc ; fait une copy des fichiers sur un serveur func transfereSurServeur(ByRef $file, ByRef $serveurDir) If verifierEtatServeur() = "Etat Serveur ON" AND $LancerTransfere = True Then if not FileExists($PathDirServeur & "\" & $serveurDir) Then DirCreate($PathDirServeur & "\" & $serveurDir) local $listeFichiers = _FileListToArray($file,"*",1) If @error = 1 Then MsgBox($MB_SYSTEMMODAL, "", "Path was invalid.",3) Exit EndIf If @error = 2 Then MsgBox($MB_SYSTEMMODAL, "", "Invalid $sFilter.",3) Exit EndIf If @error = 3 Then MsgBox($MB_SYSTEMMODAL, "", "Invalid $iFlag.",3) Exit EndIf If $listeFichiers = 0 Then if not DirRemove($file) then MsgBox($MB_SYSTEMMODAL , "" , "Erreur Le dossier " & $file & " ne contient plus de fichier mais n'a pas pu etre supprimé " ) Else local $nbfile = 0 GUICtrlSendMsg($ProgressBar, $PBM_SETMARQUEE, 1, 50) GUICtrlSetData($lblNbFile , $nbfile & " / " & $listeFichiers[0]) GUICtrlSetData($gpTransfere,$file) GUISetState(@SW_SHOW , $FrmTransfere) For $i=1 to $listeFichiers[0] local $fileSource = $file & "\" & $listeFichiers[$i] local $fileDest = $PathDirServeur & "\" & $serveurDir & "\" If Not FileMove($fileSource, $fileDest, $FC_OVERWRITE + $FC_CREATEPATH) then MsgBox($MB_SYSTEMMODAL,"","ECHEC lors du déplacement des images",10) $LancerTransfere = False TrayItemSetState($transfitem,$TRAY_UNCHECKED) ExitLoop Else $nbfile = $nbfile + 1 GUICtrlSetData($lblNbFile,$nbfile & " / " & $listeFichiers[0]) EndIf If $btAnnuler = GUIGetMsg() Then $LancerTransfere = False TrayItemSetState($transfitem,$TRAY_UNCHECKED) ExitLoop EndIf Sleep(20) Next Sleep(1000) GUISetState(@SW_HIDE , $FrmTransfere) EndIf Else MsgBox($MB_SYSTEMMODAL, "Erreur Reseau" , "Le service ne parvient pas à acceder au serveur !", 10) EndIf EndFunc ; chargement des config depuis un fichier externe (non implémenté) ; masquer tout les controls non utilisé ; et affichage des parametre déja en place (affichage des variable dans les labels) Func chargementDesPreference() ; masque les controls masquerPreferenceGroupeLocal() masquerPreferenceGroupeServeur() masquerPreferenceGroupeHeure() GUICtrlSetData($labPathLocal , $PathDirClient) GUICtrlSetData($labEtatPathLocal , verifierEtatServeur($PathDirClient)) GUICtrlSetData($labPathServer , $PathDirServeur) GUICtrlSetData($labEtatPathServer , verifierEtatServeur($PathDirServeur)) GUICtrlSetData($labHeureActuel , $HeureDefault) EndFunc func AfficherPreferenceGroupeLocal() ControlEnable($FrmPreference,"",$lab1) ControlShow($FrmPreference,"",$lab1) ControlEnable($FrmPreference,"",$lab2) ControlShow($FrmPreference,"",$lab2) ControlEnable($FrmPreference,"",$tbPathLocal) ControlShow($FrmPreference,"",$tbPathLocal) ControlEnable($FrmPreference,"",$btPathLocalValider) ControlShow($FrmPreference,"",$btPathLocalValider) ControlEnable($FrmPreference,"",$btPathLocalAnnuler) ControlShow($FrmPreference,"",$btPathLocalAnnuler) ControlDisable($FrmPreference,"",$btPathLocalModif) EndFunc func masquerPreferenceGroupeLocal() ControlDisable($FrmPreference,"",$lab1) ControlHide($FrmPreference,"",$lab1) ControlDisable($FrmPreference,"",$lab2) ControlHide($FrmPreference,"",$lab2) ControlDisable($FrmPreference,"",$tbPathLocal) ControlHide($FrmPreference,"",$tbPathLocal) ControlDisable($FrmPreference,"",$btPathLocalValider) ControlHide($FrmPreference,"",$btPathLocalValider) ControlDisable($FrmPreference,"",$btPathLocalAnnuler) ControlHide($FrmPreference,"",$btPathLocalAnnuler) ControlEnable($FrmPreference,"",$btPathLocalModif) EndFunc func AfficherPreferenceGroupeServeur() ControlEnable($FrmPreference,"",$lab3) ControlShow($FrmPreference,"",$lab3) ControlEnable($FrmPreference,"",$lab4) ControlShow($FrmPreference,"",$lab4) ControlEnable($FrmPreference,"",$tbPathServer) ControlShow($FrmPreference,"",$tbPathServer) ControlEnable($FrmPreference,"",$btPathServerValider) ControlShow($FrmPreference,"",$btPathServerValider) ControlEnable($FrmPreference,"",$btPathServerAnnuler) ControlShow($FrmPreference,"",$btPathServerAnnuler) ControlDisable($FrmPreference,"",$btPathServerModif) EndFunc func masquerPreferenceGroupeServeur() ControlDisable($FrmPreference,"",$lab3) ControlHide($FrmPreference,"",$lab3) ControlDisable($FrmPreference,"",$lab4) ControlHide($FrmPreference,"",$lab4) ControlDisable($FrmPreference,"",$tbPathServer) ControlHide($FrmPreference,"",$tbPathServer) ControlDisable($FrmPreference,"",$btPathServerValider) ControlHide($FrmPreference,"",$btPathServerValider) ControlDisable($FrmPreference,"",$btPathServerAnnuler) ControlHide($FrmPreference,"",$btPathServerAnnuler) ControlEnable($FrmPreference,"",$btPathServerModif) EndFunc func AfficherPreferenceGroupeHeure() ControlEnable($FrmPreference,"",$lab5) ControlShow($FrmPreference,"",$lab5) ControlEnable($FrmPreference,"",$cbHeure) ControlShow($FrmPreference,"",$cbHeure) ControlEnable($FrmPreference,"",$btHeureValider) ControlShow($FrmPreference,"",$btHeureValider) ControlEnable($FrmPreference,"",$btHeureAnnuler) ControlShow($FrmPreference,"",$btHeureAnnuler) ControlDisable($FrmPreference,"",$btHeureModif) EndFunc func masquerPreferenceGroupeHeure() ControlDisable($FrmPreference,"",$lab5) ControlHide($FrmPreference,"",$lab5) ControlDisable($FrmPreference,"",$cbHeure) ControlHide($FrmPreference,"",$cbHeure) ControlDisable($FrmPreference,"",$btHeureValider) ControlHide($FrmPreference,"",$btHeureValider) ControlDisable($FrmPreference,"",$btHeureAnnuler) ControlHide($FrmPreference,"",$btHeureAnnuler) ControlEnable($FrmPreference,"",$btHeureModif) EndFunc Func updatePreferenceLocal() ; verifier si textbox du chemin client est different de null Local $sTextClient = _GUICtrlEdit_GetText($tbPathLocal) If $sTextClient = ( "" Or " " OR Null) Then If FileExists($sTextClient)Then $PathDirClient = $sTextClient Return True EndIf Else MsgBox($MB_SYSTEMMODAL,"Erreur", "Veuillez remplir le champs !") EndIf EndFunc Func updatePreferenceServeur() ; verifier si textbox du chemin Serveur est different de null Local $sTextServeur = _GUICtrlEdit_GetText($tbPathServer) If $sTextServeur = ("" Or " " Or Null)Then If FileExists($sTextServeur)Then $PathDirServeur = $sTextServeur Return True EndIf Else MsgBox($MB_SYSTEMMODAL,"Erreur", "Veuillez remplir le champs !") EndIf EndFunc Func updatePreferenceHeure() ; verifier si l'heure est différente Local $heurChoisi = _GUICtrlComboBox_GetEditText ( $cbHeure ) If StringRegExp( $heurChoisi , "(([0-9]{2})|([0-9]{1}))($|\n)") Then $HeureDefault = $heurChoisi Return True EndIf EndFunc Func _ReduceMemory($i_PID = -1) If $i_PID <> -1 Then Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID) Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0]) DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0]) Else Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1) EndIf Return $ai_Return[0] EndFunc ;==>_ReduceMemory