[R] Problémes Fonctions Tout cocher
Posté : jeu. 11 juin 2009 08:55
par luffy43
Bonjour , j'ai un probléme avec deux fonctions qui ont la même "fonction" ( excusez moi le jeux de mot ).Je m'explique en fait je souhaite via une interface de checkbox installer plusieurs logiciels en fonction de ce que l'utilisateur coche.Par exemple il peut installer le logiciel fidu 2007 ou alors le 2008 ou le 2009 ou carrément les 3 via une autre checkbox "tout".Il peut faire la même chose avec un autre logiciel qui s'appelle SAGE : une partie une autre , ou les trois.Mais le probléme est que quand je veux installer tout sage , il m'installe tout fidu.Je dois donc avoir un probléme de fonction , j'ai bien chercher à modifier mais sans succés...( Les fonctions sont "checkallsage" et "checkallfidu")
Voici le code :
Voici le code :
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#include <GUIConstantsEx.au3>
#include <Array.au3>
Opt("GUIOnEventMode", 1)
;Declaration de l'array principale!!!
Dim $a_installer[14][2]=[["", ""], ["0", "Fidu 2007 + patchs.exe"], ["0", "Fidu 2008 + patchs.exe"], ["0", "Fidu 2009 + patchs.exe"], ["0", "SAGE-budget.exe"], ["0", "SAGE-création.exe"], ["0", "SAGE-évaluation.exe"], ["0", "Adobe Acrobat.exe"], ["0", "Java sun.exe"], ["0", "Installation de la machine virtuelle java microsoft 5.0.3810.exe"], ["0", "Installation de UltraVNC 1.0.2.exe"], ["0", "Internet Explorer v7.exe"], ["0", "Installation de NOD32.exe"], ["0", "Office 2000.exe"]]
; Si il y a plus de checkbox, remplacer le 14 par : (nombre de checkbox + 1)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; LOGO ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;GuiCtrlCreatePic("logo.jpeg",400,400, 120,40)
;GUICtrlCreatelabel (_DateTimeFormat( _NowCalc(),2), 355,80)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Parametres globaux de l'interface graphique (cadre entier) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$gui = GUICreate(" Gimac Software Installer V 1.0 ", 650, 550, 300, 37);751, 666, 300, 37
GUISetIcon("Data\autorun.ico")
GUISetOnEvent($GUI_EVENT_CLOSE, "quitter")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Placement et nom des boutons "Installer", "Quitter", "Documentation" et "A propos" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$installer = GUICtrlCreateButton(" Installer ", 500, 400, 75, 25, 0)
GUICtrlSetOnEvent( -1,"install")
$quitter = GUICtrlCreateButton(" Quitter ", 400, 400, 75, 25, 0)
GUICtrlSetOnEvent( -1,"quitter")
$documentation = GUICtrlCreateButton(" a propos ", 8, 450, 83, 25, 0)
GUICtrlSetOnEvent( -1,"documentation")
;$apropos = GUICtrlCreateButton("A propos", 696, 576, 51, 25, 0)
;GUICtrlSetOnEvent( -1,"apropos")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Placement et nom de la checkbox (cases à cocher) pour tout selectionner ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$checkall = GUICtrlCreateCheckbox("Tout cocher / Tout décoher", 104, 400, 177, 17)
GUICtrlSetOnEvent( -1,"allcheck")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Placement et nom de la checkbox (cases à cocher) pour tous les logiciels communs ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;$checkcommun = GUICtrlCreateCheckbox("Selectionner les logiciels communs", 408, 584, 209, 17)
;GUICtrlSetOnEvent( -1,"allcommun")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Placement et nom des CheckBox (cases à cocher) pour chaque logiciels ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$Group1 = GUICtrlCreateGroup("Fidu", 252, 0, 245, 150);252, 0, 245, 89
$check1 = GUICtrlCreateCheckbox("Fidu 2007 ", 264, 30, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check2= GUICtrlCreateCheckbox("Fidu 2008", 264, 60, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check3 = GUICtrlCreateCheckbox("Fidu 2009", 264, 90, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$checkallfidu = GUICtrlCreateCheckbox("Fidu-Tout", 264, 120, 97, 17)
GUICtrlSetOnEvent( -1,"allcheckfidu")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2= GUICtrlCreateGroup("SAGE", 252, 150, 245, 210);248, 376, 245, 177)
$check4 = GUICtrlCreateCheckbox("SAGE-budget", 264, 180, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check5 = GUICtrlCreateCheckbox("SAGE-création", 264, 210, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check6 = GUICtrlCreateCheckbox("SAGE-évaluation", 264, 240, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$checkallsage = GUICtrlCreateCheckbox("SAGE-Tout", 264, 270, 97, 17)
GUICtrlSetOnEvent( -1,"allchecksage")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Logiciels", 0, 0, 245, 361)
$check7 = GUICtrlCreateCheckbox("Adobe Acrobat Reader 8.12", 16, 30, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check8 = GUICtrlCreateCheckbox("Java Sun 1.6", 16, 60, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check9 = GUICtrlCreateCheckbox("Machine Java", 16, 90, 121, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check10 = GUICtrlCreateCheckbox("Ultra VNC", 16, 120, 137, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check11 = GUICtrlCreateCheckbox("Internet Explorer ", 16, 150, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check12 = GUICtrlCreateCheckbox("Nod 32", 16, 180, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
$check13 = GUICtrlCreateCheckbox("Office 2000", 16, 210, 97, 17)
GUICtrlSetOnEvent( -1,"checkbox")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GuiSetState ( )
While 1;Boucle infinie
Sleep(100)
WEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; LES FONCTIONS ;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La fonction "documentation" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func documentation()
ShellExecute("C:\Mes Documents\DATA\Procédure Auto\Interface\help.htm")
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La fonction "checkbox" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func checkbox()
Switch @GUI_CtrlId
Case $check1
If _Ischecked($check1) then
$a_installer[1][0] = "1"
Else
$a_installer[1][0] = "0"
EndIf
Case $check2
If _Ischecked($check2) then
$a_installer[2][0] = "1"
Else
$a_installer[2][0] = "0"
EndIf
Case $check3
If _Ischecked($check3) then
$a_installer[3][0] = "1"
Else
$a_installer[3][0] = "0"
EndIf
Case $check4
If _Ischecked($check4) then
$a_installer[4][0] = "1"
Else
$a_installer[4][0] = "0"
EndIf
Case $check5
If _Ischecked($check5) then
$a_installer[5][0] = "1"
Else
$a_installer[5][0] = "0"
EndIf
Case $check6
If _Ischecked($check6) then
$a_installer[6][0] = "1"
Else
$a_installer[6][0] = "0"
EndIf
Case $check7
If _Ischecked($check7) then
$a_installer[7][0] = "1"
Else
$a_installer[7][0] = "0"
EndIf
Case $check8
If _Ischecked($check8) then
$a_installer[8][0] = "1"
Else
$a_installer[8][0] = "0"
EndIf
Case $check9
If _Ischecked($check9) then
$a_installer[9][0] = "1"
Else
$a_installer[9][0] = "0"
EndIf
Case $check10
If _Ischecked($check10) then
$a_installer[10][0] = "1"
Else
$a_installer[10][0] = "0"
EndIf
Case $check11
If _Ischecked($check11) then
$a_installer[11][0] = "1"
Else
$a_installer[11][0] = "0"
EndIf
Case $check12
If _Ischecked($check12) then
$a_installer[12][0] = "1"
Else
$a_installer[12][0] = "0"
EndIf
Case $check13
If _Ischecked($check13) then
$a_installer[13][0] = "1"
Else
$a_installer[13][0] = "0"
EndIf
EndSwitch
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La fonction "allcheck" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func allcheck()
If _Ischecked($checkall) Then
;GUICtrlSetState($checkcommun,$GUI_UNCHECKED)
;GUICtrlSetState($checkcommun,$GUI_DISABLE)
Local $i
GUICtrlSetState($check1,$GUI_CHECKED)
GUICtrlSetState($check2,$GUI_CHECKED)
GUICtrlSetState($check3,$GUI_CHECKED)
GUICtrlSetState($check4,$GUI_CHECKED)
GUICtrlSetState($check5,$GUI_CHECKED)
GUICtrlSetState($check6,$GUI_CHECKED)
GUICtrlSetState($check7,$GUI_CHECKED)
GUICtrlSetState($check8,$GUI_CHECKED)
GUICtrlSetState($check9,$GUI_CHECKED)
GUICtrlSetState($check10,$GUI_CHECKED)
GUICtrlSetState($check11,$GUI_CHECKED)
GUICtrlSetState($check12,$GUI_CHECKED)
GUICtrlSetState($check13,$GUI_CHECKED)
For $i = 1 to Ubound($a_installer) - 1
$a_installer[$i][0] = "1"
Next
Else
Local $i
;GUICtrlSetState($checkcommun,$GUI_ENABLE)
GUICtrlSetState($check1,$GUI_UNCHECKED)
GUICtrlSetState($check2,$GUI_UNCHECKED)
GUICtrlSetState($check3,$GUI_UNCHECKED)
GUICtrlSetState($check4,$GUI_UNCHECKED)
GUICtrlSetState($check5,$GUI_UNCHECKED)
GUICtrlSetState($check6,$GUI_UNCHECKED)
GUICtrlSetState($check7,$GUI_UNCHECKED)
GUICtrlSetState($check8,$GUI_UNCHECKED)
GUICtrlSetState($check9,$GUI_UNCHECKED)
GUICtrlSetState($check10,$GUI_UNCHECKED)
GUICtrlSetState($check11,$GUI_UNCHECKED)
GUICtrlSetState($check12,$GUI_UNCHECKED)
GUICtrlSetState($check13,$GUI_UNCHECKED)
For $i = 1 to Ubound($a_installer) - 1
$a_installer[$i][0] = "0"
Next
EndIf
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La fonction "checkallsage" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func allchecksage()
If _Ischecked($checkallsage) Then
Local $i
GUICtrlSetState($check4,$GUI_CHECKED)
GUICtrlSetState($check5,$GUI_CHECKED)
GUICtrlSetState($check6,$GUI_CHECKED)
For $i = 1 to Ubound($a_installer) - 1
$a_installer[$i][0] = "1"
Next
Else
Local $i
GUICtrlSetState($check4,$GUI_UNCHECKED)
GUICtrlSetState($check5,$GUI_UNCHECKED)
GUICtrlSetState($check6,$GUI_UNCHECKED)
For $i = 1 to Ubound($a_installer) - 1
$a_installer[$i][0] = "0"
Next
EndIf
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La fonction "checkallfidu" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func allcheckfidu()
If _Ischecked($checkallfidu) Then
Local $i
GUICtrlSetState($check1,$GUI_CHECKED)
GUICtrlSetState($check2,$GUI_CHECKED)
GUICtrlSetState($check3,$GUI_CHECKED)
For $i = 1 to Ubound($a_installer) - 1
$a_installer[$i][0] = "1"
Next
Else
Local $i
GUICtrlSetState($check1,$GUI_UNCHECKED)
GUICtrlSetState($check2,$GUI_UNCHECKED)
GUICtrlSetState($check3,$GUI_UNCHECKED)
For $i = 1 to Ubound($a_installer) - 1
$a_installer[$i][0] = "0"
Next
EndIf
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La fonction "install" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func install()
Local $i
For $i = 1 to Ubound($a_installer)-1
If $a_installer[$i][0] = "1" then
RunWait( @ScriptDir &"\"&$a_installer[$i][1]);\Data\scripts\
;MsgBox(0,"",$a_installer[$i][1])
EndIf
Next
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La fonction "SpecialEvents" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func quitter()
Exit
EndFunc ;==>SpecialEvents
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; La fonction "Ischecked" ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func _Ischecked($control)
Return BitAND(GUICtrlRead($control), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>_IsChecked