Page 1 sur 1
[R] Fermer une GUI après une action
Posté : mar. 01 juil. 2014 22:38
par jeanmimigab
Bonjour à tous(tes)
Je voudrais que ma GUI se ferme toute seule après avoir réalisée la création de dossier effectuée par ce script
le but est de créer un dossier "base" et un sous dossier dont le nom est tapé dans la zone input1, seulement j'aimerai que la GUI se ferme automatiquement juste après
j'ai beau tout essayé mais je doit passer à côté d'un truc lors de mes essais
ça doit pourtant être tout simple
merci d'avance pour votre aide
@++ JM
► Afficher le texte
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 519, 423, 168, 145)
$Input1 = GUICtrlCreateInput("", 112, 136, 241, 21)
$Button1 = GUICtrlCreateButton("Button1", 112, 240, 275, 81)
GUISetState(@SW_SHOW)
Main()
#EndRegion ### END Koda GUI section ###
Func Main()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$readinput = GUICtrlRead($Input1)
If $readinput = "" Then
DirCreate(@ScriptDir & '\base\' & $readinput)
Main()
Else
DirCreate(@ScriptDir & '\base\' & $readinput)
Main()
Exit
EndIf
EndSwitch
WEnd
EndFunc
Re: [..] Fermer une GUI après une action
Posté : mer. 02 juil. 2014 00:10
par orax
Quelques commentaires :
Code : Tout sélectionner
[…]
If $readinput = "" Then
; $readinput ne sert à rien, étant donné que la chaîne est vide.
DirCreate(@ScriptDir & '\base\' & $readinput)
; Aucun intéret de re-rentrer dans la fonction puisqu'il y a déjà une boucle While pour retourner au début.
Main()
Else
DirCreate(@ScriptDir & '\base\' & $readinput)
; Même chose...
Main()
; Le Exit ne sera jamais exécuté.
Exit
EndIf
[…]
Version corrigée :
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 519, 423, 168, 145)
$Input1 = GUICtrlCreateInput("", 112, 136, 241, 21)
$Button1 = GUICtrlCreateButton("Button1", 112, 240, 275, 81)
GUISetState(@SW_SHOW)
Main()
#EndRegion ### END Koda GUI section ###
Func Main()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$readinput = GUICtrlRead($Input1)
If $readinput <> "" Then
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $readinput = ' & $readinput & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
DirCreate(@ScriptDir & '\base\' & $readinput)
Exit
EndIf
EndSwitch
WEnd
EndFunc ;==>Main
Re: [..] Fermer une GUI après une action
Posté : mer. 02 juil. 2014 11:35
par TomAijerrie
Oui, ou un code comme celui-ci si il y a autre chose à exécuter après.
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 519, 423, 168, 145)
$Input1 = GUICtrlCreateInput("", 112, 136, 241, 21)
$Button1 = GUICtrlCreateButton("OK", 112, 240, 275, 81)
GUISetState(@SW_SHOW)
Main()
[color=#000000]MsgBox(0,"","Suite du code");Ici la suite du code[/color]
#EndRegion ### END Koda GUI section ###
Func Main()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$readinput = GUICtrlRead($Input1)
If $readinput <> "" Then
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $readinput = ' & $readinput & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
DirCreate(@ScriptDir & '\base\' & $readinput)
[color=#000000]GUIDelete($Form1)
Return[/color]
Else
MsgBox(48,"Attention","La zone de texte est vide...")
EndIf
EndSwitch
WEnd
EndFunc ;==>Main
Re: [..] Fermer une GUI après une action
Posté : mer. 02 juil. 2014 20:30
par jeanmimigab
Bonsoir Orax, TomAijerrie, et tlm
Cela fonctionne nickel, vous êtes des chef et en plus très pédagogue en apportant des réponses de grandes qualité.
Va falloir que je me replonge dans les tutos car avant je n'étais pas doué en Autoit, mais quelque mois sans coder et c'est la catastrophe
Merci beaucoup pour votre aide et peut-être à bientôt pour combler mes prochaines lacunes
@++ JM
Re: [..] Fermer une GUI après une action
Posté : mer. 02 juil. 2014 20:37
par TomAijerrie
De rien
N'oublie pas le [R] sur le premier post
jeanmimigab a écrit :mais quelque mois sans coder et c'est la catastrophe
en effet, je viens de passer à la version 3.3.12.0 et il y a déjà plein de nouveautés (une variable peut maintenant être une fonction, il faudra que je m’habitue...)
A+