| 
	
		|  Autor | Tema: Timer Grande  (Leído 6,194 veces) |  
	| 
			| 
					
						| Meg 
								 
								
								 Desconectado 
								Mensajes: 462
								
								   | 
 
Hola amigos, vereis es k tengo una duda resulta k qiero poner un timer k haga una determinada cosa cada 4 minutos pero el interval no me deja poner mas de 1 minuto K puedo hacer??? 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| jrhomer | 
 
for i=0 to 3if i= 3 then
 ' hacer cosas
 i=0
 else
 i=i+1
 end if
 next i
 
 Declara i como pública y mete ese código en el TImer, así q cada 1 minutos hará eso... yo tp se pq solo (a priori) se puede poner 1 minuto (o lo q sea)
 
 De modo que cada cada 4 minutos hará lo q kieras q haga y pondrá i=0 y como cada minuto i aumenta 1... pues en llegar al cuarto i=3, de modo que hará lo q haga y volverá a ponerla a i=0...
 
 
 vamos es lo q se me ocurrio así d repente... espero q t sirva de ayuda.
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 ups!! |  |  |  | 
			| 
					
						| Slasher-K 
								       
								
								 Desconectado 
								Mensajes: 1.477
								
								
								
								
								
								   | 
 
Poné el siguiente código en un módulo estándar, y crea un formulario que se llame frmMain. Este ejemplo utiliza la función SetTimer de la API para disparar un temporizador controlado mediante un bucle y la función Timer, de Visual Basic. Establece la constante TIMER_INTERVAL a la cantidad de segundos que quieres que sea el intervalo del temporizador. Esto es sólo de prueba, luego verás cómo manejas ese tema. Para iniciar el temporizador llama al procedimiento StartLongTimer , y para detenerlo a TerminateLongTimer . Cuando se cumpla cada intervalo de tiempo el temporizador lo notificará llamando al procedimiento LongTimer_Timer , y allí realizarás las tareas que necesites. Option Explicit
 Const TIMER_INTERVAL = 86400  ' Intervalo del Timer, en segundos (le puse 1 día).
 
 Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
 Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
 
 Private bTerminateTimer As Boolean
 
 Sub Main()
 Call frmMain.Show
 End Sub
 
 Sub StartLongTimer()
 bTerminateTimer = False
 
 ' Crea el temporizador del sistema que se ejecuta de
 ' forma asíncrona, de esta manera se evita el bloqueo
 ' del programa.
 '
 Call SetTimer(0&, 0&, 1000&, AddressOf LongTimerProc)
 End Sub
 
 Sub TerminateLongTimer()
 ' Establece la variable a verdadero para que
 ' se termine el procedimiento del temporizador.
 '
 bTerminateTimer = True
 End Sub
 
 Sub LongTimerProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal idEvent As Integer, ByVal dwTime As Long)
 Dim snTime!
 
 Call KillTimer(0&, idEvent)
 
 ' Guarda el intervalo de tiempo actual.
 '
 snTime = Timer
 
 Do While (Timer - snTime) < TIMER_INTERVAL
 ' Espera hasta que pase el tiempo especificado
 ' a menos que se cancele.
 '
 
 If bTerminateTimer Then Exit Do
 
 DoEvents
 Loop
 
 If Not bTerminateTimer Then
 ' Si no se canceló el temporizador notifica del evento
 ' y vuelve a inicializar el contador.
 '
 Call LongTimer_Timer
 Call StartLongTimer
 End If
 End Sub
 
 Sub LongTimer_Timer()
 ' Este procedimiento se llamará cada vez que pase el lapso de tiempo
 ' configurado para el temporizador.
 '
 
 ' Acá se puede hacer cualquier cosa que desee.
 '
 Debug.Print "Timer interval: " & Time$
 End Sub
 
Saludos. |  
						| 
								|  |  
								|  |  En línea | 
 
  A la reina de las profundidades que cuida los pasos de una sombra en la noche :* |  |  |  | 
			| 
					
						| programatrix | 
 
O mas facil, le pones que valla contando cada vez que pasa por la funcion timer hasta 5 veces: Dim vez As IntegerPrivate Sub Form_Load()
 Timer1.Interval = 60000 'El minuto
 Timer1.Enabled = True
 End Sub
 
 Private Sub Timer1_Timer()
 If vez = "5" Then 'si ha pasado 5 veces es que ha pasado 5 minutos
 MsgBox "tiempo pasado"
 vez = 0
 Else
 vez = vez + 1
 End If
 End Sub
Saludos    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Meg 
								 
								
								 Desconectado 
								Mensajes: 462
								
								   | 
 
Muxas gracias x vuestra ayuda ya lo logre     |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Martín Fierro 
								 
								
								 Desconectado 
								Mensajes: 381
								
								 
								Por crom!!!. Chiapas dedo izquierdo de wadalbertía
								
								
								
								
								
								     | 
 
O mas facil, le pones que vaya contando cada vez que pasa por la funcion timer hasta 5 veces: Dim vez As IntegerPrivate Sub Form_Load()
 Timer1.Interval = 60000 'El minuto
 Timer1.Enabled = True
 End Sub
 
 Private Sub Timer1_Timer()
 If vez = "5" Then 'si ha pasado 5 veces es que ha pasado 5 minutos
 MsgBox "tiempo pasado"
 vez = 0
 Else
 vez = vez + 1
 End If
 End Sub
Saludos   Me gusto tu forma de solucionarlo, sin apis ni nada... Bien, yo no lo haría mejor.. |  
						| 
								|  |  
								|  |  En línea | 
 
 Y no me importa nada.. |  |  |  | 
			| 
					
						| zhidow 
								
								 Desconectado 
								Mensajes: 6
								
								
								
								
								
								   | 
 
Haciendo un programa (soy novato) me tope con el mismo problema ,  :p despues de pensar un rato , probe poniendo dentro del Sub timer. una condicion que diga, if (tiempo que tengo que esperar) = ( tiempo que necesito) then
 ''hacer la rutina
 else
 timer.enabled = false
 timer.enabled = true
 ''asi comieza el conteo de nuevo
 end sub
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Ch3ck 
								 
								
								 Desconectado 
								Mensajes: 337
								
								 
								Elite
								
								
								
								
								
								   | 
 
Pero para que desactivar y activar el timer si eso lo hace él vuelve ha iniciar el conteo solo (eso si lo que escribiste está dentro del timer) |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| zhidow 
								
								 Desconectado 
								Mensajes: 6
								
								
								
								
								
								   | 
 
SI disculpa aparte del codigo que si creas una variable tipo LONG, y le pones dim Tiempos as long
 (dentro del timer)
 tiempos = tiempos + 60000
 
 cada vez que llega al timer y no se cumple el tiempo le agrega 60000 ( 1 Minuto más) asi hasta llegar a los minutos que le pusiste..
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | thead o timer? Java
 | bash | 3 | 2,859 |  9 Diciembre 2011, 14:42 pm por bash
 |  
						|   |   | modificar un timer a nanosegundos Programación Visual Basic
 | sesar58 | 5 | 4,323 |  26 Marzo 2013, 13:29 pm por 79137913
 |  
						|   |   | Ajax: UpdatePanel Timer y Accordion .NET (C#, VB.NET, ASP)
 | NetJava | 1 | 2,445 |  3 Marzo 2013, 13:24 pm por NetJava
 |  
						|   |   | ayuda timer Programación Visual Basic
 | asdexiva | 3 | 2,545 |  13 Marzo 2013, 00:01 am por MCKSys Argentina
 |  
						|   |   | Duda con timer .NET (C#, VB.NET, ASP)
 | llAudioslavell | 8 | 4,347 |  3 Abril 2013, 13:26 pm por Eleкtro
 |    |