elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Timer Grande
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Timer Grande  (Leído 4,418 veces)
Meg


Desconectado Desconectado

Mensajes: 462



Ver Perfil
Timer Grande
« en: 5 Enero 2006, 15:34 pm »

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

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: Timer Grande
« Respuesta #1 en: 5 Enero 2006, 16:14 pm »

for i=0 to 3
   if 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 Desconectado

Mensajes: 1.477


Ver Perfil
Re: Timer Grande
« Respuesta #2 en: 5 Enero 2006, 17:13 pm »

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.


Código:
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


Desconectado Desconectado

Mensajes: 3.287


Ver Perfil WWW
Re: Timer Grande
« Respuesta #3 en: 5 Enero 2006, 17:33 pm »

O mas facil, le pones que valla contando cada vez que pasa por la funcion timer hasta 5 veces:
Código:
Dim vez As Integer
Private 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 Desconectado

Mensajes: 462



Ver Perfil
Re: Timer Grande
« Respuesta #4 en: 6 Enero 2006, 02:09 am »

Muxas gracias x vuestra ayuda ya lo logre   ;)
En línea

Martín Fierro


Desconectado Desconectado

Mensajes: 381


Por crom!!!. Chiapas dedo izquierdo de wadalbertía


Ver Perfil WWW
Re: Timer Grande
« Respuesta #5 en: 6 Enero 2006, 17:39 pm »

O mas facil, le pones que vaya contando cada vez que pasa por la funcion timer hasta 5 veces:
Código:
Dim vez As Integer
Private 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 Desconectado

Mensajes: 6


Ver Perfil
Re: Timer Grande
« Respuesta #6 en: 2 Febrero 2006, 00:28 am »

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 Desconectado

Mensajes: 337


Elite


Ver Perfil
Re: Timer Grande
« Respuesta #7 en: 2 Febrero 2006, 16:42 pm »

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 Desconectado

Mensajes: 6


Ver Perfil
Re: Timer Grande
« Respuesta #8 en: 18 Febrero 2006, 19:14 pm »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
thead o timer?
Java
bash 3 1,703 Último mensaje 9 Diciembre 2011, 14:42 pm
por bash
modificar un timer a nanosegundos
Programación Visual Basic
sesar58 5 2,770 Último mensaje 26 Marzo 2013, 13:29 pm
por 79137913
Ajax: UpdatePanel Timer y Accordion
.NET (C#, VB.NET, ASP)
NetJava 1 1,356 Último mensaje 3 Marzo 2013, 13:24 pm
por NetJava
ayuda timer
Programación Visual Basic
asdexiva 3 1,339 Último mensaje 13 Marzo 2013, 00:01 am
por MCKSys Argentina
Duda con timer
.NET (C#, VB.NET, ASP)
llAudioslavell 8 2,624 Último mensaje 3 Abril 2013, 13:26 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines