Visual Basic - cronometro

Life is soft - evento anual de software empresarial
 
Vista:

cronometro

Publicado por javi (5 intervenciones) el 25/10/2004 13:48:53
como puedo hacer un cronometro con formato 00:00:00:00 horas minitos segundos decimas com la posibilidad de paradas la cuales deberan querar registradas en un control datagrid flexgrid o lo que sea
gracias
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:cronometro

Publicado por Ruri (583 intervenciones) el 25/10/2004 14:59:02
Javi:
Probá este
Option Explicit
DefLng A-Z
Private Const Precision As Long = 100
Private Declare Function timeGetTime Lib "winmm.dll" () As Long

Private Inicio As Single

Private Sub Form_Load()
On Error Resume Next
'centra el formularioen la pantalla
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
tm.Interval = Precision
Caption = Caption & " - Precisión = " & Precision & " ms"
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
tm.Enabled = False
End Sub

Private Sub opComenzar_Click(Index As Integer)
If Index = 1 Then
tm.Enabled = False 'Apaga el cronómetro
tm_Timer 'Muestra el valor final
Else
Inicio = timeGetTime 'Toma el valor inicial del tiempo
tm.Enabled = True 'Enciende el cronómetro
End If
End Sub

Private Sub tm_Timer()
On Error Resume Next
Dim d As Single, ms As Long, s As Long, m As Long, h As Long
d = timeGetTime - Inicio 'Calcula la diferencia de milisegundos desde que se inició el cronómetro hasta ahora
s = d \ 1000 '1 segundo son 1000 milisegundos
ms = d Mod 1000 'El resto de la división son los milisegundos que sobran
If s > 59 Then
m = s \ 60 '1 minuto tiene 60 segundos
s = s Mod 60 'El resto de la división son los segundos que sobran
End If
If m > 59 Then
h = m \ 60 '1 hora tienen 60 minutos
m = m Mod 60 'El resto son los minutos que sobran
End If
'Muestra el contenido en la etiqueta con el formato correcto
lblTime.Caption = Format$(h, "00") & ":" & Format$(m, "00") & ":" & Format$(s, "00") & ":" & Format$(ms, "000")
'Si se congela el proceso, activar DoEvents
'DoEvents
End Sub

Saludos Ruri
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:cronometro gracias ruri

Publicado por javi (5 intervenciones) el 25/10/2004 18:49:10
variable tm no definida, como la defino
como nombro los botones de inicio pausa y stop para que funcione

solo pillo lo de label =lbltime
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:cronometro gracias ruri

Publicado por Ruri (583 intervenciones) el 25/10/2004 18:53:28
Javier: Te respondí por correo. Lo repito aquí

Los controles son los siguientes:
opComenzar: Option Buttons. Hay dos uno con la propedas index =0 y otro con la propiedad index=1.
(Forman una matriz de controles)
lblTime: Etiqueta. Con la propiedad caption="00:00:00:000"
tm: un timer con la propiedad interval=100
frmCronometro: Formulario

Saludos Ruri
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