Visual Basic - Guardar el momento en que se ejecuta una instrucci

Life is soft - evento anual de software empresarial
   
Vista:

Guardar el momento en que se ejecuta una instrucci

Publicado por Juan Carlos (6 intervenciones) el 25/01/2011 20:07:53
Hola, queria saber si hay alguna forma de guardar el momento exacto (hora, minuto, segundo) en que se ejecuta un procedimiento, una instrucción o una función en visual basic y si despues se puede comparar para ver la diferencia de tiempo entre las dos.
Por favor, necesito su ayuda!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Guardar el momento en que se ejecuta una instru

Publicado por Pedro Luis (128 intervenciones) el 26/01/2011 10:23:09
Caramba parecia una tonteria y se ha complicado.
He creado un proyecto nuevo con un formulario, en General he definido dos variables

Dim f1 As Date, f2 As Date
Option Explicit

y en el click del formulario

Private Sub Form_Click()
f2 = f1
f1 = Date + Time
Print (f1 - f2) * 24 * 60 * 60
End Sub

Como el resultado de f1-f2 son dias y lo estoy probando sobre la marcha lo paso a segundos y parece que funciona.

Pero para lo que quieres sería conveniente crear una funcion que pase estos resultados a dias, horas, minutos y segundos.

Me pongo a ello a ver si soy capaz de hacerlo y te lo pongo a continuación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar el momento en que se ejecuta una instru

Publicado por Pedro Luis (128 intervenciones) el 26/01/2011 11:11:24
Ahí va el resto

Dim f1 As Date, f2 As Date, Dias As Double, Horas As Double, Minutos As Double, Segundos As Double
Option Explicit

Private Sub Form_Click()
If f1 = "00:00:00" Then f1 = Date + Time 'La primera vez no funciona
f2 = f1
f1 = Date + Time + 1.5 'Se suma 1.5 para probar y que salgan dias y horas
Adias (f1 - f2)
Print "Dias " & Dias
Print "Horas " & Horas
Print "Minutos " & Minutos
Print "Segundos " & Format(Segundos, "0.00")
End Sub

Sub Adias(NDias As Double)
Dim Resto As Double
Dias = Int(NDias)
Resto = NDias - Dias
Horas = Int(Resto * 24)
Resto = Resto * 24 - Horas
Minutos = Int(Resto * 60)
Resto = Resto * 60 - Minutos
Segundos = (Resto * 60)
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar