Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: e500 en 28 Marzo 2009, 18:30 PM

Título: Sumar Hs ; Minutos ; Segundos . Milisegundos
Publicado por: e500 en 28 Marzo 2009, 18:30 PM
Hola, gente... Mi pregunta es como puedo sumar esto:

00:02;20.254 + 00:02;20.338

Aca se los separo:

                       Hora : Minutos ; Segundos . Milesimas de Segundo
                        00   :    02      ;     20       .           254
                        00   :    02      ;     20       .           338


Espero que se entienda, salu2
                       
Título: Re: Sumar Hs ; Minutos ; Segundos . Milisegundos
Publicado por: DarkMatrix en 29 Marzo 2009, 21:49 PM
suponiendo que horas, ni minutos, ni segundos, ni milesimas de segundo pueden alcanzar su valor maximo osea 60,60,60,1000 ya que si minutos valiera 60 ya no fueran 60 minutos si no 1 hora y minutos valdria 0, hay te hize un ejemplo a ver si te sirve:

valores maximos: 99:59;59;999  ;D

Código (vb) [Seleccionar]

Option Explicit

Private Sub Form_Load()
MsgBox SumarTiempo("00:02;20.254", "00:02;59.800")
End Sub

Private Function SumarTiempo(Tiempo1 As String, Tiempo2 As String) As String
Dim H As Integer, H2 As Integer
Dim M As Integer, M2 As Integer
Dim S As Integer, S2 As Integer
Dim Ml As Integer, Ml2 As Integer
Dim Horas As Integer, Minutos As Integer, Segundos As Integer, Milesimas As Integer

H = Mid(Tiempo1, 1, 2)
M = Mid(Tiempo1, 4, 2)
S = Mid(Tiempo1, 7, 2)
Ml = Mid(Tiempo1, 10, 3)

H2 = Mid(Tiempo2, 1, 2)
M2 = Mid(Tiempo2, 4, 2)
S2 = Mid(Tiempo2, 7, 2)
Ml2 = Mid(Tiempo2, 10, 3)

Horas = H + H2
Minutos = M + M2
Segundos = S + S2
Milesimas = Ml + Ml2

If Milesimas >= 1000 Then
Segundos = Segundos + 1
Milesimas = Milesimas - 1000
End If

If Segundos >= 60 Then
Minutos = Minutos + 1
Segundos = Segundos - 60
End If

If Minutos >= 60 Then
Horas = Horas + 1
Minutos = Minutos - 60
End If

SumarTiempo = Format(Horas, "00") & ":" & Format(Minutos, "00") & ";" & Format(Segundos, "00") & "." & Format(Milesimas, "000")

End Function



espero que te sirva de algo. Saludos xD
Título: Re: Sumar Hs ; Minutos ; Segundos . Milisegundos
Publicado por: Karcrack en 29 Marzo 2009, 23:20 PM
A mi me gusta pensar que la solucion mas sencilla es la mejor :P

Código (vb) [Seleccionar]

    'No acepta Ms
    Dim Hora1       As Date
    Dim Hora2       As Date
    Dim HoraR       As Date
   
    Hora1 = "12:01:25"
    Hora2 = "3:05:35"
    HoraR = Hora1 + Hora2
Título: Re: Sumar Hs ; Minutos ; Segundos . Milisegundos
Publicado por: vivachapas en 30 Marzo 2009, 01:12 AM
Cita de: Karcrack en 29 Marzo 2009, 23:20 PM
A mi me gusta pensar que la solucion mas sencilla es la mejor :P

Código (vb) [Seleccionar]

    'No acepta Ms
    Dim Hora1       As Date
    Dim Hora2       As Date
    Dim HoraR       As Date
   
    Hora1 = "12:01:25"
    Hora2 = "3:05:35"
    HoraR = Hora1 + Hora2


yo tb hago asi.. pero no pones milisegundos ahi.. y no se si se podra usar :S
Título: Re: Sumar Hs ; Minutos ; Segundos . Milisegundos
Publicado por: e500 en 30 Marzo 2009, 01:31 AM
Muchisimas gracias!!!  [ DarkMatrix  ] y a todos, voy a probar el CODE y les comento, total mente agradecido...  :rolleyes:

Salu2
   ;D