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

Objeto timer

Estas en el tema de Objeto timer en el foro de Visual Basic clásico en Foros del Web. Estoy intentando poner un tiempo al objeto timer de 10 minutos. Cuando voy a la pestaña Interval solo me deja poner 59999 El caso es ...
  #1 (permalink)  
Antiguo 13/02/2008, 10:29
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Objeto timer

Estoy intentando poner un tiempo al objeto timer de 10 minutos.

Cuando voy a la pestaña Interval solo me deja poner 59999


El caso es que tengo:

Private Sub Timer1_Timer()
actualiza_Click
End Sub

y entonces en la funcion actualiza_Click tengo una funcion que consulta a una BBDD SQL cada 1000msg

Que puedo hacer?

Última edición por guif; 13/02/2008 a las 10:37
  #2 (permalink)  
Antiguo 13/02/2008, 12:19
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Objeto timer

No modifiques el interval, colocalo en 1000 y trabaja con el evento Timer. En ese evento colocas un acumulador que se actualiza cada segundo sumando de uno en uno. Y como dices que al pasar 10 minutos quieres llamar a una funcion solo tienes que colocar la condicion del acumulador cuando llegue a 600 segundos llame la funcion... Me entiendes?
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #3 (permalink)  
Antiguo 14/02/2008, 08:00
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Objeto timer

no mucho...
Bueno poner el Timer a 1000 no hay problem, pero os cuento mas como lo tengo.

Tengo un boton que se llama "actualiza" y dentro pues llamo a la funcion "Funcion_update"

La funcion "Funcion_update" tiene dentro:

Código:
Timer1.Enabled = True
por lo que entonces, dentro del timer1 tengo:

Código:
Private Sub Timer1_Timer()
    actualitza_Click
End Sub
entonces... como amplio el tiempo y donde?
  #4 (permalink)  
Antiguo 14/02/2008, 09:42
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Objeto timer

Bueno primero declara una variable por ejemplo xseg como Integer y en el load del Form le asignas el valor 0...

Código:
Private Sub Timer1_Timer()
   xseg = xseg + 1
  If xseg = 600 Then  actualiza_Click  '600 seg que son 10 minutos
End Sub
Con esto despues de pulsar el boton actualizar que llama la funcion que activa el timer, al cabo de 10 minutos llamara al evento click del boton... Ahora solo resta desactivar el timer y asignar el valor de la variable a 0...
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #5 (permalink)  
Antiguo 03/03/2008, 07:44
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Objeto timer

me lio un poco... os cuento como lo tengo:

Código:
Private Sub Funcion_update()
    Timer1.Enabled = True
End Sub
Código:
Private Sub actualitza_Click()
(realizo una serie de consultas SQL)
End Sub
Código:
Private Sub Timer1_Timer()
    actualitza_Click
End Sub
Entonces, al dar al boton actualitza_Click, donde tendria que poner el codigo que comentas para que me actualize cada 10 minutos???

gracias!
  #6 (permalink)  
Antiguo 03/03/2008, 12:54
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Objeto timer

Mi pregunta es donde llamas a Funcion_update?

Quedaria como esto:

Código:
Private Sub Funcion_update()
    Timer1.Enabled = True
End Sub

Private Sub actualitza_Click()
'consultas SQL
End Sub

Private Sub Timer1_Timer()
   xseg = xseg + 1
  If xseg = 600 Then  
      xseg=0 
       actualitza_Click  '600 seg que son 10 minutos
   end if
End Sub
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #7 (permalink)  
Antiguo 04/03/2008, 01:34
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Objeto timer

se me olvido poner la Funcion_update!
Lo pongo dentro del boton actualitza_Click.
Código:
Private Sub actualitza_Click()
Funcion_update
'consultas SQL
End Sub
entonces, segun tu codigo ya me funcionaria?
  #8 (permalink)  
Antiguo 12/03/2008, 08:35
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Objeto timer

he modificado la función un poco.
El interval del timer1 lo he puesto a 1000. Luego, he puesto lo siguiente en TIMER1.:

Código:
Static Temp_Seg As Long
Temp_Seg = Temp_Seg + 1
If (Temp_Seg * 60) >= (5 * 60) * 60 Then
   Temp_Seg = 0
   actualitza_Click 'mi funcion
End If
en la linia:

Código:
If (Temp_Seg * 60) >= (5 * 60) * 60 Then
donde pongo 5, me actualizaria cada 5 minutos, pero si pongo 10 me da error. Porque sucede esto??
  #9 (permalink)  
Antiguo 12/03/2008, 10:32
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Objeto timer

hola,guif no es tan complicado,mira el Timer de visual basic 6 solo aguanta ese valor porque es el valor de 64 bits...en visual basic net esto aguanta mas porque el valor de las variable y de los tipos de datos se incrementaron muchisimo..con esto podes hacer que el timer aguante lo que vos quieras:

Código:
Dim Tiempo As Double

Private Sub Timer1_Timer()
Tiempo = Tiempo + 1
If Tiempo = 240 Then
'aca el codigo que queres hacer al llegar al tiempo que queres
Tiempo = 0
End If
End Sub

tambein podes usar las api's SetTimer,killTimer para crearte un timer mediante las api's de windows,que no tiene un limite tan poco como el timer y es mas exacto tambien.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #10 (permalink)  
Antiguo 12/03/2008, 11:11
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Objeto timer

Cita:
If (Temp_Seg * 60) >= (5 * 60) * 60 Then
Por que no lo colocas la condicion directa y sencilla como te respondio seba123neo??


Cita:
Dim Tiempo As Double

Private Sub Timer1_Timer()
Tiempo = Tiempo + 1
If Tiempo = 240 Then
'aca el codigo que queres hacer al llegar al tiempo que queres
Tiempo = 0
End If
End Sub
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #11 (permalink)  
Antiguo 13/03/2008, 09:59
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Objeto timer

al final lo he solucionando con esto y poniendo el interval a 1000:

lSeg = lSeg + 1
If lSeg > 600 Then '10 minutos
lSeg = 0
MI FUNCION_CLICK
End If

gracias!
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 00:25.