Programación General > Visual Basic 6.0 e inferiores
Problema Con Suma De Tiempos.
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 >= 60 Then s = s - 60: m = m + 1 m = m + Val(Mid(Hora1, 4, 2))If m >= 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 < 10 Then HoraString = "0" + CStr(Hora)Else HoraString = HoraEnd If If Minutos < 10 Then MinutoString = "0" + CStr(Minutos)Else MinutoString = MinutosEnd If If Segundos < 10 Then SegundoString = "0" + CStr(Segundos)Else SegundoSting = SegundosEnd If Promedio = HoraString + ":" + MinutoString + ":" + SegundoStringEnd Function
ArKaNtOs:
Interesante :) lo iba a empezar a hacer pero veo que ya obtuviste una solución :)
nos vemos
Navegación
[*] Página Anterior
Ir a la versión completa