Buenas, estoy haciendo un programa que necesito que compruebe algo cada dia, al principio me pase de listo y crei que lo podria hacer con el timer.... :-[ XD, pero descubri un poco tarde ya que el timer solo le puedes poner un min o almenos yo no e sabido ponerlo a mas, estoy seguro que hay la manera pero no se me ocurre, gracias
salu2
Hola,desde las propiedades solo te da un minuto y algo,pero con un codigo simple podes hacer que dure lo que vos quieras...
saludos.
No lo sabia!! gracias ^^
como dice seba... es solo en minutos, segundos y milisegundos...
pero si aprendes a usar la funcion FORMAT lo haces en 10 minutos...
saludos =D
No se utilizar la funcion format, e provado de ponerle mediante code al interval del timer lo siguiente.
Timer.Interval = 18000000
Que es equivalente a 5h y me ha dicho " El valor de la propiedad no es valido" ya me parecia ami demasiado facil xD, alguna sugerencia?
pero no,te dije que solo aguata un minuto y algo,o sea 65535 milisegundos...tenes que hacer una funcion,algo asi:
Dim Intervalo As Double
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Intervalo = Intervalo + 1
If Intervalo = 3600 Then
MsgBox "llego a 1 hora"
Intervalo = 0
End If
End Sub
saludos.
jajajaja nooooooooooo jajajaa, aprende a usarlo dije....
no se puede poner ese numero...
hace un cronometro, y un if, entonces pones el timer en 1000 (es igual a 1 segundo).
algo asi!
Label1.Caption = Format(CDate(Label1.Caption) + CDate("00:00:01"), "Hh:mm:ss")
recorda que el label1, tiene que ser asi "00:00:00" entonces empieza a sumarle...
haciendo eso haces un if al label cuando es igual a "05:00:00" y listo =)
no se si se entiende... saludos
ya habia pensado algo asi gracias pero el problema de hacerlo asi es que mi programa esta destinado a estar siempre ejecutandose, entonces estara comiendo recursos constantemente pero tampoco creo que ni se note no?
otra forma que se ma acaba de ocurrir es guardar la hora actual en el form load despues en una variable sumarle 5 (o las horas que quieras que pasen), e ir comprobando con un timer que la hora actual concida con la variable anterior, cuando la variable coincida hacer la comprobacion que sea y volver a mandarlo al form load, yo creo que asi comera aun menos no? que os parece salu2
Si lo que queres hacer es una tarea diaria podes hacer algo asi.
Private Sub Form_Load()
If DayChanged Then
Debug.Print "Changed"
End If
End Sub
Private Function DayChanged() As Boolean
Static lDay As Long
If Not lDay = Day(Now) Then
lDay = Day(Now)
DayChanged = True
End If
End Function
llamando a la funcion desde un timer o lo que sea con el intervalo que se te ocurra.
Otra solucion es usar el programador e tareas....
Ya pero de esa manera ya tengo que usar un timer para llamar la funcion, esta complicado, que fallo haber limitado los timer a 1min.. :S xD bueno gracias
salu2
podes usar la api para hacer un timer... y con el format se hace todo... no necesitas 1 hora, ni 1 minuto, solo el timer en 1 segundo y con el contador hace todo el resto...
que no entendes? :S
nada, ya esta todo aclarado gracias
salu2
Cita de: Littlehack en 13 Mayo 2008, 21:23 PM
nada, ya esta todo aclarado gracias
salu2
¿Por qué no posteas el codigo que te ha servido al final? Así los que tuviesen la misma duda que tu podrán resolverla :P
Saludos!!
Cita de: invisible_hack en 13 Mayo 2008, 21:52 PM
Cita de: Littlehack en 13 Mayo 2008, 21:23 PM
nada, ya esta todo aclarado gracias
salu2
¿Por qué no posteas el codigo que te ha servido al final? Así los que tuviesen la misma duda que tu podrán resolverla :P
Saludos!!
Creo k la duda esta resuelta :P
Esque al final me inventado mi metodo xD, bueno siguiendo mas o menos el hilo:
Seria comprobar la fecha actual cuando la aplicacion se inicia, entonces con un timer ir comprobando si ha pasado un dia desde que se inicio el programa WeekDay (now)
y para comprobarlo en horas en vez de en dias, pues cuando se inicie el programa guarda la hora actual y con un timer va comprobando si han pasado x horas desde que se iha iniciado el programa.
Luego pongo el code que estoy en clase.
salu2