Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

mis timer no pasan de 1 minuto

Estas en el tema de mis timer no pasan de 1 minuto en el foro de Visual Basic clásico en Foros del Web. dim minutos as integer minutos=text1.text minutos=cInt(minutos) timer1.enabled=true timer1.interval= minutos* 60000 y me casca un error ...¿cómo consigo que el timer se dispare para mas de ...
  #1 (permalink)  
Antiguo 21/04/2006, 13:00
 
Fecha de Ingreso: mayo-2003
Mensajes: 53
Antigüedad: 21 años
Puntos: 0
mis timer no pasan de 1 minuto

dim minutos as integer
minutos=text1.text
minutos=cInt(minutos)
timer1.enabled=true
timer1.interval= minutos* 60000

y me casca un error ...¿cómo consigo que el timer se dispare para mas de 65000 s.?
  #2 (permalink)  
Antiguo 21/04/2006, 13:05
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Pues ten una variable que indique cuántas veces has pasado por el timer.

Así tendrás tiempos infinitos.
  #3 (permalink)  
Antiguo 22/04/2006, 13:10
 
Fecha de Ingreso: mayo-2003
Mensajes: 53
Antigüedad: 21 años
Puntos: 0
Oks.Facil , sencillo y para toda la familia. Gracias , lo solucione tal y como dijiste.
  #4 (permalink)  
Antiguo 23/04/2006, 00:49
Avatar de [EX3]  
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 18 años, 1 mes
Puntos: 1
Utiliza los Timers del API de Windows y tendras un rango mayor para definir el intervalo ya que el parametro es un Long mientras que el del control Timer es un Integer. El unico inconveniente, y si lo fuera, es que tendras que declarar el codigo del evento del Timer obligatoriamente en un modulo BAS.

Un sencillo ejemplo:
Form1.frm
Código:
Option Explicit

 'Crea y configura un Timer:
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

 'Destruye un Timer:
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long

Dim TimerId As Long 'Guarda el identificador del Timer creado.

Private Sub Form_Load()
'Creamos un Timer y le asignamos la direccion de memoria del procedimiento que hara de evento en el Timer:
 TimerId = SetTimer(Me.hWnd, 0, 1000, AddressOf Module1.MiRutinaDeEvento)

End Sub

Private Sub Form_Unload(Cancel As Integer)
KillTimer Me.hWnd, TimerId

End Sub 
Module1.bas
Código:
Option Explicit

Public Var As Long

'Procedimiento que ejecutara el Timer:
Public Sub MiRutinaDeEvento()
Form1.Var = Form1.Var + 1

Form1.Cls
Form1.Print Form1.Var

End Sub 
Salu2...

P.D.: Añadir una "leve" ventaja de este metodo y es que te permite utilizar un intervalo de 0 milisegundos, osea, ejecucion inmediata del evento, sin espera alguna.
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.

  #5 (permalink)  
Antiguo 23/04/2006, 04:06
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Whiskises
Oks.Facil , sencillo y para toda la familia. Gracias , lo solucione tal y como dijiste.
De nada :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:29.