Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Zinc en 2 Octubre 2006, 19:50 pm



Título: Problema con Timers
Publicado por: Zinc en 2 Octubre 2006, 19:50 pm
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!


Título: Re: Problema con Timers
Publicado por: Meg en 2 Octubre 2006, 20:35 pm
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
Código:
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


Título: Re: Problema con Timers
Publicado por: Zinc en 2 Octubre 2006, 22:59 pm
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!


Título: Re: Problema con Timers
Publicado por: Meg en 3 Octubre 2006, 00:08 am
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
Código:
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


Título: Re: Problema con Timers
Publicado por: Zinc en 3 Octubre 2006, 02:22 am
Muchas Gracias Meg..


Título: Re: Problema con Timers
Publicado por: <--v1c1ous--> en 3 Octubre 2006, 08:06 am
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:

Citar
Private 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.