Problema con Timers

Iniciado por Zinc, 2 Octubre 2006, 19:50 PM

0 Miembros y 1 Visitante están viendo este tema.

Zinc

Buenas estoy haciendo un programita q permita cerrar el winamp a determinada fraccion de minutos(5, 10 , 20 , y 1 hora) eso es por ahora pero al establecer la propiedad del timer Interval no me permite poner mas de un minuto.
Por ejemplo en la fraccion de 5 minutos serian 500000 milisegundos o no? Bueno al poner esto en la propiedad interval no me lo acepta q pasara?
Modifico algo? o hay otra forma de hacer el programita?.

Saludos y Gracias!

Meg

de esto ya se hablo en el foro un par de veces utiliza buscar de todas formas te voy a contestar:
tienes k usar contadores

Dim contador As Integer

private sub Form_Load()
timer1.interval = 60000 'un minuto
end sub

Private Sub Timer1_Timer()
If contador = 5 Then
tu codigo
vez = 0
Else
contador = contador + 1
End If
end sub


cada vez k pasa 1 minuto se le añade 1 a la variable contador y cuando la variable contador tiene 5 se ejecuta el codigo k kieres  asi han pasado 5 minutos

Zinc

Gracias Meg..pero me quede con una duda, ese code q me diste como hago para relacionarlo con las Options Buttons q tengo q son los q determinan el tiempo.
Osea ese code viene al pelo, pero como hago para q ejemplo:
Si selecciono la option 1(5 minutos) se cumple lo del code anterior?.

P/D: Si lo q te pregunto en el segundo post esta contestado no contestes.

Saludos y Gracias!

Meg

esto es lo k se me ocurre asi a priori es un poko chapucero xDDD y tampoco lo e probado pero supongo k funciona
esto es poniendo 2 option buttons pero puedes poner los k kieras

Dim contador As Integer
Dim minutos As String

Private sub Form_load()
timer1.interval = 60000
end sub

Private Sub Option1_Click()
contador = 0
minutos = 5
End Sub

Private Sub Option2_Click()
contador = 0
minutos = 10
End Sub

Private Sub Timer1_Timer()
If contador = minutos Then
tu codigo
contador = 0
Else
contador = contador + 1
End If
End Sub



en el otro codigo no se por k puse vez = 0 en lugar de contador = 0  :-[ supongo k es xk antes lo acia llamando ala variable vez  y se me a pirao la pinza xDD

Zinc


<--v1c1ous-->

Como dice Meg, usando el maximo que podes poner y haciendolo cuantas veces quieras o bien usando otra funcion que no sea el control timer:

CitarPrivate Declare Function GetTickCount Lib "Kernel32.dll" () As Long

Sub Espera(Cuanto As Long)
    Dim u%, tick As Long
    tick = GetTickCount()
    Do
      u% = DoEvents
    Loop Until tick + Cuanto < GetTickCount
End Sub

Claro que es en milisegundos, pero podes cambiarlo.