[..] Liste déroulante

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
DidierDebutant
Niveau 1
Niveau 1
Messages : 2
Enregistré le : lun. 15 oct. 2012 14:17
Status : Hors ligne

[..] Liste déroulante

#1

Message par DidierDebutant »

Salut à tous,

Je m’intéresse depuis quelques temps à Autoit et jusqu'à maintenant j'ai fais des choses simples.
Aujourd'hui je suis coincé sur un truc un peu compliqué (pour moi en tout cas :lol: )

Je voudrais faire une liste déroulante, j'ai vu qu'il existe GUICtrlCreateCombo
Mais pour alimenter cette liste déroulante je voudrais utiliser des dossiers contenu dans un répertoire précis.
Pour être plus clair, j'ai un dossier "Client" et dedans j'ai "Client1" "Client2" "Client3" ....
Et donc dans ma liste je voudrais avoir la liste des clients.

J'ai essayé de chercher mais je n'ai rien trouvé, sans doute pas avec les bons mots clés.
Si vous avez des pistes je suis preneur :wink:

Merci,
Didier
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] Liste déroulante

#2

Message par FireFox »

Bonjour,
Pour modifier le contenu d'un contrôle, il faut que tu utilises la fonction GUICtrlSetData.

Example :

Code : Tout sélectionner

$myCombo = GUICtrlCreateCombo("", ...)
GUICtrlSetData($myCombo, "Client1|Client2")
 
Tu peux voir que | est le séparateur standart utilisé aussi pour d'autres controls comme la listview.

Oublie pas de vérifier le helpfile pour toutes ces fonctions ;)

Cdlt, FireFox.
Modifié en dernier par FireFox le sam. 21 sept. 2013 16:01, modifié 1 fois.
DidierDebutant
Niveau 1
Niveau 1
Messages : 2
Enregistré le : lun. 15 oct. 2012 14:17
Status : Hors ligne

Re: [..] Liste déroulante

#3

Message par DidierDebutant »

Pour le moment j'ai fais ca:
Attention c'est basique, mais j'avance doucement :lol:

Code : Tout sélectionner

#include <GUIConstantsEx.au3>

Example()

Func Example()
    Local $msg
    GUICreate("Liste des clients")

    GUICtrlCreateCombo("Listes des clients", 10, 10)
    GUICtrlSetData(-1, "Client1|Client2|Client3|Client4")
    $bouton_ok = GUICtrlCreateButton("OK", 40, 100)
    GUISetState()

    While 1
        $msg = GUIGetMsg()

        Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $bouton_ok
                MsgBox (48, "Test bouton OK", "Le bouton OK a été validé")

        EndSelect
    WEnd
EndFunc
Mais comment alimenter ma liste déroulante par un scan du dossier de mon disque dur?
En faite je veux que quand on crée un dossier ClientX, quand on lance l'appli Autoit ca l'ajoute automatiquement.
Et aussi comment faire pour que lorsqu'on clique sur OK ca prenne en compte le client selectionné dans la liste?

Je cherche de mon côté en même temps :mrgreen:
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] Liste déroulante

#4

Message par FireFox »

DidierDebutant a écrit :Pour le moment j'ai fais ca:
Mais comment alimenter ma liste déroulante par un scan du dossier de mon disque dur?
Pour ça tu dois utiliser les fonctions FileFindFirstFile, FileFindNextFile; OU _FileListToArray
et ensuite ajouter tous les fichiers listés par un GUICtrlSetData à la fin (car tu as mit le chemin des fichiers dans un tableau/array)
DidierDebutant a écrit : En faite je veux que quand on crée un dossier ClientX, quand on lance l'appli Autoit ca l'ajoute automatiquement.
Tu devras de toute manière relister tes fichiers pour savoir s'il y en a des nouveaux
DidierDebutant a écrit : Et aussi comment faire pour que lorsqu'on clique sur OK ca prenne en compte le client selectionné dans la liste?
Utilise la fonction GUICtrlRead

Cdlt, FireFox.
Répondre