..Bien no se si es lo que este buscando pero éste codigo lo emplee al controlar un reloj.
Private Hora As String
Private Minuto As String
Private Segundo As String
Private mvarTiempo As String
Public Event TiempoAgotado()
Public Property Let Tiempo(ByVal vData As String)
mvarTiempo = vData
End Property
Public Property Get Tiempo() As String
Tiempo = mvarTiempo
End Property
Public Sub DesglosaTiempo(Horex As String)
Hora = ""
Minuto = ""
Segundo = ""
For I = 1 To Len(Horex)
If Mid$(Horex, I, 1) = ":" Then
For j = I + 1 To Len(Horex)
If Mid$(Horex, j, 1) = ":" Then
For h = j + 1 To Len(Horex)
Segundo = Segundo + Mid$(Horex, h, 1)
If h = Len(Horex) Then Exit Sub
Next
Else
Minuto = Minuto + Mid$(Horex, j, 1)
End If
Next
Else
Hora = Hora + Mid$(Horex, I, 1)
End If
Next
'(Format(Me.DTPicker2, "hh:mm:ss AMPM"))
'Me.CommonDialog1.ShowColor
End Sub
Public Function StarTiempo(Aumento As Boolean) As String
Call DesglosaTiempo(Tiempo)
If Aumento = True Then ' es decir si va en aumento
ElseIf Aumento = False Then 'aca para empezar el reloj del cliente
If Val(Segundo) = 0 Then
Segundo = 59
If Minuto = 0 Then
Minuto = 59
If Hora >= 0 Then
Hora = Val(Hora) - 1
End If
Else
Minuto = Val(Minuto) - 1
End If
Else
Segundo = Val(Segundo) - 1
End If
If Val(Hora) = 0 And Val(Minuto) = 0 And Val(Segundo) = 0 Then
RaiseEvent TiempoAgotado
End If
If Len(Hora) = 1 Then Hora = "0" + Trim$(Hora)
If Len(Minuto) = 1 Then Minuto = "0" + Trim$(Minuto)
If Len(Segundo) = 1 Then Segundo = "0" + Trim$(Segundo)
StarTiempo = Trim$(Hora) + ":" + Trim(Minuto) + ":" + Trim(Segundo)
End If
End Function
Public Function ObtieneFinTiempo(Inicio As String, t_Tiempo As String) As String
Dim HInicio As String, HTiempo As String, HFin As String, Minicio As String, Mtiempo As String, Mfin As String
Call Me.DesglosaTiempo(Inicio)
HInicio = Hora
Minicio = Minuto
Call Me.DesglosaTiempo(t_Tiempo)
HTiempo = Hora
Mtiempo = Minuto
HFin = Str(Val(HInicio) + Val(HTiempo))
Mfin = Str(Val(Minicio) + Val(Mtiempo))
While Val(Mfin) > 59
If Val(Mfin) > 59 Then
Mfin = Str(Val(Mfin) - 59)
HFin = Str(Val(HFin) + 1)
End If
Wend
ObtieneFinTiempo = Trim(HFin) + ":" + Trim(Mfin) + ":00"
End Function