Il ya un ordre à respecter :
1) tu crées les controles
2) tu leur attribues un contenu (en cochant un bouton radio ou en écrivant dans un input)
3) tu lis le contenu de ces controles dans des variables
4) tu concatènes ces variables pour construire le chemin
5) tu crées le dossier correspondant à ce chemin
Si tu zappes une étape ça ne marchera pas
Voilà un exemple
Code : Tout sélectionner
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$gui = GUICreate("Créer les dossiers de l'opération", 400, 400)
; Create a input text dossier racine.
$dossier_racine = GUICtrlCreateLabel("Dossier racine", 8, 8, 136, 17)
$dossier_racineinput = GUICtrlCreateInput("DICT", 8, 25, 380, 21)
; Create a radio control departement.
;$departement = GUICtrlCreateLabel("Département", 8, 50, 136, 17)
$departement = GUICtrlCreateGroup("Département", 5, 50, 165, 50)
GUIStartGroup()
Local $idRadio1 = GUICtrlCreateRadio("30 - Gard", 8, 70, 70, 20)
Local $idRadio2 = GUICtrlCreateRadio("34 - Hérault", 80, 70, 70, 20)
; Create a radio control type opération.
GUICtrlCreateLabel("Type opération", 8, 100, 136, 17)
GUIStartGroup()
Local $idRadio3 = GUICtrlCreateRadio("Diagnostic", 8, 120, 70, 20)
Local $idRadio4 = GUICtrlCreateRadio("Fouille", 80, 120, 70, 20)
; GUICtrlSetState($idRadio3, $GUI_CHECKED)
; Create a input text communes.
GUICtrlCreateLabel("Commune", 8, 150, 136, 17)
$dossier_communes = GUICtrlCreateInput("", 8, 170, 380, 21)
; Create a input text nom chantier.
GUICtrlCreateLabel("Nom chantier", 8, 200, 136, 17)
$nom_chantierinput = GUICtrlCreateInput("", 8, 220, 380, 21)
; Create a input text chemin du dossier à créer.
GUICtrlCreateLabel("Chemin du dossier à créer", 8, 251, 136, 17)
$chemininput = GUICtrlCreateInput("" ,8, 271, 380, 21)
$ok = GUICtrlCreateButton("dossier à créer",8,300,150,30)
$doss = GUICtrlCreateButton("créer le dossier",170,300,150,30)
GUISetState()
Global $departement, $operation, $chemin
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $idRadio1, $idRadio2
If GUICtrlRead($nMsg) = 1 Then $departement = StringLeft(GUICtrlRead($nMsg, 1), 2)
Case $idRadio3, $idRadio4
If GUICtrlRead($nMsg) = 1 Then $operation = GUICtrlRead($nMsg, 1)
Case $ok
$racine = GUICtrlRead($dossier_racineinput)
$commune = GUICtrlRead($dossier_communes)
$chantier = GUICtrlRead($nom_chantierinput)
If $racine <> "" and $departement <> "" and $operation <> "" and $commune <> "" Then
$chemin = $racine & "\" & $departement & "\" & $operation & "\" & $commune & "\" & $chantier
GuiCtrlSetData($chemininput, $chemin)
EndIf
Case $doss
If $chemin <> "" Then DirCreate($chemin)
EndSwitch
WEnd