Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

Problem creating a Countdown Timer with Button Inputs

$
0
0

I've been trying to wrap my brain around how I could set the timer the the time I want with buttons. Can anyone help me?

Thanks in advance!

AutoIt         
  1. #include <ButtonConstants.au3>
  2. #include <ComboConstants.au3>
  3. #include <GUIConstantsEx.au3>
  4. #include <StaticConstants.au3>
  5. #include <WindowsConstants.au3>
  6.  
  7. Global $_CompteArebour = 100000, $_Minutes, $_Seconds
  8. $TimeTicks = TimerInit()
  9. $teamOneScore = 0
  10. $teamTwoScore = 0
  11.  
  12. $Form1 = GUICreate("ImproTimer", 946, 535, -1, -1)
  13. $MenuItem1 = GUICtrlCreateMenu("?")
  14. $AboutMenuItem = GUICtrlCreateMenu("About" & @TAB & "Ctrl+A")
  15. $GroupTeam1 = GUICtrlCreateGroup("", 80, 32, 257, 225)
  16. $GraphicTeam1 = GUICtrlCreateGraphic(88, 48, 240, 200)
  17. $Team1Score = GUICtrlCreateLabel($teamOneScore, 160, 56, 98, 146, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  18. GUICtrlSetFont($teamOneScore, 120, 400, 0, "MS Sans Serif")
  19. GUICtrlCreateGroup("", -99, -99, 1, 1)
  20. $ComboTeam1 = GUICtrlCreateCombo("Couleur", 8, 40, 65, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
  21. GUICtrlSetData(-1, "Blanc|Bleu|Rouge|Orange|Jaune|Vert")
  22. $GroupTeam2 = GUICtrlCreateGroup("", 608, 32, 257, 225)
  23. $GraphicTeam2 = GUICtrlCreateGraphic(616, 48, 240, 200)
  24. $Team2Score = GUICtrlCreateLabel($teamTwoScore, 664, 56, 152, 146, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  25. GUICtrlSetFont($teamTwoScore, 120, 400, 0, "MS Sans Serif")
  26. GUICtrlCreateGroup("", -99, -99, 1, 1)
  27. $ComboTeam2 = GUICtrlCreateCombo("Couleur", 872, 40, 65, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
  28. GUICtrlSetData(-1, "Blanc|Bleu|Rouge|Orange|Jaune|Vert")
  29. $TimerLabel = GUICtrlCreateLabel("", 352, 40, 247, 125, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  30. ;~ $Graphic1 = GUICtrlCreateGraphic( 352, 72, 247, 115)
  31. ;~ GUICtrlSetBkColor($Graphic1, 0x0033CC)
  32. GUICtrlSetData($TimerLabel, StringFormat("%02u" & ":" & "%02u", $_Minutes, $_Seconds))
  33. GUICtrlSetFont($TimerLabel, 72, 400, 0, "MS Sans Serif")
  34. $BtnStart = GUICtrlCreateButton("Start", 352, 168, 121, 33)
  35. $BtnPause = GUICtrlCreateButton("Pause", 352, 168, 121, 33)
  36. GUICtrlSetState(-1, $GUI_HIDE)
  37. $BtnReset = GUICtrlCreateButton("Reset", 480, 168, 121, 33)
  38. $BtnAdd60 = GUICtrlCreateButton("+1 Min", 352, 208, 57, 33)
  39. $BtnAdd30 = GUICtrlCreateButton("+30 Sec", 416, 208, 57, 33)
  40. $BtnAdd10 = GUICtrlCreateButton("+10 Sec", 480, 208, 57, 33)
  41. $BtnAdd5 = GUICtrlCreateButton("+5 Sec", 544, 208, 57, 33)
  42. $PPT1 = GUICtrlCreateButton("+ 1", 8, 104, 65, 33)
  43. $MPT1 = GUICtrlCreateButton("- 1", 8, 160, 65, 33)
  44. $PPT2 = GUICtrlCreateButton("+ 1", 872, 104, 65, 33)
  45. $MPT2 = GUICtrlCreateButton("- 1", 872, 160, 65, 33)
  46. #EndRegion ### END Koda GUI section ###
  47.  
  48.     $nMsg = GUIGetMsg()
  49.     Switch $nMsg
  50.         Case $BtnStart
  51.             GUICtrlSetState($BtnStart, $GUI_HIDE)
  52.             GUICtrlSetState($BtnPause, $GUI_SHOW)
  53.             _Run()
  54.         Case $ComboTeam1
  55.             $sComboRead = ""
  56.             $sComboRead = GUICtrlRead($ComboTeam1)
  57.             If $sComboRead = "Blanc" Then
  58.                 GUICtrlSetBkColor($GraphicTeam1, 0xFFFFFF)
  59.             ElseIf $sComboRead = "Bleu" Then
  60.                 GUICtrlSetBkColor($GraphicTeam1, 0x0033CC)
  61.             ElseIf $sComboRead = "Rouge" Then
  62.                 GUICtrlSetBkColor($GraphicTeam1, 0xFF3030)
  63.             ElseIf $sComboRead = "Orange" Then
  64.                 GUICtrlSetBkColor($GraphicTeam1, 0xFF6600)
  65.             ElseIf $sComboRead = "Jaune" Then
  66.                 GUICtrlSetBkColor($GraphicTeam1, 0xFFFF33)
  67.             ElseIf $sComboRead = "Vert" Then
  68.                 GUICtrlSetBkColor($GraphicTeam1, 0x009933)
  69.             EndIf
  70.         Case $ComboTeam2
  71.             $sComboRead = ""
  72.             $sComboRead = GUICtrlRead($ComboTeam2)
  73.             If $sComboRead = "Blanc" Then
  74.                 GUICtrlSetBkColor($GraphicTeam2, 0xFFFFFF)
  75.             ElseIf $sComboRead = "Bleu" Then
  76.                 GUICtrlSetBkColor($GraphicTeam2, 0x0033CC)
  77.             ElseIf $sComboRead = "Rouge" Then
  78.                 GUICtrlSetBkColor($GraphicTeam2, 0xFF3030)
  79.             ElseIf $sComboRead = "Orange" Then
  80.                 GUICtrlSetBkColor($GraphicTeam2, 0xFF6600)
  81.             ElseIf $sComboRead = "Jaune" Then
  82.                 GUICtrlSetBkColor($GraphicTeam2, 0xFFFF33)
  83.             ElseIf $sComboRead = "Vert" Then
  84.                 GUICtrlSetBkColor($GraphicTeam2, 0x009933)
  85.             EndIf
  86.         Case $BtnAdd60
  87.             $_CompteArebour = $_CompteArebour + 100000
  88.         Case $BtnAdd30
  89.             $_CompteArebour = $_CompteArebour + 30000
  90.         Case $BtnAdd10
  91.             $_CompteArebour = $_CompteArebour + 10000
  92.         Case $BtnAdd5
  93.             $_CompteArebour = $_CompteArebour + 5000
  94.         Case $BtnReset
  95. ;~          $_CompteArebour = 0
  96.         Case $AboutMenuItem
  97.         Case $PPT1
  98.             $teamOneScore = $teamOneScore + 1
  99.             $Team1Score = GUICtrlCreateLabel($teamOneScore, 160, 56, 98, 146, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  100.         Case $MPT1
  101.             $teamOneScore = $teamOneScore - 1
  102.             $Team1Score = GUICtrlCreateLabel($teamOneScore, 160, 56, 98, 146, BitOR($SS_CENTER, $SS_CENTERIMAGE))
  103.         Case $GUI_EVENT_CLOSE
  104.             Exit
  105.     EndSwitch
  106.  
  107.  
  108. Func _Run()
  109.     While 1
  110.         _Check()
  111.     WEnd
  112. EndFunc   ;==>_Run
  113.  
  114. Func _Check()
  115.     $nMsg = GUIGetMsg()
  116.     Switch $nMsg
  117.         Case $GUI_EVENT_CLOSE
  118.             Exit
  119.         Case $BtnStart
  120.             GUICtrlSetState($BtnStart, $GUI_HIDE)
  121.             GUICtrlSetState($BtnPause, $GUI_SHOW)
  122.             _Run()
  123.         Case $BtnPause
  124.             GUICtrlSetState($BtnPause, $GUI_HIDE)
  125.             GUICtrlSetState($BtnStart, $GUI_SHOW)
  126.         Case $BtnReset
  127. ;~          $_CompteArebour = 0
  128.         Case $BtnAdd60
  129.             $_CompteArebour = $_CompteArebour + 60000
  130.         Case $BtnAdd30
  131.             $_CompteArebour = $_CompteArebour + 30000
  132.         Case $BtnAdd10
  133.             $_CompteArebour = $_CompteArebour + 10000
  134.         Case $BtnAdd5
  135.             $_CompteArebour = $_CompteArebour + 5000
  136.     EndSwitch
  137.  
  138.     Local $_MinCalc = Int($_CompteArebour / (60 * 1000)), $_SecCalc = $_CompteArebour - ($_MinCalc * 60 * 1000)
  139.     $_SecCalc = Int($_SecCalc / 1000)
  140.  
  141.     $_CompteArebour -= TimerDiff($TimeTicks)
  142.     $TimeTicks = TimerInit()
  143.     Local $_MinCalc = Int($_CompteArebour / (60 * 1000)), $_SecCalc = $_CompteArebour - ($_MinCalc * 60 * 1000)
  144.     $_SecCalc = Int($_SecCalc / 1000)
  145.     If $_MinCalc <= 0 And $_SecCalc <= 0 Then
  146.         GUISetBkColor(0xFF0000, $Form1)
  147.         GUICtrlSetData($TimerLabel, "Fini!")
  148.         Sleep(1000)
  149.         GUICtrlSetData($TimerLabel, StringFormat("%02u" & ":" & "%02u", $_Minutes, $_Seconds))
  150.         ; If @Compiled Then Shutdown ( 13 )
  151.     Else
  152.         If $_MinCalc <> $_Minutes Or $_SecCalc <> $_Seconds Then
  153.             $_Minutes = $_MinCalc
  154.             $_Seconds = $_SecCalc
  155.             GUICtrlSetData($TimerLabel, StringFormat("%02u" & ":" & "%02u", $_Minutes, $_Seconds))
  156.             If $_Minutes = 0 And $_Seconds <= 10 Then
  157.                 Beep(1200, 100)
  158.                 GUISetBkColor(0xA093FF, $Form1)
  159.             EndIf
  160.         EndIf
  161.     EndIf
  162. EndFunc   ;==>_Check

Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>