Page 1 sur 1

[R] Afficher le chemin d’un dossier dans un imputbox

Posté : jeu. 21 oct. 2010 19:40
par moustache
Bonjour je suis nouveau sur le forum Autoit. Je débute dans ce langage. Je suis entrain de me faire un programme qui compresse les fichiers html, PHP, css… pour les rendre illisibles sur le net. Fin vous voyer le code qui tien tout sur une ligne.

Bref sa fait déjà une semaine que je regarde les tutoriels Autoit et pour l’instant j’ai programmé sa a l’aide de kodak. Je bloque en ce moment sur le fait que j’aimerais que lorsque je sélectionne le dossier grâce au bouton parcourir le chemin s’affiche dans la case indiqué par la variable $destination. Mais je ne sais pas quelle fonction me permétré de faier sa et comment la structurer.

Comment remédier a ce problème ?

Voici mon code.

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$structure = GUICreate("", 695, 245)
$MenuItem1 = GUICtrlCreateMenu("&Langue")
$MenuItem3 = GUICtrlCreateMenuItem("Français", $MenuItem1)
$MenuItem2 = GUICtrlCreateMenu("&Aide")
$MenuItem5 = GUICtrlCreateMenuItem("FAQ", $MenuItem2)
$MenuItem4 = GUICtrlCreateMenuItem("Condition général", $MenuItem2)
$MenuItem6 = GUICtrlCreateMenuItem("A propos", $MenuItem2)
$gauche = GUICtrlCreateGroup("", 0, -8, 217, 249)
$texte = GUICtrlCreateLabel("Déposé ici vos fichiers à extension :", 8, 8, 211, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
$liste = GUICtrlCreateList("", 8, 48, 201, 175)
GUICtrlSetFont(-1, 8, 800, 0, "Verdana")
GUICtrlSetBkColor(-1, 0xFFFFE1)
$texte2 = GUICtrlCreateLabel("htm / html / css / js / php.", 8, 24, 152, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$droite = GUICtrlCreateGroup("", 216, -8, 497, 249)
$texte3 = GUICtrlCreateLabel("Sélectionné le dossier de destination des fichiers une foie la compression terminé.", 224, 8, 474, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
$barre = GUICtrlCreateProgress(225, 72, 465, 17)
$compression = GUICtrlCreateButton("Compression", 224, 96, 139, 49)
GUICtrlSetFont(-1, 12, 800, 0, "Verdana")
$texte4 = GUICtrlCreateLabel("Cliqué sur compression pour lancer la compression. ", 225, 51, 305, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
GUICtrlSetCursor (-1, 2)
$parcourir = GUICtrlCreateButton("Parcourir", 616, 24, 75, 20)
GUICtrlSetFont(-1, 8, 800, 0, "Verdana")
$destination = GUICtrlCreateInput("", 225, 24, 385, 21)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
GUICtrlSetBkColor(-1, 0xFFFFE1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $parcourir
FileSelectFolder("", "", "", $parcourir)

        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd

Re: [..] Afficher le chemin d’un dossier dans un imputbox

Posté : jeu. 21 oct. 2010 21:33
par Tlem
J'ai quelques doutes sur le fait que vous ayez lu la documentation de la commande FileSelectFolder, car il y est expliqué comment récupérer le résultat de la sélection. :roll:

Re: [..] Afficher le chemin d’un dossier dans un imputbox

Posté : ven. 22 oct. 2010 03:23
par bloodwolff
Bon je te l'aurais expliqué dans l'autre post mais je n'avais que quelques minutes et j'ai du y aller vite fais :!:

Pour votre connaissance personnelle car je doute que vous l'ayez lu :s
FileSelectFolder ( "dialog text", "root dir" [, flag [, "initial dir" [, hwnd]]] )
Ensuite On ne modifie pas les valeur des variables utilisé pour créé la Gui comme $parcourir car elles contiennent des données importante qui servent entre autre à pouvoir activer une fonction en cliquant sur un bouton de la fenêtre

Pour enregistrer le résultat de l'utilisateur , on utilise une variable comme $parcourir mais avec un autre nom ...

Donc sa donnerais

Code : Tout sélectionner

$variable= FileSelectFolder("Choisissez le dossier contenant les fichiers à compresser", "")
Pour mettre ce que l'utilisateur à choisis dans le champ input on utilise
GUICtrlSetData ( controlID, data [, default] )
Donc le script ressemblerais à

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$structure = GUICreate("", 695, 245)
$MenuItem1 = GUICtrlCreateMenu("&Langue")
$MenuItem3 = GUICtrlCreateMenuItem("Français", $MenuItem1)
$MenuItem2 = GUICtrlCreateMenu("&Aide")
$MenuItem5 = GUICtrlCreateMenuItem("FAQ", $MenuItem2)
$MenuItem4 = GUICtrlCreateMenuItem("Condition général", $MenuItem2)
$MenuItem6 = GUICtrlCreateMenuItem("A propos", $MenuItem2)
$gauche = GUICtrlCreateGroup("", 0, -8, 217, 249)
$texte = GUICtrlCreateLabel("Déposé ici vos fichiers à extension :", 8, 8, 211, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
$liste = GUICtrlCreateList("", 8, 48, 201, 175)
GUICtrlSetFont(-1, 8, 800, 0, "Verdana")
GUICtrlSetBkColor(-1, 0xFFFFE1)
$texte2 = GUICtrlCreateLabel("htm / html / css / js / php.", 8, 24, 152, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$droite = GUICtrlCreateGroup("", 216, -8, 497, 249)
$texte3 = GUICtrlCreateLabel("Sélectionné le dossier de destination des fichiers une foie la compression terminé.", 224, 8, 474, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
$barre = GUICtrlCreateProgress(225, 72, 465, 17)
$compression = GUICtrlCreateButton("Compression", 224, 96, 139, 49)
GUICtrlSetFont(-1, 12, 800, 0, "Verdana")
$texte4 = GUICtrlCreateLabel("Cliqué sur compression pour lancer la compression. ", 225, 51, 305, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
GUICtrlSetCursor (-1, 2)
$parcourir = GUICtrlCreateButton("Parcourir", 616, 24, 75, 20)
GUICtrlSetFont(-1, 8, 800, 0, "Verdana")
$destination = GUICtrlCreateInput("", 225, 24, 385, 21)
GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
GUICtrlSetBkColor(-1, 0xFFFFE1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $parcourir

 [color=#FF0000]       $variable= FileSelectFolder("Choisissez le dossier contenant les fichiers à compresser", "")
        GUICtrlSetData($destination,$variable)[/color]
        
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd
On pourrait aussi faire en 1 seule ligne

Code : Tout sélectionner

GUICtrlSetData($destination,FileSelectFolder("Choisissez le dossier contenant les fichiers à compresser", ""))

Re: [..] Afficher le chemin d’un dossier dans un imputbox  

Posté : ven. 22 oct. 2010 10:55
par moustache
Merci de ta réponsse bloodwolff, sa fonctionne ! Le problèmme est résolut.