Programación General > Visual Basic 6.0 e inferiores

 Problema Con Suma De Tiempos.

<< < (2/2)

ArKaNtOs:
Uso del Format  ;)

Angel38:
Hola Arkantos, viejo te agradezco mucho esa funcion, solo tuve que cambiarle el valor de los times y listo.

Lo malo es que tengo ahora un nuevo problema y espero que no me tomes como esos flojos que no quieren hacer nada y que todo se lo solucionen, el problema es que llevo horas tratando de encontrar la solucion y nada. :( , es decir que no soy flojo sino bruto  :lol:   :lol:   :lol:

Luego de sumar esos tiempos, les debo sacar el promedio. Seria algo asi como:

Hora1= 20:30:00
Hora2= 15:30:00
Hora3= 01:00:00

Sumarlos 37:00:00 y luego dividirlos entre 3.

Con esta intruccion lo hago siempre y cuando no se pasé de las 24 horas.


--- Código: Text ---promedio= format(TimeValue(suma) / 3 , pero como sabrás  el tiempo se pasa de 24 horas y no tengo idea de como promediarlo, puesto que las soluciones que hago siempre llevan el format en alguna parte y me arroja error al no reconocer tiempos mayores a un día.

Te agradeceria tu colaboracion y vuelvo a pedirte disculpas por hacerte perder el tiempo :P

Angel38:
Lo solucioné.


Muchas gracias Arkantos, ahi te dejo el codigo para promediarlo por si otra persona tiene el mismo problema.



--- Código: Text --- Public Function PromedioTime(ByVal Hora1 As String) As StringDim s As String, m As String, h As String, dividir As DoubleDim mintemp As Double, Hora As Integer, Minutos As Integer, Segundos As IntegerDim HoraString As String, MinutoString As String, SegundoString As String s = 0: m = 0: h = 0s = Val(Right(Hora1, 2))If s &#62;= 60 Then s = s - 60: m = m + 1     m = m + Val(Mid(Hora1, 4, 2))If m &#62;= 60 Then m = m - 60: h = h + 1     h = h + Val(Left(Hora1, 2))  MiHoraDouble = (h * 60) + m + (s / 60)MiHoraDouble = MiHoraDouble / TotalAbsolutomintemp = MiHoraDouble / 60Hora = Int(mintemp)mintemp = (mintemp - Hora) * 60Minutos = Int(mintemp)Segundos = CInt((mintemp - Minutos) * 60) If Hora &#60; 10 Then   HoraString = &#34;0&#34; + CStr(Hora)Else   HoraString = HoraEnd If If Minutos &#60; 10 Then   MinutoString = &#34;0&#34; + CStr(Minutos)Else   MinutoString = MinutosEnd If If Segundos &#60; 10 Then   SegundoString = &#34;0&#34; + CStr(Segundos)Else   SegundoSting = SegundosEnd If Promedio = HoraString + &#34;:&#34; + MinutoString + &#34;:&#34; + SegundoStringEnd Function  

ArKaNtOs:
Interesante :) lo iba a empezar a hacer pero veo que ya obtuviste una solución :)
nos vemos

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa