Programa que te permite calcular el tiempo transcurrido entre dos horas determinadas.
Paso 1: Coloca en el evento Init el siguiente código:
PUBLIC final,hora1,hora2,tempo,inicio,horas,minutos,segs
STORE "00:00" TO hora1,hora2
STORE "00:00:00" TO final
SET PROCEDURE TO funciones additive
thisform.text2.SetFocus
Paso 2: En el campo Text3(hora2) en el evento LostFocus coloca el siguiente procedimiento:
=diftiempo (hora1,hora2)
thisform.text1.Value =final
thisform.Refresh
Paso 3:Crea un prg funciones y aplica el siguiente codigo:
function segundos(tempo,inicio)
if !empty(inicio)
horas=val(left(tempo,2))-val(left(inicio,2))
minutos=val(substr(tempo,4,2))-val(substr(inicio,4,2))
s1=val(substr(tempo,7,2))
s2=val(substr(inicio,7,2))
if s2<=s1
segs=s1-s2
else
segs=s1+(60-s2)
endif
tempo=stuff(tempo,1,2,str(horas,2))
tempo=stuff(tempo,4,2,str(minutos,2))
tempo=stuff(tempo,7,2,str(segs,2))
endif
final=val(left(tempo,2))*3600+val(substr(tempo,4,2))*60+val(substr(tempo,7,2))
return (final)
FUNCTION diftiempo(hora1,hora2)
totsegdia=86400
hora1=segundos(hora1)
hora2=segundos(hora2)
if hora2<=hora1
hora2=hora2+totsegdia
endif
final=hora2-hora1
final=str(int(mod(final/3600,24)),2,0)+":"+str(int(mod(final/60,60)),2,0)+":"+str(int(mod(final,60)),2,0)
if left(final,1)=""
final=stuff(final,1,1,"0")
endif
if substr(final,4,1)=" "
final=stuff(final,4,1,"0")
endif
if substr(final,7,1)=" "
final=stuff(final,7,1,"0")
endif
return(final)
Una vez hecho todo esto el programa estará listo para ser ejecutado.
0 comentarios:
Publicar un comentario