Calculo con horas en VFP

Sabes que deseo que en una forma se estén capturando
las horas, me supongo que seria en un textbox, y se estén guardando en una tabla.
Para después en un reporte sacar la defenecía de una hora y otra. Por ejemplo.
Captura.
Hora inicio Hora termino
17:30 18:00
20:00 21:15
22:10 22:¿20
qué formato debe tener el campo de la tabla? (Carácter, datetime) donde se va a guardar la
info. Para que en el reporte el resultado de la diferencia de tiempos sea calculado
y que propiedades debe tener el textbox en la forma para la captura.
Mil gracias por tu ayuda.

1 respuesta

Respuesta
1
Lo ideal sería que fueran campos DateTime, pero yo prefiero usar campos de texto de longitud ocho y crear un procedimiento para cálculo de diferencias. El procedimiento es similar a:
Parameters cHoraInicio, cHoraFinal
Local nHora, nMinuto, nSegundo
nHora = Val( Left( cHoraFinal, 2 ) ) - Val( Left( cHoraInicial, 2 ) )
nMinuto = Val( SubStr( cHoraFinal, 3, 2 ) ) - Val( SubStr( cHoraInicial, 3, 2 ) )
nSegundo = Val( Right( cHoraFinal, 2 ) ) - Val( Right( cHoraFinal, 2 ) )
If nSegundo < 0
     nSegundo = nSegundo + 60
     nMinuto = nMinuto - 1
EndIf
If nMinuto < 0
     nMinuto = nMinuto + 60
     nHora = nHora - 1
EndIf
Return PadL( AllTrim( Str( nHora ) ), 2, "0" ) + ":" + PadL( AllTrim( Str( nMinuto ) ), 2, "0" ) + ":" + PadL( AllTrim( Str( nSegundo ) ), 2"0" )

Suponiendo que e procedimiento se llame DiffHora en el reporte coloco un campo con el valor DiffHora( Tabla. hora_inicio, Tabla. hora_termino )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas