Clarion - Resta de Horas

 
Vista:
sin imagen de perfil

Resta de Horas

Publicado por Marco (155 intervenciones) el 18/03/2015 14:26:39
Hola a todos tengo unas variables de tipo hora.
Lo que necesito es hacer una resta y lo hago asi:
loc:diferencia_hora = clock() - loc:hora_inicio
luego si loc:diferencia_hora > 4 hacer algo. Pero no se si loc:diferencia_hora > 4 es la forma correcta de verificar que entre clock() y loc:hora_inicio hay mas de 4 horas.
Alguien me puede ayudar?
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

Resta de Horas

Publicado por Francisco J. Valencia (87 intervenciones) el 18/03/2015 15:36:26
Marco:

El tipo de dato "time" en clarión se expresa en centésimas de segundo.

La operación que haces para calcular la diferencia es correcta.

Ahora la diferencia puede ser un valor por ejemplo 380000

Entonces, si quieres saber las horas, tienes que saber cuantas centésimas de segundo tiene la hora: 60*60*100

Divides LOC:Diferencia/360000 para saber las horas.

Saludos
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
sin imagen de perfil

Resta de Horas

Publicado por JAVIER (11 intervenciones) el 20/03/2015 10:57:29
Te adjunto un fuente de un procedure para detectar los cambios de Hora para incrementar un Contador. La primera hora no es completa, pero a condicion, detecta "diferencia" de horas entre varios días.
Además, si lo quieres hacer más preciso, se puede cambiar el valor una variable que hará que detecte la variación, en lugar de en la hora, en los minutos, dectectar los cambios cada 10 minutos o, incluso, cada minuto, para tener más precisión. Sólo tendrás que tener en cuenta, que en lugar de detectar "4 cambios de hora" para 4 (valor devuelto >= 4) horas, deberás detectar "valor devuelto >= 4 x 6" (precisión 10 minutos) ó "valor devuelto >= 4 x 60" (precisión 60'), teniendo en cuenta siempre la posibilidad de que, la primera hora, los primeros 10 minutos o los primeros 60 segundos, pueden no ser completos.
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