[..] GUI avec sélection de checkbox pour un menu d'install

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
izarra64
Niveau 1
Niveau 1
Messages : 6
Enregistré le : jeu. 18 oct. 2012 09:23
Status : Hors ligne

[..] GUI avec sélection de checkbox pour un menu d'install

#1

Message par izarra64 »

Bonjour à tous !
Alors voilà, j'aurais eu besoin de préparer un script rapidement pour proposer une liste d'application à installer (une trentaine) à partir d'une interface/menu.
en gros, ce que je souhaite faire est :
- à partir d'un tableau,ou d'un fichier .ini, ou encore mieux de la liste des sous dossiers, récupérer l'ensemble des noms des applications à proposer en installation
- chaque application est classée dans un sous dossier contenant un fichier install.cmd qui peut installer l'application du sous-dossier en cours en mode silcencieux (j'ai donc 30 sous dossiers avec dans chacun un install.cmd)
- Dans une fenêtre unique (GUI) afficher pour chaque entrée (chaque sous dossier lus ou récupérés) une checkbox avec le nom de l'application
- positionner par défaut, la coche dans quelques unes de ces applications
- Plus bas dans la GUI, proposer une checkbox pour cocher automatiquement une partie de plusieurs de ces applis.
par défaut
- et bien sur, porposer un Bouton VALIDER qui se chargera alors de lancer le install.cmd pour chaque application qui aura été cochée !

A titre d'exemple : on affiche sans règles particulières les 30 noms d'applications disponibles
En bas de la GUI, on affiche une CheckBox qui sera censée cocher/décocher les 4 applis ci dessous
App1=7zip
App2=VLC
App7=CCleaner
App8=FlashPlayer

En bas de la GUI, on affiche une CheckBox qui sera censée cocher/décocher les applis ci dessous (genre de groupe)
App11=CamStudio
App12=OpenOffice

En bas de la GUI, on affiche une CheckBox qui sera censée cocher/décocher les applis ci dessous (genre de groupe)
App21=Winamp
App22=Audacity

Aussi, une option de pouvoir Tout cocher/décocher

Certain de votre expérience sans faille, je suis sûr que cela devrait pouvoir se faire ?
Merci d'avance !
Bonne journée !!
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] GUI avec sélection de checkbox pour un menu d'insta

#2

Message par mikell »

Ce que je te propose là c'est une base de script, facile à adapter
L'idée : tu as des dossiers appelés app1, app2, app3 ... etc, avec dans chacun un fichier install.cmd et un fichier nom_du_soft_à_installer.exe

Le script compte d'abord les dossiers, adapte la taille de la gui à ce nombre, et crée les checkbox
Ensuite il crée une array 2D, où il stocke les infos des checkbox (ID de la chkb et nom du dossier correspondant)
Le bouton "valider" lit les checkbox, puis crée une 2ème array qui ne contient que les infos des checkbox cochées
Cette 2ème array est ensuite utilisée par la fonction d'installation
► Afficher le texte
Manque juste la gestion d'erreur
Faire des groupes ne présente guère d'intérêt puisqu'il y a les checkbox, mais si tu veux les faire quand même c'est pas difficile à rajouter au script, suffit de prendre modèle sur le 'Case $check_all' , exemple :
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
izarra64
Niveau 1
Niveau 1
Messages : 6
Enregistré le : jeu. 18 oct. 2012 09:23
Status : Hors ligne

Re: [..] GUI avec sélection de checkbox pour un menu d'insta

#3

Message par izarra64 »

Salut Mikell
un seul mot ! MERCI !
C top, c'est exactement ce que je voulais !
j'ai adapté un peu ton script pour qu'il ne m'affiche que le nom des dossiers au lieu de l'exe qui s'y trouve
surtout que je peux y avoir aussi des MSI !
Donc c'est top !! trop content !!
je vais maintenant voir comment adapter un peu mieux la mise en forme, vu que j'ai plusieurs dizaines d'applis (jusque 40) et dans une seule liste/colonne, on ne voit pas toutes les options !!
je vais essayer de faire un compteur pour affecter la GUI en paquet de 15 lignes par colonnes MAX !
Et rajouter une checkbox de groupe par colonne (ça sera plus facile à lire pour le user final)

dernière question peut être stp !
plutot que de lire les dossiers en cours, quel moyen le plus simple/rapide pourrais je utiliser pour afficher les choix et construire les checkbox en passant par un fichier (INI ou autre)
cela me permettrait de ne plus gérer que ce fichier INI et le script passé en EXE marcherait dans n'importe quel cas de figure !
chaque ligne d'application contient en premier le nom du dossier dans lequel se trouve le install.cmd
ainsi que le numéro de version
et j'aimerais alors que la checkbbox affiche le Nom du dossier, ainsi que la version !
je pensais à quelque chose comme ça ci dessous
pourrais tu m'indiquer comment lire ce fichier au plus simple afin d'en affecter le contenu dans les tableaux dans le script ?
► Afficher le texte
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] GUI avec sélection de checkbox pour un menu d'insta

#4

Message par mikell »

Utiliser un ini est évidemment possible (les fonctions ini d'autoit sont simples), mais comme tu vas le voir, utiliser un ini + le fait de classer les softs par groupes = modifs conséquentes du script
Le script est toujours aussi souple mais un brin plus compliqué, faut pas se perdre dans les arrays et les boucles For Image
Si tu t'y perds je te commenterai le script
Tu remarqueras qu'on laisse complètement tomber le _FileListToArray

Ton cahier des charges est un peu flou concernant l'arborescence dossier/fichiers à cibler, donc j'utilise dans cet exemple des dossiers de la forme 7zip\install.cmd, Audacity\install.cmd, etc

Pour le ini, mettre le titre de la gui dedans ne présente aucun intérêt, et avec une syntaxe correcte ça donne ça (dans les groupes, les clés doivent avoir le même nom que le dossier correspondant)
► Afficher le texteConfig.ini
Enfin, pour le problème de taille de gui, comme j'avais ça sous la main je te propose une solution élégante, la barre de scroll
Le script :
► Afficher le texte
Là encore, manque juste la gestion d'erreur
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Izarra4autoit
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mar. 21 mai 2013 16:08
Status : Hors ligne

Re: [..] GUI avec sélection de checkbox pour un menu d'insta

#5

Message par Izarra4autoit »

Bonjour Mikell !

Après plusieurs mois d'utilisation de la dernière modification du script - merci encore !
je voudrais maintenant aller un peu plus loin car j'ai maintenant une quarantaine de softs à prendre en compte
l'utilisation du fichier INI est parfaite
je me sens beaucoup moins à l'ise avec le scrolling et j'aimerais modifier ce dernier script de la manière suivante
- afficher une GUI prenant 80% de la taille de l'écran
- créer 5 colonnes pouvant contenir chacune 20 options/lignes maxi
- ce qui me fera gérer 5 groupes (chacun avec 20 options max)
- sans barre de scrolling
- et bien sur, toujours le même mode op (a chaque sous dossier correspond un install.cmd) ca marche nickel

j'ai du mal à définir l'emplacement d'affichage de chaque colonne !
pourrais tu m'y aider ?
merci !! :)
Répondre