SoloCodigo
		Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: ainhoabiribay en Miércoles 27 de Noviembre de 2002, 20:08
		
			
			- 
				en el proyecto k estoy realizando tengo que sumar horas para ello lo que hago es pasarlas a decimal hacer con ellas lo que tengo k hacer y luego las vuelvo a combertir a formato hora con las siguientes funciones:
 
 Public Function HorasDec(h As Variant) As Variant
 'función que combierte una hora en decimal
 If Not IsNull(h) Then
 HorasDec = Hour(h) + Minute(h) / 60 ' + Second(h) / 3600
 End If
 End Function
 
 Public Function DecHoras(h As Variant) As Variant
 'función que combierte un número decimal a formato hora
 
 Dim nhoras As Integer
 Dim nminutos As Integer
 'Dim nsegundos As Integer
 
 nhoras = Int(h)
 nminutos = Int((h - nhoras) * 60)
 nsegundos = Int(((h - nhoras) * 60 - nminutos) * 60)
 If nsegundos = 59 Then
 nminutos = nminutos + 1
 End If
 
 DecHoras = nhoras & ":" & nminutos '& ":" & nsegundos
 End Function
 
 El problema k tengo es que cuando llamo a la función HorasDec con una hora por ejemplo 25:00 la función hour no funciona ya que solo funciona con horas de 0 a 24 como podría solucionarlo para que si tengo 100horas por ejemplo me funcione y no me de erro de tipos.
 Gracias y un saludo.
- 
				Utiliza el siguiente ejemplo:
 
 Private Sub Command1_Click()
 'Asumo que las casillas text1 y text1 tienen la capacidad
 'de verificar si lo ingresado esta en formato hora, y por tanto
 'al presionar el boton Command1, los valores estan correctos
 Hora1 = Format(Text1, "hh:mm")
 Hora2 = Format(Text2, "hh:mm")
 Text3 = SumarHoras(Hora1, Hora2)
 End Sub
 
 Public Function SumarHoras(ByVal sH1 As String, ByVal sH2 As String) As String
 'Obtengo las horas
 H1 = CDbl(Mid(sH1, 1, 2))
 H2 = CDbl(Mid(sH1, 1, 2))
 'Obtengo los minutos
 M1 = CDbl(Mid(sH1, 4, 2))
 M2 = CDbl(Mid(sH2, 4, 2))
 'Sumo los minutos primero
 SumaMinutos = M1 + M2
 If SumaMinutos > 60 Then
 Minutos = SumaMinutos - 60
 Delta = 1
 Else
 Minutos = SumaMinutos
 Delta = 0
 End If
 Horas = H1 + H2 + Delta
 SumarHoras = Horas & ":" & Minutos
 End Function
 
 Espero te sirva