FoxPro/Visual FoxPro - ayuda urgente con suma de horas

   
Vista:

ayuda urgente con suma de horas

Publicado por mario (90 intervenciones) el 20/07/2011 14:02:46
muy buenas a todos estoy necesitando sumar y restar horas. pero tengo dos parametros ej.
si es de 06:00 a 20:00 hs es hora 50 y si es de 20:01 a 05:59 horas 100 como hago que me rompo la cabeza y no me sale esperando una respuesta gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda urgente con suma de horas

Publicado por Saul (676 intervenciones) el 20/07/2011 20:31:54
Mira te doy este ejemplo no se si te sirve pero la verdad eso de 50 0 100 seria que tu parametrizaras tus horarios, pero la base es esta.. suerte..

Yo como lo haria seria al final primero sumo las horas luego al final solo cambio si es 50 o 100 para que ese 50 o 100 sea puramente referencial

Suerte

Saul - Guatemala

** Horario Labor
HEntra = 08:00
mHoraentrada = 08:10



mxMinutos = Minutos_Entre(mHoraentrada,HEntra,'00:00')
mNota='Entro Temprano, '



FUNCTION Minutos_Entre
Para x1, x2,x3
If x1 >= x2
RETURN '00:00'
EndIf
If Empty(x1) Or Empty(x2)
RETURN '00:00'
EndIf
x_Hora = x1
x_Rt=0
x_Gc = VAL(x3)
Do While x_Hora < x2
x_Rt=x_Rt+1
x_Ho=Left(x_Hora,2)
x_Mi=Right('00'+Alltrim(Str(Val(Right(x_Hora,2))+1)),2)
If x_Mi='60'
x_Mi='00'
x_Ho=Right('00'+Alltrim(Str(Val(x_Ho)+1)),2)
If x_Ho='24'
x_Ho='00'
EndIf
EndIf
x_Hora=x_Ho+':'+x_Mi
EndDo

*-Para el dato de Gracia
IF x_Rt > x_Gc

x_Rt = x_Rt

IF mEntroTarde
x_Rt = x_Rt - x_Gc
IF x_Rt < 0 && Por si vino tarde y le alganzan los minutos
x_Rt = 0
ENDIF
ENDIF
ELSE
x_Rt = 0
mNota = 'Entro Tarde se aplico tiempo de Gracia, '
ENDIF

x_RtH = ((x_Rt/60) - INT(x_Rt/60))
x_RtM = ROUND(60 * x_RtH,2)
x_RTiempo = TRANSFORM(INT(x_Rt/60), "@L 99")+':'+TRANSFORM(INT(x_RtM), "@L 99")
RETURN (x_RTiempo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar