Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <array.au3>
Opt("GUIOnEventMode", 1)
;Déclaration des variables
global $inifile
$inifile = @ScriptDir & "\fichier.ini"
Dim $a_telecharge[4][1]
Global $Gestion = GUICreate("Récupération du fichier CD-AFI-WEB.zip", 600, 600, 600, 600)
GUISetOnEvent($GUI_EVENT_CLOSE, "Quitter")
Global $Options = GUICtrlCreateMenu("&Options")
Global $Telecharger = GUICtrlCreateMenuItem("Télécharger", $Options)
GUICtrlSetOnEvent( -1,"telechargeProgress")
Global $Quitter = GUICtrlCreateMenuItem("Quitter", $Options)
GUICtrlSetOnEvent( -1,"Quitter")
Global $telecharger_1 = GUICtrlCreateButton("Télécharger", 160, 52, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent( -1,"telechargeProgress")
Global $quitter_1 = GUICtrlCreateButton("Quitter", 160, 90, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent( -1,"quitter")
Global $Group1 = GUICtrlCreateGroup("Cocher la case puis cliquez sur Télécharger", 8, 10, 129, 135)
Global $fichier1 = GUICtrlCreateCheckbox("CD-AFI-WEB.zip", 24, 114, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Global $progressbar = GUICtrlCreateProgress(10, 144, 232, 20)
Global $Gestion_AccelTable[1][2] = [["^!+{5 (PAVE NUM.)}", $Quitter]]
GUISetAccelerators($Gestion_AccelTable)
GUISetState(@SW_SHOW)
;Fin des déclarations
Func checkbox()
Switch @GUI_CtrlId
Case $fichier1
If _Ischecked($fichier1) then
$a_telecharge[3][0] = "1"
Else
$a_telecharge[3][0] = "0"
EndIf
EndSwitch
EndFunc
Func telechargeProgress()
$proto_ftp=IniRead($inifile, "[section]", "protocole", "ftp")
$url_ftp=IniRead($inifile, "[section]", "source", "site_ftp.fr")
$user_ftp=IniRead($inifile, "[section]", "user" , "utilisateur")
$mdp_ftp=IniRead($inifile, "[section]", "mdp", "mot_de_passe")
$source_ftp=IniRead($inifile, "[section]", "chemin_source", "dossier.zip")
$desti_ftp=IniRead($inifile, "[section]", "chemin_destination", "_SOURCES_machin")
$Statut_Checkbox3 = GUICtrlRead($fichier1)
If $Statut_Checkbox3 = "1" Then
$SizeFile=InetGetSize($proto_ftp & ":" & "/" & "/" & $user_ftp & ":" & $mdp_ftp & "@" & $url_ftp & "/" & $source_ftp)
$hDownload=InetGet($proto_ftp & ":" & "/" & "/" & $user_ftp & ":" & $mdp_ftp & "@" & $url_ftp & "/" & $source_ftp & "," & @HomeDrive & $desti_ftp, 1,1)
EndIf
Do
Sleep(250)
$info=InetGetInfo($hDownload)
_SetProgress($progressbar, $info[1], $info[0])
Until $info[2]
MsgBox(64, "téléchargement fichier", "Fin du téléchargement")
ProcessClose("dossier.zip")
EndFunc
Func _SetProgress($ctrlId,$SizeFile,$SizeDownload)
GUICtrlSetData($ctrlId,Int(($sizeDownload/$SizeFile)*100))
EndFunc
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func quitter()
Exit
EndFunc
Func _Ischecked($control)
Return BitAND(GUICtrlRead($control), $GUI_CHECKED) = $GUI_CHECKED
EndFunc
;A ce niveau, j'aimerais décompresser le dossier compressé mais je n'arrive pas à le faire (sachant que j'ai cherché toutes les solutions possibles sur Internet), pouvez-vous m'aider s'il vous plait ?
ShellExecute ( "Install.exe", "", @HomeDrive & "\_SOURCES_machin\CD-machin-WEB2\CD-machin-WEB2", "open" )