Buenas,
Estuve buscando por Google por más de 5 hs una solución o algo que me haga entender como hacer. Lo peor de todo es que considero esto como algo muy facil pero no me sale.
El tema es el siguiente, si bien se pueden calcular fechas del año de los picapiedras hasta los supersónicos con todos los chiches y muy facil, no encontré forma de calcular o contar desde 0 el "current time" o "uptime".
¿Cómo se puede hacer para comenzar en [00/00/00 - 00:00:00] y que cada 1 segundo me sume 1?
Para poder calcular el tiempo transcurrido. Lo más parecido a esto que encontré es un cronómetro, pero la verdad, es muy poco optimo y además, sólo cuenta hasta horas.
Espero me puedan ayudar y así además queda para todos los que lo necesitan.
Gracias y abrazo. :)
el uptime se puede calcular con apis, aca un ejemplo simple.
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Sub Form_Load()
MsgBox getTimePassed
End Sub
Public Function getTimePassed() As String
Dim lngHour As Long
Dim lngMinute As Long
Dim lngSeconds As Long
lngHour = Int(GetTickCount / 1000 / 60 / 60)
lngMinute = Int((GetTickCount / 1000 / 60)) - lngHour * 60
lngSeconds = Int((GetTickCount / 1000)) - lngMinute * 60 - lngHour * 3600
getTimePassed = Trim(Str(lngHour) & ":" & sGetWideTimeString(lngMinute) & ":" & sGetWideTimeString(lngSeconds)) & vbNullChar
End Function
Public Function sGetWideTimeString(ByVal btInputNumb As Byte) As String
Dim sTemp As String
sTemp = Trim(Str(btInputNumb))
If Len(sTemp) = 1 Then sTemp = "0" & sTemp
sGetWideTimeString = sTemp
End Function
saludos.
The sister checker al ataque!!
http://www.mediafire.com/?4m3z0xa0lwrqnsa
Muestra el tiempo desde que se prendio la pc.
Lo usaba para ver cuanto tiempo pasaba mi hermana en la pc.
No hace falta abrirlo al iniciar sesion o prender la pc. Al abrirlo te muestra el tiempo desde que se prendio.
Muchas gracias, ambos funcionan de 10!
Una sóla duda no más al respecto:
¿Cómo se lo reinicia? Porque tengan en cuenta que es para hacer el uptime de un servidor y, si bien espero que esté siempre on, algunas veces va a reiniciarce. :P
Saludos.
Se reinicia cuando reinicias el PC... claramente lo dijo Elemental Code
Dulces Lunas!¡.
O cuando llegue al limite, que mas o menos eran a los 13 dias segun me acuerdo :P
Ah... entonces creo que no me va a servir.
Yo quiero simplemente un contador de Horas:Minutos:Segundos. No tiene nada que ver con el arranque de la PC o sesión. Y que se pueda reinciar cuando lo desee.
Lo puedes modificar para que se reestablesca
Private Declare Function GetTickCount Lib "kernel32" () As Long
Dim acTime As Long
Public Function getTimePassed() As String
Dim timeActual As Long
Dim lngHour As Long
Dim lngMinute As Long
Dim lngSeconds As Long
timeActual = GetTickCount - acTime
lngHour = Int(timeActual / 1000 / 60 / 60)
lngMinute = Int((timeActual / 1000 / 60)) - lngHour * 60
lngSeconds = Int((timeActual / 1000)) - lngMinute * 60 - lngHour * 3600
getTimePassed = Trim(Str(lngHour) & ":" & sGetWideTimeString(lngMinute) & ":" & sGetWideTimeString(lngSeconds)) & vbNullChar
End Function
Public Function sGetWideTimeString(ByVal btInputNumb As Byte) As String
Dim sTemp As String
sTemp = Trim(Str(btInputNumb))
If Len(sTemp) = 1 Then sTemp = "0" & sTemp
sGetWideTimeString = sTemp
End Function
Public Function Reset()
acTime = GetTickCount
End Function
En un formulario:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
MsgBox getTimePassed
Module1.Reset
MsgBox getTimePassed
Sleep 3000
MsgBox getTimePassed
Module1.Reset
MsgBox getTimePassed
End Sub
Pone un timer con interval de 1000
Dim xd As Date
Private Sub Form_Load()
xd = 0
'me evade la razon, pero arranca a las 12:00:00
End Sub
Private Sub Timer1_Timer()
xd = xd + "00:00:01"
Debug.Print xd
End Sub
;-) ;-)
RUSTICO!
Cita de: iaorengo en 23 Noviembre 2011, 05:18 AM
Ah... entonces creo que no me va a servir.
Yo quiero simplemente un contador de Horas:Minutos:Segundos. No tiene nada que ver con el arranque de la PC o sesión. Y que se pueda reinciar cuando lo desee.
dijiste "uptime", eso significa desde que inicio la pc...
usa un Timer comun o si queres hacerlo mas copado, con las api de Timers.