[..] Installation de suite logiciels selon checkbox

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Seth
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 déc. 2008 08:28
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#21

Message par Seth »

Attention, j'ai passé la nuit dessus, j'ai posté comme un fou, et maintenant je ne sais pas comment les effacés, alors je vais les editer avec 0 texte, ça raccourcira!!
Modifié en dernier par Seth le mar. 02 déc. 2008 06:20, modifié 2 fois.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#22

Message par timmalos »

Regarde bien mon script... Les changements sont fait lors de la creation de chaque checkbox, on ajoute un parametre, qui en fait va faire que chaque checkbox peut prendre 3 etats differerents, on se sert du 3eme etat pour afficher la description de chaque programme.

La fonction checkbox sert a assigner a une variable 0 ou 1 en fonction du choix de l'utilisateur, quand on cree un echeckbox, on lui asigne une variable, ici Check1 qui correspond à un HANDLE d'un objet, qu'on va utiliser par exemple avec GUictrlread, qui lui va te donner si Check1 est Chécké ou non.


J'ai pas vraiment regardé, mais en passant par un assignement dinamyque de variable, avec Assign et Eval, on pourrait je pense raccourcir considerablement le script.
Seth
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 déc. 2008 08:28
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#23

Message par Seth »

Il y a un nombre de caractère minimum...
Modifié en dernier par Seth le mar. 02 déc. 2008 06:22, modifié 1 fois.
Seth
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 déc. 2008 08:28
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#24

Message par Seth »

Nombre de caractere minimum...
Modifié en dernier par Seth le mar. 02 déc. 2008 06:24, modifié 1 fois.
Seth
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 déc. 2008 08:28
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#25

Message par Seth »

Edit x 49 ( j'incrémente, ça vous donne une idée du nombre de questions que je pose, résouts, nouvelles questions etc...) mais ici celles ou je bloque vraiment.
Certaines questions je suppose simple, certaine moins...
---------------------------------------------------------------------------------------------
- J'ai fait un tree avec treeview et j'y ai ajouté des checkboxs avec $TVS_CHECKBOXES.
Seulement voila : quand je sélectionne un parent, les "enfants" ne se sélectionnes pas. J'ai l'habitude des parents qui, sélectionné, sélectionne tout leur enfants, deselectionné, les deselectionne tous, et qui se grise quand une partie de leur enfants seulement sont sélectionnés ( exemple avec l'image) Et la je bloque... faut-il faire une fonction?
---------------------------------------------------------------------------------------------
- J'ai mon treeview, et quand on sélectionne un élément ça affiche une information de cette maniere :

Code : Tout sélectionner

Case $msg = $tab[0]
GUICtrlCreateLabel($name[0], 350, 20 , 50, 20) 
Case $msg = $tab[8]
    GUICtrlCreateLabel($name[8], 350, 20 , 50, 20)
Je souhaiterais remplacer le "0" et le "8" par une variable par un X, un genre de variable qui dirait:

Code : Tout sélectionner

Case $msg = $tab[$X], 
     GUICtrlCreateLabel($name[$X], 350, 20 , 50, 20)
Pour que cela fonctionne avec n'importe quel chiffre
mais quand je le fait avec une variable comme $name[$X] ça ne marche pour le premier élément ( $name[0]) bien que quand je declare $X, je ne dise pas $X = 0.
Des idées ou besoin de précision??
---------------------------------------------------------------------------------------------
On est Vendredi , 5h30 duu mat... je suis sur ce logiciel depuis lundi 3 AM, et il est fonctionnel depuis lundi 15h, seulement depuis j'y ai ajouté un treeview et une multitude de chose, trop longue pour etre enuméré ici, dans le but de creer un autoinstalleur evolutif, que chacun pourrait modifier selon ses preferences en editant simplement des ini et des txt. Je suis actuellement dans la phase "le plus gros bug, c'est l'etre humain" et envisage chaque cas pour y mettre des garde fous. Mon cerveau commence a bruler alors je fait une pose de quelques jours.
Les questions ci dessus sont des questions auquels je ne trouve reelement pas de reponses, alors vous pouvez pas savoir comme je compte sur votre aide!!!
Je remercie infiniment tout ceux qui pourrait aider
Vivien
Fichiers joints
Result2.jpg
Seth
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 déc. 2008 08:28
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#26

Message par Seth »

Et enfin, un UP. J'ai lu que c'était permis une fois, alors je profite de cette pose pour espérer que quelqu'un connait la solution à mon problème.
Merci 1000 fois!!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#27

Message par Tlem »

Essayez de voir si vous pouvez vous inspiré de ce code : http://www.autoitscript.com/forum/index ... opic=80747

Edit : J'avais pas vu, mais ca existe tout fait. :shock:
http://www.autoitscript.com/forum/index ... t&p=579730
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
cedric
Niveau 2
Niveau 2
Messages : 27
Enregistré le : jeu. 28 févr. 2008 14:22
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#28

Message par cedric »

Bonjour à tous !
Me voici de retour après plusieurs mois d'absence.... et oui encore de gros projet (mise en place d'un contrôleur de domaine samba/LDAP, plus mise à niveau de mes autre serveur....bref pas eu trop le temps de venir tous vous remercier pour votre aide). Aujourd'hui c'est dimanche et j'ai décidé d'arrêter de bosser le dimanche... faut pas déconner quand même.
Et me voici avec l'agréable surprise que mon post à interessé quand même pas mal de personnes.
Timmalos comme vous me l'avez demandé, je vous envoie les scripts (peut-être pas très bien fait, je pense....), je vous envoie le lien ou vous pourrez le prendre par MP. Aujourd'hui j'ai presque 100 checkbox donc le script fait pas mal de ligne.
Surprises : J'ai regardé votre script, hélas comme je n'ai pas eu beaucoup de temps pour me remettre sur autoit, il va falloir que je reregarde de plus près.... mais dans tout les cas merci beaucoup.

Bonne journée à tous.
benzo
Niveau 4
Niveau 4
Messages : 60
Enregistré le : mar. 07 août 2007 07:45
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#29

Message par benzo »

bonjour à tous,

Désolé pour l'exhumation du post , mais je me suis fortement inspiré du script de Cédric pour l'install de logiciels à partir de checkbox. Lorsque je clique sur le bouton "installer", les scripts qui correspondent aux checkboxs cochées sont exécutés 2 fois d'affilée au lieu d'1 seule fois!! help please :cry: Problème de boucle ?
► Afficher le texte
Modifié en dernier par benzo le ven. 06 févr. 2009 18:14, modifié 1 fois.
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#30

Message par Voodoo »

Je l'ai exécuté et sa ne s'exécute bien qu'une seule fois chez moi...
benzo
Niveau 4
Niveau 4
Messages : 60
Enregistré le : mar. 07 août 2007 07:45
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#31

Message par benzo »

merci pour la réponse rapide.
effectivement chez moi ca fonctionne correctement mais j'ai une version différente d'Autoit que celle que j'aie au travail.Est ce que ca peut avoir une incidence :?:
cedric
Niveau 2
Niveau 2
Messages : 27
Enregistré le : jeu. 28 févr. 2008 14:22
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#32

Message par cedric »

Bonjour,

Avez-vous compilez le script pour essayer ?
Je ne pense pas que la version ai un rapport (mais je ne suis pas expert).
Davyly
Niveau 3
Niveau 3
Messages : 31
Enregistré le : dim. 08 févr. 2009 23:25
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#33

Message par Davyly »

Bonsoir,
Cedric on me demande de faire un programme dans le meme style que le tien. Peux-tu aussi m'envoyer tes fichiers script STP ? Ce sera vraiment sympa et un très bon début pour moi, pour commencer. Je débute aussi ...
Merci. bonne soirée
cedric
Niveau 2
Niveau 2
Messages : 27
Enregistré le : jeu. 28 févr. 2008 14:22
Status : Hors ligne

Re: [..] Installation de suite logiciels selon checkbox

#34

Message par cedric »

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 :oops:
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 .... :D )


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):

Code : Tout sélectionner

iniread fichier 1 7Zip.exe
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é :D

Merci d'avance.
Répondre