[R] impossible de quitter une fontion

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
jeanmimigab
Niveau 5
Niveau 5
Messages : 123
Enregistré le : sam. 08 oct. 2011 14:01
Status : Hors ligne

[R] impossible de quitter une fontion

#1

Message par jeanmimigab »

Bonsoir tlm, :D

Une fois n'est pas coutume je bug sur un petit problème...
Dans le code ci-dessous, je lance un chronomètre dans la GUI en cliquant sur le bouton 1, jusque là tout va bien !
Ce que je n'arrive pas à faire c'est quitter/fermer la GUI en cliquant sur le bouton 2 si possible.
je ne vois pas trop comment faire donc votre aide sera la bienvenue.
Merci d'avance :wink:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3>
#Region ### START Koda GUI section ### Form=Form3.kxf
Dim $Ver = "Durée de l'appel"
$Form1 = GUICreate("Tel' Stats", 329, 249, 298, 189)
$MenuItem1 = GUICtrlCreateMenu("Réglages")
$MenuItem2 = GUICtrlCreateMenuItem("Ajouter un service", $MenuItem1)
$MenuItem3 = GUICtrlCreateMenuItem("Ajouter un agent", $MenuItem1)
$MenuItem4 = GUICtrlCreateMenuItem("Ajouter un commentaire", $MenuItem1)
$MenuItem5 = GUICtrlCreateMenuItem("Visualiser le rapport d'activité", $MenuItem1)
GUISetBkColor(0xFFFFFF)
$Button1 = GUICtrlCreateButton("Button1", 8, 56, 80, 80, $BS_BITMAP)
GUICtrlSetImage(-1, @ScriptDir &"\IMG\on.bmp", -1)
$Button2 = GUICtrlCreateButton("Button2", 240, 56, 80, 80, $BS_BITMAP)
GUICtrlSetImage(-1, @ScriptDir &"\IMG\off.bmp", -1)
$Combo1 = GUICtrlCreateCombo("SERVICE", 112, 88, 105, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$AGENT = GUICtrlCreateCombo("AGENT", 112, 112, 105, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo3 = GUICtrlCreateCombo("RAISON DE L'APPEL", 8, 152, 313, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Pic1 = GUICtrlCreatePic(@ScriptDir &"\IMG\1.jpg", 8, 184, 90, 35)
$Pic2 = GUICtrlCreatePic(@ScriptDir &"\IMG\2.jpg", 248, 184, 70, 41)
$Pic3 = GUICtrlCreatePic(@ScriptDir &"\IMG\3.JPG", 24, 16, 277, 28)
$Label1 = GUICtrlCreateLabel( $Ver, 120, 60, 100 )
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
     $msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $Button1
   _Chrono()
Case $msg = $Button2
   _Exit()
EndSelect
WEnd

Func _Chrono()
For $i = 0 To 86400; max. 24h
   $Time = _DateAdd ( "s", $i, "2000/01/01 00:00:00" )
   $Dif = StringSplit ( $Time, " " )
GUICtrlSetData ( $Label1, $Dif[2] )
Sleep( 1000 )
Next
Exit
EndFunc

Func _Exit()
Exit
EndFunc
Modifié en dernier par jeanmimigab le sam. 04 mars 2017 07:56, modifié 1 fois.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] impossible de quitter une fontion

#2

Message par walkson »

Bonsoir,
Peut être comme ça ?
#include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #Region ### START Koda GUI section ### Form=Form3.kxf
   Global $_exit = 0
    Dim $Ver = "Durée de l'appel"
    $Form1 = GUICreate("Tel' Stats", 329, 249, 298, 189)
    $MenuItem1 = GUICtrlCreateMenu("Réglages")
    $MenuItem2 = GUICtrlCreateMenuItem("Ajouter un service", $MenuItem1)
    $MenuItem3 = GUICtrlCreateMenuItem("Ajouter un agent", $MenuItem1)
    $MenuItem4 = GUICtrlCreateMenuItem("Ajouter un commentaire", $MenuItem1)
    $MenuItem5 = GUICtrlCreateMenuItem("Visualiser le rapport d'activité", $MenuItem1)
    GUISetBkColor(0xFFFFFF)
    $Button1 = GUICtrlCreateButton("Button1", 8, 56, 80, 80, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir &"\IMG\on.bmp", -1)
    $Button2 = GUICtrlCreateButton("Button2", 240, 56, 80, 80, $BS_BITMAP)
    GUICtrlSetImage(-1, @ScriptDir &"\IMG\off.bmp", -1)
    $Combo1 = GUICtrlCreateCombo("SERVICE", 112, 88, 105, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $AGENT = GUICtrlCreateCombo("AGENT", 112, 112, 105, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $Combo3 = GUICtrlCreateCombo("RAISON DE L'APPEL", 8, 152, 313, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    $Pic1 = GUICtrlCreatePic(@ScriptDir &"\IMG\1.jpg", 8, 184, 90, 35)
    $Pic2 = GUICtrlCreatePic(@ScriptDir &"\IMG\2.jpg", 248, 184, 70, 41)
    $Pic3 = GUICtrlCreatePic(@ScriptDir &"\IMG\3.JPG", 24, 16, 277, 28)
    $Label1 = GUICtrlCreateLabel( $Ver, 120, 60, 100 )
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
         $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    _Exit()
   Case $msg = $Button1
         AdlibRegister ( "_Chrono" , 1000 )
   Case $msg = $Button2
        _Exit()
    EndSelect
    WEnd

    Func _Chrono()
      $_exit += 1
      If $_exit = 86400 Then Exit
        $Time = _DateAdd ( "s", $_exit, "2000/01/01 00:00:00" )
        $Dif = StringSplit ( $Time, " " )
    GUICtrlSetData ( $Label1, $Dif[2] )
ConsoleWrite($_exit & @CRLF)
    EndFunc

    Func _Exit()
   AdlibUnRegister ("_Chrono")
    Exit
    EndFunc
J'allais rajouter qu'il existe d'autres méthodes. Le post de Daniel en est une preuve
Modifié en dernier par walkson le ven. 03 mars 2017 23:22, modifié 1 fois.
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
mdanielm
Membre émérite
Membre émérite
Messages : 254
Enregistré le : mer. 11 déc. 2013 19:48
Status : Hors ligne

Re: [..] impossible de quitter une fontion

#3

Message par mdanielm »

Ou ça:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3>

#Region ### START Koda GUI section ### Form=Form3.kxf
Dim $Ver = "Durée de l'appel"
$Form1 = GUICreate("Tel' Stats", 329, 249, 298, 189)
$MenuItem1 = GUICtrlCreateMenu("Réglages")
$MenuItem2 = GUICtrlCreateMenuItem("Ajouter un service", $MenuItem1)
$MenuItem3 = GUICtrlCreateMenuItem("Ajouter un agent", $MenuItem1)
$MenuItem4 = GUICtrlCreateMenuItem("Ajouter un commentaire", $MenuItem1)
$MenuItem5 = GUICtrlCreateMenuItem("Visualiser le rapport d'activité", $MenuItem1)
GUISetBkColor(0xFFFFFF)
$Button1 = GUICtrlCreateButton("Button1", 8, 56, 80, 80, $BS_BITMAP)
GUICtrlSetImage(-1, @ScriptDir &"\IMG\on.bmp", -1)
$Button2 = GUICtrlCreateButton("Button2", 240, 56, 80, 80, $BS_BITMAP)
GUICtrlSetImage(-1, @ScriptDir &"\IMG\off.bmp", -1)
$Combo1 = GUICtrlCreateCombo("SERVICE", 112, 88, 105, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$AGENT = GUICtrlCreateCombo("AGENT", 112, 112, 105, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo3 = GUICtrlCreateCombo("RAISON DE L'APPEL", 8, 152, 313, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Pic1 = GUICtrlCreatePic(@ScriptDir &"\IMG\1.jpg", 8, 184, 90, 35)
$Pic2 = GUICtrlCreatePic(@ScriptDir &"\IMG\2.jpg", 248, 184, 70, 41)
$Pic3 = GUICtrlCreatePic(@ScriptDir &"\IMG\3.JPG", 24, 16, 277, 28)
$Label1 = GUICtrlCreateLabel( $Ver, 120, 60, 100 )
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Global $i=0, $msg = GUIGetMsg(), $htimer= TimerInit(), $bStart=false

While $msg <> $GUI_EVENT_CLOSE and $msg <> $Button2 and $i<=86400
   if $msg = $Button1 then $bStart=true
   if $bStart and TimerDiff($htimer)>1000 then
      $i+=1
      _Chrono($i)
      $htimer= TimerInit()
   EndIf
   $msg = GUIGetMsg()
WEnd

Exit


Func _Chrono($i)
   $Time = _DateAdd ( "s", $i, "2000/01/01 00:00:00" )
   $Dif = StringSplit ( $Time, " " )
   GUICtrlSetData ( $Label1, $Dif[2] )
EndFunc
Avatar du membre
jeanmimigab
Niveau 5
Niveau 5
Messages : 123
Enregistré le : sam. 08 oct. 2011 14:01
Status : Hors ligne

Re: [..] impossible de quitter une fontion

#4

Message par jeanmimigab »

Bonjour à tous(tes)

Excellent messieurs !
je garde les deux pour les étudier et en saisir le fonctionnement exact :wink:
Bon weekend et merci beaucoup
JM
Répondre