FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour hora1 > hora2 ? mi funcion
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
hora1 > hora2 ? mi funcion
Posted: Sat Jun 21, 2014 08:09 PM
Se aceptan mejoras.
Devuelve .t. si "hora1" es mayor a "hora2"

Uso:
esMayor("10:23", "23:20")


Code (fw): Select all Collapse
FUNCTION esMayor(cHora1, cHora2)
   LOCAL nHora1, nHora2, nMinuto1, nMinuto2, nAt, lValue

   lValue:= .F.

   nAt      := At(":", cHora1)
   nHora1   := Val(SubStr(cHora1, 1, nAt))
   nMinuto1 := Val(SubStr(cHora1, nAt + 1))

   nAt      := At(":", cHora2)
   nHora2   := Val(SubStr(cHora2, 1, nAt))
   nMinuto2 := Val(SubStr(cHora2, nAt + 1))

   IF  nHora1 > nHora2
      // 21:20 y 20: 30
      lValue:= .T.
   ELSEIF nHora1 == nHora2
      // 20:46 y 20:41
      IF nMinuto1 > nMinuto2
         lvalue:= .T.
      ENDIF
   ENDIF

   RETURN (lValue)
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
Re: hora1 > hora2 ? mi funcion
Posted: Sat Jun 21, 2014 09:22 PM
goosfancito wrote:Se aceptan mejoras.
Devuelve .t. si "hora1" es mayor a "hora2"
Uso:
esMayor("10:23", "23:20")




lValue := IIF("10:20" > "23:20", .T., .F.)
Un saludo



Manuel
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: hora1 > hora2 ? mi funcion
Posted: Sat Jun 21, 2014 09:41 PM

Hola goosfancito:
Como te indica Manuel, funciona perfecto. Siempre y cuando, el formato de la hora sea hh:mm como una cadena de texto.
Si las horas pueden venir en formato h:mm u hh:m (Ej: 9:30 o 11:1) ya cambia la cosa, y es apropiado hacer una función como la que has hecho, ya que como cadena de texto "9:30" es mayor que "11:23" pero la hora 11:23 es mayor que la hora 9:23.
Por lo que he visto de las consultas y soluciones que has estado posteando, estas haciendo algún sistema de control horario.
Ten en cuenta, que las horas, se reinician cada dia!! :D O sea que la hora 00:32 del dia 22/06/2014 es mayor que la hora 23:12 del dia 21/06/2014.
Lo que puedes agregarle a tu función es el agregado de la fecha de la hora. Esto te será muy útil si quieres hacer controles de horarios de entradas y salidas cuando los horarios son nocturnos y el ingreso es en un dia y la salida en el otro (horario de 22:00 a 06:00)
Solo es un comentario para tener en cuenta.

Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: hora1 > hora2 ? mi funcion
Posted: Sun Jun 22, 2014 11:04 AM

Gracias por los comentarios.
Si estoy haciendo una app de horarios, pero solo en un rango, no las 24 hs. voy a tomar en cuenta todo lo que me dicen. En mi caso como no me andaba como queria el tema del get y el cpicture para no perder tiempo pase de usar "00:00" a "0.0" y busque funciones y ni me imagine que algo tan sencillo como lo que me deci Manuel podía funcionar, estoy contra reloj con la app es por eso.

Buen comentario lo que leo, voy a tomerlo en cuenta.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/

Continue the discussion