Domingo 22 de Diciembre de 2024, 19:59
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Problema Con Suma De Tiempos.
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Problema Con Suma De Tiempos. (Leído 3137 veces)
Angel38
Miembro MUY activo
Mensajes: 370
Problema Con Suma De Tiempos.
«
en:
Sábado 22 de Julio de 2006, 16:58 »
0
Hola amigos.
Se me presentó un problema el cual nunca lo tuve como opción.
Pasa que sumaba las horas, pero como siempre sumaba por minutos, nunca tuve problemas, ahora bien, llegó a 23:59:59 y cuando quize sumar cinco horas más, me aparecieron exactamente, es decir que las 24 horas se perdieron.
Lo que pienso es que cuando llega a 24:00:00 horas, se convierte en 00:00:00 y empieza a sumar de nuevo.
Alguno sabe como darle solucion a ese problema y que me llegue a mostrar 25:00:00 u horas mayores que 24.
Tweet
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.
ArKaNtOs
Miembro de PLATA
Mensajes: 1253
Nacionalidad:
Re: Problema Con Suma De Tiempos.
«
Respuesta #1 en:
Sábado 22 de Julio de 2006, 18:36 »
0
Dim x1 As String, x2 As String, cadena As String, s As Byte, m As Byte, h As Byte
Private Sub Command1_Click()
s = 0: m = 0: h = 0
x1 = "05:10:53"
x2 = "23:22:09"
s = Val(Right(x1, 2)) + Val(Right(x2, 2))
If s >= 60 Then s = s - 60: m = m + 1
m = m + Val(Mid(x1, 4, 2)) + Val(Mid(x2, 4, 2))
If m >= 60 Then m = m - 60: h = h + 1
h = h + Val(Left(x1, 2)) + Val(Left(x2, 2))
cadena = h & ":" & m & ":" & s
MsgBox cadena
End Sub
Espero sea lo q necesites
solocodigo
el punto de encuentro de los programadores
VB
,
C
,
C++
,
.Net
,
Java
,
Delphi
,
Linux
,
Programacion de Videojuegos
,
ASM
,
Dudas Informaticas
.
Angel38
Miembro MUY activo
Mensajes: 370
Re: Problema Con Suma De Tiempos.
«
Respuesta #2 en:
Lunes 24 de Julio de 2006, 15:06 »
0
Gracias Arkantos.
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.
Angel38
Miembro MUY activo
Mensajes: 370
Re: Problema Con Suma De Tiempos.
«
Respuesta #3 en:
Lunes 24 de Julio de 2006, 15:56 »
0
Me gustaria saber si hay una forma de hacerlo con este tipo de formato.
Sumatiempo= Format(TimeValue(Txthora1.text) + TimeValue(Txhora2.text))
Gracias por su ayuda.
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.
ArKaNtOs
Miembro de PLATA
Mensajes: 1253
Nacionalidad:
Re: Problema Con Suma De Tiempos.
«
Respuesta #4 en:
Lunes 24 de Julio de 2006, 20:05 »
0
que yo sepa nop
pero porque no lo que te di haslo en una funcion algo mas o menos asi
Código: Text
Private Sub Command1_Click()
MsgBox sumatime(Time, Time)
End Sub
Public Function sumatime(ByVal Hora1 As String, Hora2 As String) As String
Dim s As String, m As String, h As String
s = 0: m = 0: h = 0
Hora1 = Format(Hora1, "HH:MM:SS")
Hora2 = Format(Hora2, "HH:MM:SS")
s = Val(Right(Hora1, 2)) + Val(Right(Hora2, 2))
If s >= 60 Then s = s - 60: m = m + 1
m = m + Val(Mid(Hora1, 4, 2)) + Val(Mid(Hora2, 4, 2))
If m >= 60 Then m = m - 60: h = h + 1
h = h + Val(Left(Hora1, 2)) + Val(Left(Hora2, 2))
s = IIf(Len(s) = 1, 0 & s, s)
m = IIf(Len(m) = 1, 0 & m, m)
h = IIf(Len(h) = 1, 0 & h, h)
sumatime = h & ":" & m & ":" & s
End Function
solocodigo
el punto de encuentro de los programadores
VB
,
C
,
C++
,
.Net
,
Java
,
Delphi
,
Linux
,
Programacion de Videojuegos
,
ASM
,
Dudas Informaticas
.
ArKaNtOs
Miembro de PLATA
Mensajes: 1253
Nacionalidad:
Re: Problema Con Suma De Tiempos.
«
Respuesta #5 en:
Lunes 24 de Julio de 2006, 20:14 »
0
Uso del Format
solocodigo
el punto de encuentro de los programadores
VB
,
C
,
C++
,
.Net
,
Java
,
Delphi
,
Linux
,
Programacion de Videojuegos
,
ASM
,
Dudas Informaticas
.
Angel38
Miembro MUY activo
Mensajes: 370
Re: Problema Con Suma De Tiempos.
«
Respuesta #6 en:
Martes 25 de Julio de 2006, 16:55 »
0
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
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
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.
Angel38
Miembro MUY activo
Mensajes: 370
Re: Problema Con Suma De Tiempos.
«
Respuesta #7 en:
Martes 25 de Julio de 2006, 19:11 »
0
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 String
Dim s As String, m As String, h As String, dividir As Double
Dim mintemp As Double, Hora As Integer, Minutos As Integer, Segundos As Integer
Dim HoraString As String, MinutoString As String, SegundoString As String
s = 0: m = 0: h = 0
s = 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 / TotalAbsoluto
mintemp = MiHoraDouble / 60
Hora = Int(mintemp)
mintemp = (mintemp - Hora) * 60
Minutos = Int(mintemp)
Segundos = CInt((mintemp - Minutos) * 60)
If Hora < 10 Then
HoraString = "0" + CStr(Hora)
Else
HoraString = Hora
End If
If Minutos < 10 Then
MinutoString = "0" + CStr(Minutos)
Else
MinutoString = Minutos
End If
If Segundos < 10 Then
SegundoString = "0" + CStr(Segundos)
Else
SegundoSting = Segundos
End If
Promedio = HoraString + ":" + MinutoString + ":" + SegundoString
End Function
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.
ArKaNtOs
Miembro de PLATA
Mensajes: 1253
Nacionalidad:
Re: Problema Con Suma De Tiempos.
«
Respuesta #8 en:
Martes 25 de Julio de 2006, 19:53 »
0
Interesante
lo iba a empezar a hacer pero veo que ya obtuviste una solución
nos vemos
solocodigo
el punto de encuentro de los programadores
VB
,
C
,
C++
,
.Net
,
Java
,
Delphi
,
Linux
,
Programacion de Videojuegos
,
ASM
,
Dudas Informaticas
.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Problema Con Suma De Tiempos.