Bonjour à tous,
Voici un moment que je ne suis pas venu écrire sur le forum....
Davyly : désolé je n'avais pas pu voir ton message sinon je t'aurais bien évidemment donné mon script avec plaisir.
Je n'ai pas eu le temps de me remettre sur ma petite suite de logiciels, je m'en servait déjà mais je n'ai pas pu la donner à d'autres personnes car je la trouvait trop complexe si l'on voulais changer des application et surtout pas assez "silencieuse".
J'ai commencé à refaire mes scripts d'installation pour les logiciels à installer en installation silencieuse. Maintenant j'aimerais modifier un peu ma la façon de gérer le tout.
Je voudrais garder la même GUI mais en l'adaptant un peu comme l'a fait "Surprises" avec les fichiers INI.
J'ai commencé à modifier mon code en prenant des morceau du siens
J'ai donc les fichier titre.ini et log.ini, ma gui reconnais bien les noms de fichier et les titres.
Pour la déclaration de l'array principale j'ai changé ceci :
Code : Tout sélectionner
;Declaration de l'array principale!!!
Dim $a_installer[43][2]=[["", ""], ["0", "7zip.exe"], ["0", "AutoIt.exe"], ["0", "AveIcon2.exe"], ["0", "Camstudio.exe"], ["0", "Codec_Camstudio"], ["0", "CCleaner.exe"], ["0", "Cobian_Backup.exe"], ["0", "Dial_A_Fix.exe"], ["0", "Firefox.exe"], ["0", "Flash_Mozilla.exe"], ["0", "Flash_IE.exe"], ["0", "Foxit_Reader.exe"], ["0", "Full_Sync.exe"], ["0", "The_Gimp.exe"], ["0", "IP_Scan.exe"], ["0", "Java.exe"], ["0", "Lupas_Rename.exe"], ["0", "Magic_IP.exe"], ["0", "Norton_Antivirus.exe"], ["0", "Koda.exe"], ["0", "NX.exe"], ["0", "Open_Office.exe"], ["0", "PC_Inspector_File_Recovery.exe"], ["0", "PDF_Creator.exe"], ["0", "Photofiltre.exe"], ["0", "Putty_SSH.exe"], ["0", "R.exe"], ["0", "Rep_Listing.exe"], ["0", "Super_Copier.exe"], ["0", "Super_Scan.exe"], ["0", "Tex_Maker.exe"], ["0", "Thunderbird.exe"], ["0", "TightVNC.exe"], ["0", "UltraVNC.exe"], ["0", "VLC.exe"], ["0", "VSo_Image_Resizer.exe"], ["0", "Win2000_Plain_Password.exe"], ["0", "WireShark.exe"], ["0", "XMing.exe"], ["0", "XMing_fonts.exe"], ["0", "SciLab.exe"], ["0", "Kompozer.exe"]]
; Si il y a plus de checkbox, remplacer le 42 par : (nombre de checkbox + 1)
avec ceci :
Code : Tout sélectionner
Dim $a_installer[43]
for $i = 0 to 42
$a_installer[$i]=IniRead("log.ini",$i+1,"fichier","")
Next
J'ai remplacé mes checkbox:
Code : Tout sélectionner
$Group7 = GUICtrlCreateGroup("Programmation", -4, 448, 245, 105)
$check2 = GUICtrlCreateCheckbox("AutoIt", 16, 480, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check20 = GUICtrlCreateCheckbox("Koda", 16, 510, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
GUICtrlCreateGroup("", -99, -99, 1, 1)
Par :
Code : Tout sélectionner
$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)
Puis j'ai modifié les fonction (car j'avais des erreurs lors de l'ouverture de la GUI) :
Code : Tout sélectionner
Func checkbox()
Switch @GUI_CtrlId
Case $check1
If _Ischecked($check1) then
$a_installer[1][0] = "1"
Else
$a_installer[1][0] = "0"
EndIf
Par :
Code : Tout sélectionner
Func checkbox()
Switch @GUI_CtrlId
Case $check1
If _Ischecked($check1) then
$a_installer[1] = "1"
Else
$a_installer[1] = "0"
EndIf
La ou je suis perdu c'est au niveau de la fonction install .... j'avoue que ça fait longtemps (trop) que je ne m'était pas mis à AutoIT et je suis complètement paumé..... (c'est pas vraiment comme le vélo ....

)
J'ai mis ceci (je sais c'est du pif....
):
Code : Tout sélectionner
Func install()
for $i = 1 to 42
If BitAnd(GuiCtrlRead(Eval("check" & $i)),$GUI_CHECKED) Then
$fichier = $a_installer[$i-1]
;$fichier=GuiCtrlRead(Eval("check" & $i),1)
ConsoleWrite("iniread fichier "&$i&" "&$fichier&@CRLF)
EndIf
Next
Local $i
For $i = 1 to 42
If $a_installer[$i] = "1" then
RunWait( @ScriptDir &"\Bin\"&$fichier)
;MsgBox(0,"",$a_installer[$i][1])
EndIf
Next
EndFunc
Le problème est que quand je clic sur une checkbox et que je fais installer je n'ai aucun résultat à part ceci (quand je lance depuis scite):
Si une âme charitable voudrais bien me rafraichir la mémoire et m'aider un petit peu, je sent que je ne suis pas très loin mais je sent aussi que je suis largué
Merci d'avance.