[..] bug sur logiciel d'install auto
Posté : jeu. 24 janv. 2008 11:59
Bonjour, vu que je viens de vous retrouvé, je vous expose mon problème, c'est malheureusement assez aléatoire (d'où le titre assez peu clair xD), je pense que le bug viens de cette partie du code :
mais sans certitude, en gros par moment il me sort sur la msgbox de test une entrée vide... celà vous en l'air bien sur tout le reste du script... la ou sa se corse c'est que je suis quasi sur que sa m***** QUE quand [autoit]install($fichier)[/autoit] est validé... si je fait que le DL + le dézipage, j'ai pas l'impression de l'avoir (le bug)(quasi sur)... donc si les lanternes de vrai développeur pouvais m'éclairer :$
Je vous donne le code complet :
Cfg.ini :
log.ini :
Code : Tout sélectionner
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
;--------------------- Bouton install
Case $msg = $button_1
for $i = 1 to 42
If BitAnd(GuiCtrlRead(Eval("check" & $i)),$GUI_CHECKED) Then
$fichier = IniRead("log.ini",$i,"fichier","")
download($fichier)
unzip($fichier)
MsgBox(0,"test",$fichier)
install($fichier)
EndIf
Next
EndSelect
Wend
Je vous donne le code complet :
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.4.9
Author: ToMs/SurPriseS
Script Function:
Menu package auto.
#ce ----------------------------------------------------------------------------
; Script Start
#include <GUIConstants.au3>
#include <Date.au3>
;#NoTrayIcon
AutoItSetOption("TrayAutoPause",0)
AutoItSetOption("TrayIconDebug",1)
; GUI
GuiCreate("Speed Install - Design By ToMs - Code SurPriseS", 500, 470)
GUISetState (@SW_SHOW)
;picture
GuiCtrlCreatePic("logo.jpg",355,30, 120,40)
GUICtrlCreatelabel (_DateTimeFormat( _NowCalc(),2), 355,80)
;chkbox
$ini_titre1 = IniRead("titre.ini","1","titre","")
GUICtrlCreateGroup($ini_titre1, 10, 10, 150, 220)
$ini_ckeck1 = IniRead("log.ini","1","name","")
$check1 = GUICtrlCreateCheckbox ($ini_ckeck1, 20, 25, 120, 20)
$ini_ckeck2 = IniRead("log.ini","2","name","")
$check2 = GUICtrlCreateCheckbox ($ini_ckeck2, 20, 45, 120, 20)
$ini_ckeck3 = IniRead("log.ini","3","name","")
$check3 = GUICtrlCreateCheckbox ($ini_ckeck3, 20, 65, 120, 20)
$ini_ckeck4 = IniRead("log.ini","4","name","")
$check4 = GUICtrlCreateCheckbox ($ini_ckeck4, 20, 85, 120, 20)
$ini_ckeck5 = IniRead("log.ini","5","name","")
$check5 = GUICtrlCreateCheckbox ($ini_ckeck5, 20, 105, 120, 20)
$ini_ckeck6 = IniRead("log.ini","6","name","")
$check6 = GUICtrlCreateCheckbox ($ini_ckeck6, 20, 125, 120, 20)
$ini_ckeck7 = IniRead("log.ini","7","name","")
$check7 = GUICtrlCreateCheckbox ($ini_ckeck7, 20, 145, 120, 20)
$ini_ckeck8 = IniRead("log.ini","8","name","")
$check8 = GUICtrlCreateCheckbox ($ini_ckeck8, 20, 165, 120, 20)
$ini_ckeck9 = IniRead("log.ini","9","name","")
$check9 = GUICtrlCreateCheckbox ($ini_ckeck9, 20, 185, 120, 20)
$ini_ckeck10 = IniRead("log.ini","10","name","")
$check10 = GUICtrlCreateCheckbox ($ini_ckeck10, 20, 205, 120, 20)
$ini_titre2 = IniRead("titre.ini","2","titre","")
GUICtrlCreateGroup($ini_titre2, 170, 10, 150, 100)
$ini_ckeck11 = IniRead("log.ini","11","name","")
$check11 = GUICtrlCreateCheckbox ($ini_ckeck11, 180, 25, 120, 20)
$ini_ckeck12 = IniRead("log.ini","12","name","")
$check12 = GUICtrlCreateCheckbox ($ini_ckeck12, 180, 45, 120, 20)
$ini_ckeck13 = IniRead("log.ini","13","name","")
$check13 = GUICtrlCreateCheckbox ($ini_ckeck13, 180, 65, 120, 20)
$ini_ckeck14 = IniRead("log.ini","14","name","")
$check14 = GUICtrlCreateCheckbox ($ini_ckeck14, 180, 85, 120, 20)
$ini_titre3 = IniRead("titre.ini","3","titre","")
GUICtrlCreateGroup($ini_titre3, 170, 130, 150, 100)
$ini_ckeck15 = IniRead("log.ini","15","name","")
$check15 = GUICtrlCreateCheckbox ($ini_ckeck15, 180, 145, 120, 20)
$ini_ckeck16 = IniRead("log.ini","16","name","")
$check16 = GUICtrlCreateCheckbox ($ini_ckeck16, 180, 165, 120, 20)
$ini_ckeck17 = IniRead("log.ini","17","name","")
$check17 = GUICtrlCreateCheckbox ($ini_ckeck17, 180, 185, 120, 20)
$ini_ckeck18 = IniRead("log.ini","18","name","")
$check18 = GUICtrlCreateCheckbox ($ini_ckeck18, 180, 205, 120, 20)
$ini_titre4 = IniRead("titre.ini","4","titre","")
GUICtrlCreateGroup($ini_titre4, 330, 130, 150, 100)
$ini_ckeck19 = IniRead("log.ini","19","name","")
$check19 = GUICtrlCreateCheckbox ($ini_ckeck19, 340, 145, 120, 20)
$ini_ckeck20 = IniRead("log.ini","20","name","")
$check20 = GUICtrlCreateCheckbox ($ini_ckeck20, 340, 165, 120, 20)
$ini_ckeck21 = IniRead("log.ini","21","name","")
$check21 = GUICtrlCreateCheckbox ($ini_ckeck21, 340, 185, 120, 20)
$ini_ckeck22 = IniRead("log.ini","22","name","")
$check22 = GUICtrlCreateCheckbox ($ini_ckeck22, 340, 205, 120, 20)
$ini_titre5 = IniRead("titre.ini","5","titre","")
GUICtrlCreateGroup($ini_titre5, 10, 235, 470, 170)
$ini_ckeck23 = IniRead("log.ini","23","name","")
$check23 = GUICtrlCreateCheckbox ($ini_ckeck23, 20, 250, 120, 20)
$ini_ckeck24 = IniRead("log.ini","24","name","")
$check24 = GUICtrlCreateCheckbox ($ini_ckeck24, 20, 270, 120, 20)
$ini_ckeck25 = IniRead("log.ini","25","name","")
$check25 = GUICtrlCreateCheckbox ($ini_ckeck25, 20, 290, 120, 20)
$ini_ckeck26 = IniRead("log.ini","26","name","")
$check26 = GUICtrlCreateCheckbox ($ini_ckeck26, 20, 310, 120, 20)
$ini_ckeck27 = IniRead("log.ini","27","name","")
$check27 = GUICtrlCreateCheckbox ($ini_ckeck27, 20, 330, 120, 20)
$ini_ckeck28 = IniRead("log.ini","28","name","")
$check28 = GUICtrlCreateCheckbox ($ini_ckeck28, 20, 350, 120, 20)
$ini_ckeck29 = IniRead("log.ini","29","name","")
$check29 = GUICtrlCreateCheckbox ($ini_ckeck29, 20, 370, 120, 20)
$ini_ckeck30 = IniRead("log.ini","30","name","")
$check30 = GUICtrlCreateCheckbox ($ini_ckeck30, 180, 250, 120, 20)
$ini_ckeck31 = IniRead("log.ini","31","name","")
$check31 = GUICtrlCreateCheckbox ($ini_ckeck31, 180, 270, 120, 20)
$ini_ckeck32 = IniRead("log.ini","32","name","")
$check32 = GUICtrlCreateCheckbox ($ini_ckeck32, 180, 290, 120, 20)
$ini_ckeck33 = IniRead("log.ini","33","name","")
$check33 = GUICtrlCreateCheckbox ($ini_ckeck33, 180, 310, 120, 20)
$ini_ckeck34 = IniRead("log.ini","34","name","")
$check34 = GUICtrlCreateCheckbox ($ini_ckeck34, 180, 330, 120, 20)
$ini_ckeck35 = IniRead("log.ini","35","name","")
$check35 = GUICtrlCreateCheckbox ($ini_ckeck35, 180, 350, 120, 20)
$ini_ckeck36 = IniRead("log.ini","36","name","")
$check36 = GUICtrlCreateCheckbox ($ini_ckeck36, 180, 370, 120, 20)
$ini_ckeck37 = IniRead("log.ini","37","name","")
$check37 = GUICtrlCreateCheckbox ($ini_ckeck37, 340, 250, 120, 20)
$ini_ckeck38 = IniRead("log.ini","38","name","")
$check38 = GUICtrlCreateCheckbox ($ini_ckeck38, 340, 270, 120, 20)
$ini_ckeck39 = IniRead("log.ini","39","name","")
$check39 = GUICtrlCreateCheckbox ($ini_ckeck39, 340, 290, 120, 20)
$ini_ckeck40 = IniRead("log.ini","40","name","")
$check40 = GUICtrlCreateCheckbox ($ini_ckeck40, 340, 310, 120, 20)
$ini_ckeck41 = IniRead("log.ini","41","name","")
$check41 = GUICtrlCreateCheckbox ($ini_ckeck41, 340, 330, 120, 20)
$ini_ckeck42 = IniRead("log.ini","42","name","")
$check42 = GUICtrlCreateCheckbox ($ini_ckeck42, 340, 350, 120, 20)
;Bouton
$Button_1 = GUICtrlCreateButton ("Install", 200, 420, 100)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
;--------------------- Bouton install
Case $msg = $button_1
for $i = 1 to 42
If BitAnd(GuiCtrlRead(Eval("check" & $i)),$GUI_CHECKED) Then
$fichier = IniRead("log.ini",$i,"fichier","")
MsgBox(0,"test",$fichier)
download($fichier)
MsgBox(0,"test",$fichier)
unzip($fichier)
MsgBox(0,"test",$fichier)
install($fichier)
EndIf
Next
EndSelect
Wend
;-------------------------------------------------FONCTION :
;-------------------------Download :
Func download($fichier)
if FileExists($fichier) then FileDelete($fichier)
$proto = IniRead("cfg.ini","dl","protocole","")
$ip = IniRead("cfg.ini","dl","ip","")
$chemin = IniRead("cfg.ini","dl","chemin","")
$url = $proto & "://" & $ip & $chemin & $fichier
$cmd = "wget.exe " & $url
$affichage = " "
sleep(500)
$affichage = "Telechargement de " & $fichier
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
runwait($cmd,'',@SW_hide)
$affichage = "Téléchargement terminée "
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Téléchargement terminée ."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Téléchargement terminée .."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Téléchargement terminée ..."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
EndFunc
;-------------------------Unzip :
Func unzip($fichier)
$cmd2 = "7za.exe x -y " & $fichier
$affichage = " "
sleep(500)
$affichage = "Décompréssion de " & $fichier
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
runwait($cmd2,'',@SW_hide)
$affichage = "Décompréssion terminée "
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Décompréssion terminée ."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Décompréssion terminée .."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Décompréssion terminée ..."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
EndFunc
;-------------------------Install :
Func install($fichier)
MsgBox(0,"test",$fichier)
$fichier_noext = StringSplit($fichier,".")
MsgBox(0,"test",$fichier_noext[1])
$dossier = @ScriptDir & "\" & $fichier_noext[1]
MsgBox(0,"test",$dossier)
FileChangeDir($dossier)
$search = FileFindFirstFile("auto*.exe")
$file = FileFindNextFile($search)
MsgBox(0,"test",$file)
$affichage = " "
sleep(500)
$affichage = "Installation de " & $fichier
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
;RunWait($file)
$affichage = "Installation terminée "
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Installation terminée ."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Installation terminée .."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
sleep(500)
$affichage = "Installation terminée ..."
$check60 = GUICtrlCreateLabel($affichage, 200, 450)
EndFunc
;-------------------------_ShellEx :
Func _ShellEx($sCmd)
DllCall("shell32.dll", "long", "ShellExecute", "hwnd", 0, "string", '', "string", $sCmd, "string", '', "string", '', "long", @SW_SHOWNORMAL)
EndFunc ;==>_ShellEx
Cfg.ini :
Code : Tout sélectionner
[dl]
protocole=ftp
ip=192.168.0.100
chemin=/stock1/package_auto_5/
log.ini :
Code : Tout sélectionner
[1]
name=7zip
fichier=7zip.zip
[2]
name=acrobat reader
fichier=acrobat_reader.zip
[3]
name=avg
fichier=avg.zip
[4]
name=Java
fichier=Java.zip
[5]
name=maxicompte
fichier=maxicompte.zip
[6]
name=msn8
fichier=msn8.zip
[7]
name=nero
fichier=nero.zip
[8]
name=open office
fichier=open_office.zip
[9]
name=pcperso
fichier=pcperso.zip
[10]
name=PDFcreator
fichier=PDFcreator.zip
[11]
name=picasa
fichier=picasa.zip
[12]
name=vlc
fichier=vlc.zip
[13]
name=**********
fichier=
[14]
name=**********
fichier=
[15]
name=**********
fichier=
[16]
name=**********
fichier=
[17]
name=**********
fichier=
[18]
name=**********
fichier=
[19]
name=**********
fichier=
[20]
name=**********
fichier=
[21]
name=**********
fichier=
[22]
name=**********
fichier=
[23]
name=**********
fichier=
[24]
name=**********
fichier=
[25]
name=**********
fichier=
[26]
name=**********
fichier=
[27]
name=**********
fichier=
[28]
name=**********
fichier=
[29]
name=**********
fichier=
[30]
name=**********
fichier=
[31]
name=**********
fichier=
[32]
name=**********
fichier=
[33]
name=**********
fichier=
[34]
name=**********
fichier=
[35]
name=**********
fichier=
[36]
name=**********
fichier=
[37]
name=**********
fichier=
[38]
name=**********
fichier=
[39]
name=**********
fichier=
[40]
name=**********
fichier=
[41]
name=**********
fichier=
[42]
name=**********
fichier=