Code : Tout sélectionner
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#Include <File.au3>
Global $ini = @ScriptDir & "\" & StringTrimRight(@ScriptName, 3) & "ini"
Global $classes, $eleves, $test
If Not FileExists($ini) Then
MsgBox(64, "", $ini&@crlf&"pas trouvé le fichier ini")
Exit
EndIf
$gui = GUICreate("CLASSE + NOM PRENOM", 700, 220, -1, -1)
$combo1 = GUICtrlCreateCombo("Classe", 10, 10, 100, 25, BitOR($CBS_SORT, $CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetFont(-1, 12, 400, 2, "Arial")
$combo2 = GUICtrlCreateCombo("", 120, 10, 250, 25, BitOR($CBS_SORT, $CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetFont(-1, 12, 400, 2, "Arial")
$combo3 = GUICtrlCreateCombo("Matiere", 400, 10, 250, 25, BitOR($CBS_SORT, $CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetFont(-1, 12, 400, 2, "Arial")
GUICtrlCreateLabel("Copier les fichiers vers :", 20, 45, 150, 20)
GUICtrlSetFont(-1, 12, 400, 2, "Arial")
$addr_dest = GUICtrlCreateInput("", 20, 75, 360, 20)
$copy = GUICtrlCreateButton("Copier", 30, 100, 80, 20)
GUICtrlSetColor (- 1 , 0xFF0000)
GUICtrlCreateLabel("Récupérer les fichiers de :", 20, 125, 270, 40)
GUICtrlSetFont(-1, 12, 400, 2, "Arial")
$addr_dest2 = GUICtrlCreateInput("", 20, 155, 360, 20)
$recup_btn = GUICtrlCreateButton("Récupérer", 30, 180, 100, 25)
GUICtrlSetColor (- 1 , 0xFF0000)
$exit = GUICtrlCreateButton("Exit", 280, 185, 70, 20)
GUISetState()
Dim $classes = IniReadSectionNames($ini)
For $i = 1 To $classes[0]
$test = IniReadSection($ini, $classes[$i])
If $classes[$i] = "destination" Then
$destination = $test[$i][1]
GUICtrlSetData($addr_dest, $destination)
GUICtrlSetData($addr_dest2, $destination)
Else
GUICtrlSetData($combo1, $classes[$i] & "|")
EndIf
Next
While 1
$msg = GUIGetMsg()
Switch $msg
Case $exit, $GUI_EVENT_CLOSE
Exit
Case $combo1
GUICtrlSetData($combo2, "")
$classe_sel = GUICtrlRead($combo1)
If $classe_sel <> "classe" Then
$eleves = IniReadSection($ini, $classe_sel)
For $i = 1 To $eleves[0][0]
GUICtrlSetData($combo2, $eleves[$i][1] & "|")
Next
GUICtrlSetData($addr_dest, $destination & "\" & $classe_sel)
GUICtrlSetData($addr_dest2, $destination & "\" & $classe_sel)
EndIf
Case $combo2
$date = @MDAY & "-" & @MON & "-" & @YEAR & " " & @HOUR & "h" & @MIN & "m" & @SEC & "s"
GUICtrlSetData($addr_dest, $destination & "\" & $classe_sel & "\" & GUICtrlRead($combo2) & " " & $date)
GUICtrlSetData($addr_dest2, $destination & "\" & $classe_sel & "\" & GUICtrlRead($combo2) )
Case $copy
If GUICtrlRead($combo2) <> "" Then
$_dest = GUICtrlRead($addr_dest)
$copie = DirCopy(@ScriptDir, $_dest, 1)
If $copie = 1 Then
FileDelete($_dest &"\"&@ScriptName)
FileDelete($_dest & StringTrimRight(@ScriptName, 3) & "ini")
MsgBox(64, "Info", "Copie terminée")
Else
MsgBox(48, "Attention", "Erreur dans la copie")
EndIf
Else
MsgBox(48, "Attention", "Veuillez sélectionner un élève")
EndIf
Case $recup_btn
$found = 0
If GUICtrlRead($combo2) <> "" Then
$classe_sel = GUICtrlRead($combo1)
$eleve_sel = GUICtrlRead($combo2)
$cible = $destination & "\" & $classe_sel
$FileList =_FileListToArray($cible, "*", 2)
If not @error Then
For $i = 1 To $FileList[0]
If $FileList[$i] = $eleve_sel Then
$found = 1
$file_rec = @ScriptDir & "\" & $eleve_sel
$recup = DirCopy($cible & "\" & $FileList[$i] , $file_rec, 1)
MsgBox(64, "Info", "Récupération terminée")
EndIf
Next
If $found = 0 Then MsgBox(48, "Attention", "Pas trouvé l'élève " & $eleve_sel)
ElseIf @error = 1 Then
MsgBox(48, "Attention", "Pas trouvé la classe " & $classe_sel)
Else
MsgBox(48, "Attention", "Erreur dans la récupération")
EndIf
Else
MsgBox(48, "Attention", "Veuillez sélectionner un élève")
EndIf
EndSwitch
WEnd