MultiTimer Ejemplo

y programas personales para otros como tu, puede que te corrijan ;)

MultiTimer Ejemplo

Notapor Dany » 08 Nov 2014, 16:47

Un simple ejemplo de un multitimer que necesitaba en estoy días.

Imagen


Código: Seleccionar todo
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <Date.au3>
Global $aMaquinas[12], $aTimer[12], $Secs, $Mins, $Hour, $bState[12], $aTime[12], $aTiempos[12]
Example()

Func Example()
   Opt("GUIOnEventMode", 1)

   GUICreate("Control Cyber", 800, 270)
   GUISetBkColor(0x0093FF)
   GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
   GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
   GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")
   Load()
   For $i = 0 To 5
      GUICtrlCreateGroup("MAQUINA_" & $i + 1, 10 + ($i * 130), 5, 130, 110)
      GUICtrlSetFont(-1, 10, 700, 2, "Arial")
      GUICtrlSetBkColor(-1, 0xfffffff)
      $aMaquinas[$i] = GUICtrlCreateInput($aTiempos[$i], 15 + ($i * 130), 20, 120, 40, $ES_READONLY)
      GUICtrlSetFont(-1, 22, 600, 0, "Bodoni MT")
      GUICtrlSetBkColor(-1, 0xEA1515)
      GUICtrlCreateButton("Comenzar", 15 + ($i * 130), 70, 120, 40)
      GUICtrlSetFont(-1, 16, 400, 0, "Arial")
      GUICtrlSetOnEvent(-1, "MaquinaEvent")

   Next


   For $i = 0 To 5
      GUICtrlCreateGroup("MAQUINA_" & $i + 7, 10 + ($i * 130), 130, 130, 110)
      GUICtrlSetFont(-1, 10, 700, 2, "Arial")
      GUICtrlSetBkColor(-1, 0xfffffff)
      $aMaquinas[$i + 6] = GUICtrlCreateInput($aTiempos[$i + 6], 15 + ($i * 130), 145, 120, 40, $ES_READONLY)
      GUICtrlSetFont(-1, 22, 600, 0, "Bodoni MT")
      GUICtrlSetBkColor(-1, 0xEA1515)
      GUICtrlCreateButton("Comenzar", 15 + ($i * 130), 195, 120, 40)
      GUICtrlSetFont(-1, 16, 400, 0, "Arial") ;
      GUICtrlSetOnEvent(-1, "MaquinaEvent")

   Next

   GUISetState(@SW_SHOW)


   AdlibRegister("Save", 1000)
   AdlibRegister("Tiempo", 50)

   While 1
      Sleep(30)
   WEnd
EndFunc   ;==>Example

Func Load()
   For $i = 1 To 12
      $aTiempos[$i - 1] = IniRead("tiempos.ini", "Tiempos", "MAQUINA_" & $i, "00:00:00")
   Next
EndFunc   ;==>Load


Func Save()
   For $i = 1 To 12
      If $bState[$i - 1] Then
         IniWrite("Tiempos.ini", "Tiempos", "MAQUINA_" & $i, GUICtrlRead($aMaquinas[$i - 1]))
      Else
         IniWrite("Tiempos.ini", "Tiempos", "MAQUINA_" & $i, "00:00:00")
      EndIf
   Next
EndFunc   ;==>Save

Func Tiempo()
   Local $asTime[12]
   Local $asTime=0
   For $i = 0 To 11
      If $bState[$i] Then
         _TicksToTime(Int(TimerDiff($aTimer[$i])), $Hour, $Mins, $Secs)
          $asTime = $aTime[$i]
         $aTime[$i] = StringFormat("%02i:%02i:%02i", $Hour, $Mins, $Secs)
         If $asTime <> $aTime[$i] Then GUICtrlSetData($aMaquinas[$i], $aTime[$i])
      EndIf
   Next
EndFunc   ;==>Tiempo

Func MaquinaEvent()
   Local $i = Int(@GUI_CtrlId / 3) - 1
   If $bState[$i] Then
      TimerDiff($aTimer[$i])
      $bState[$i] = False
      GUICtrlSetData(@GUI_CtrlId, "Comenzar")
      GUICtrlSetBkColor(@GUI_CtrlId - 1, 0xEA1515)
   Else
      GUICtrlSetData(@GUI_CtrlId, "Pausar")
      GUICtrlSetBkColor(@GUI_CtrlId - 1, 0x2DD25)
      $bState[$i] = True
      $aTimer[$i] = TimerInit()
   EndIf

EndFunc   ;==>MaquinaEvent




Func SpecialEvents()
   Local $iMsg = 0
   Select
      Case @GUI_CtrlId = $GUI_EVENT_CLOSE
         $iMsg = MsgBox(4, "Control Cyber", "¿Reaalmente quiere salir?")

         If $iMsg = 6 Then
            GUIDelete()
            Exit
         EndIf


      Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE

      Case @GUI_CtrlId = $GUI_EVENT_RESTORE

   EndSelect
EndFunc   ;==>SpecialEvents




Saludos
    ............................................Imagen
    ......................................Imagen
Avatar de Usuario
Dany
Profesional del Autoit
 
Mensajes: 643
Registrado: 28 Mar 2012, 22:49

Re: MultiTimer Ejemplo

Notapor XPyro » 20 Nov 2014, 07:19

Muy bueno Dany, tenia uno de estos planes en mente pero con el poco tiempo que me cargo solo los dejo incompletos, con esta ayudas mucho espero un dia terminar todos los planes o al final los publicare en el foro para que los terminen ustedes :smt005

Muchas gracias por compartir :smt006
Imagen
Avatar de Usuario
XPyro
Profesional del Autoit
 
Mensajes: 536
Registrado: 04 Mar 2007, 10:12
Ubicación: México

Re: MultiTimer Ejemplo

Notapor yasmany » 20 Nov 2014, 15:15

Gracias Dany por el ejemplo :smt001
gracias por compartir ... :smt024
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
yasmany
Hacker del Foro
 
Mensajes: 249
Registrado: 06 Sep 2011, 21:30


Volver a esScripts - Programas - Abre tus creaciones maravillosas

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados