En realidad estoy trabajando con timer, pero el tiempo maximo es de un minuto y algo más (65.535 milisegundos), pero yo necesito que se ejecute cada 5 min.
Hay algun otro control o forma de implementar esto?
Salu2.
| ||||
mmmm no tengo bien claro si puedes tu aplicacion dejarla como tarea que se ejecute cada 5 minutos, la forma mas simple seria con una variable global que se fuera incrementando a cada minuto, una vez llegado a 5 ejecutas tu funcion y vuelves esta variable a 0 |
| |||
Hola, Dada las limitancias del timer, lo que puedes hacer es que cuando inicies el programa capturar en una variable la hora y el timer que este chequeando comparando con la actual es decir timeVarStart = a la hora cuando parte la aplicacion Private sub Timer1_Timer if timeVarStart-now() >5 minutos -- Obviamente expresandos ambos en hora CALL mifuncion timeVarStart=now() -- para que se reinicialice y espere de nuevo 5 minutos Endif end sub espero que te sirva |
| ||||
Muchas gracias por su ayuda. Ahora le agarre la mano, voy a usar el timer cada minuto incrementando la varible en 1. Y usar la funcion mod para determinar cuando se llega a 5 min. If Not (CincoMinutos Mod 5 = 0) Then CincoMinutos = CincoMinutos + 1 Else 'Lo que ecesito. End if |
| ||||
Bueno yo no conosco la funcion mod y nose como se trabaja con ella.. de hecho te iba a preguntar que cuando llegue a cinco como vuelves a hacer que se ponga en 0 el contador o la variable o el mod? realmente esa es la duda que me salta a la mente ya que nose como funciona la funcion mod. sera que en ese dato me puedas explicar ya de paso yo aqui te pongo otro ejemplo. declaras esta variable Dim tiempo As Integer y ya en tu control timer pones esto If tiempo = 5 Then Aqui lo que necesites tiempo = 0 Else tiempo = tiempo + 1 End If y si no, jajaja haz 5 timer's con la propiedad enable = flase :P y en cada timer cuando pase un minuto que se desactive el mismo y active el segundo timer y el segundo al pasar un minuto se desactiva y activa el tercer timer y asi seguidamente y ya que cuando el quinto timer pase el minuto ejecutas tu aplicacion y desactiva el quinto timer y activas el primer timer :P jaja parecido a un ciclo :P espero haberte ayudado :D el segundo ejemplo fue broma pero tambien funciona :P
__________________ http://www.xpresatelibre.com La Xpresion Al Maximo Nivel |
| ||||
Cita: jejeje mod entrega el resto de una division, ejemplo
Iniciado por UID ![]() Bueno yo no conosco la funcion mod y nose como se trabaja con ella.. de hecho te iba a preguntar que cuando llegue a cinco como vuelves a hacer que se ponga en 0 el contador o la variable o el mod? realmente esa es la duda que me salta a la mente ya que nose como funciona la funcion mod. sera que en ese dato me puedas explicar ya de paso yo aqui te pongo otro ejemplo. declaras esta variable Dim tiempo As Integer y ya en tu control timer pones esto If tiempo = 5 Then Aqui lo que necesites tiempo = 0 Else tiempo = tiempo + 1 End If y si no, jajaja haz 5 timer's con la propiedad enable = flase :P y en cada timer cuando pase un minuto que se desactive el mismo y active el segundo timer y el segundo al pasar un minuto se desactiva y activa el tercer timer y asi seguidamente y ya que cuando el quinto timer pase el minuto ejecutas tu aplicacion y desactiva el quinto timer y activas el primer timer :P jaja parecido a un ciclo :P espero haberte ayudado :D el segundo ejemplo fue broma pero tambien funciona :P resto=12 mod 5 msgbox trim(resto) 'Muestra un 2 tambien es valido esa forma ya que cada minuto el contador sumara 1 y cada 5 minutos la division por 5 dara como resto 0 :D jhejejeje |
| ||||
aaa... ok.. gracias por explicarmelo... entonces es mas facil la forma del mod que la que puse :P bueno se ve mas facil y mas corto :P
__________________ http://www.xpresatelibre.com La Xpresion Al Maximo Nivel |
| ||||
lo podes hacer asi timer con intervalo de 1000 5 minutos tienen 300 segundos saludos Dim xx As Integer Private Sub Timer1_Timer() If xx = 300 Then ejecutar evento xx = 0 End If xx = xx + 1 End Sub |