hora1 > hora2 ? mi funcion

hora1 > hora2 ? mi funcion

Postby goosfancito » Sat Jun 21, 2014 8:09 pm

Se aceptan mejoras.
Devuelve .t. si "hora1" es mayor a "hora2"

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


Code: Select all  Expand view
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/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: hora1 > hora2 ? mi funcion

Postby Manuel Valdenebro » Sat Jun 21, 2014 9: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
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Re: hora1 > hora2 ? mi funcion

Postby cmsoft » Sat Jun 21, 2014 9: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.
User avatar
cmsoft
 
Posts: 1190
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: hora1 > hora2 ? mi funcion

Postby goosfancito » 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/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 12 guests