FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper como validar una fecha erronea en un GET
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
como validar una fecha erronea en un GET
Posted: Sat May 30, 2015 04:51 PM

Estimados

antiguamente cuando uno colocaba una fecha erronea en un get el sistema automaticamente dejaba la fecha vacia para que el usuario la volviera a colocar
pero ahora la deja en el ultimo dia

por ejemplo hoy 30/05/2015 y en el get coloco 31/06/2015 error en fecha pero el sistema deja en 31/05/2015 y eso provoca que el usuario pase sin darse cuenta del error

ahora en el sistema trato de validar dicha fecha pero el valid me pone que el usuario puso 31/05/2015

alguna forma de dejarlo como antes?

Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 24
Joined: Thu Oct 02, 2014 03:51 AM
Re: como validar una fecha erronea en un GET
Posted: Mon Jun 01, 2015 03:11 PM
Patricio:

El comportamiento normal de la clase tget es retornar .F. en el valid del get (aunque vos no hayas utilizado la clausula VALID en tu definicion del get) y emitir un pitido, por lo que usuario no deberia poder 'salir' del get si la fecha es erronea. Si vos le agregas clausula valid podes poner un cartel de aviso, cambiar el valor del get, etc.

Si lo que queres es que se vacie el get por defecto deberias modificar la clase tget y listo, en por ejemplo (depende de la version de fw que tengas):

METHOD lValid() CLASS TGet

local lRet := .t.

if ::BadDate

Tone( 100, 3 )
// agregar
if BadDate
::=CTOD(' / / ')
endif
return .f.

else



Saludos,
Daniel Puente
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: como validar una fecha erronea en un GET
Posted: Wed Aug 10, 2016 10:01 PM
Retomando esto

Daniel

Claro antiguamente eso funcionaba ahora no..

en la clase tGet siempre va una fecha valida

he estado dandole vualta a la clase pero no me entrega dicha fecha erronea para enviarselo al usuario
a alguien le sucede

Code (fw): Select all Collapse
METHOD lValid() CLASS TGet

   local lRet := .t.

  alert( ::oGet:varget ) // siempre devuelve la ultima fecha valida

//como esta la clase ahora esto estaria de mas
   if ::oGet:BadDate
      ::oGet:KillFocus()
      ::oGet:SetFocus()
      MsgBeep()
      return .f.
   else
      ::oGet:Assign()
      if GetASyncKey( VK_UP ) .or. (GetASyncKey( VK_SHIFT ) .and. !GetASyncKey( VK_RETURN )) //patricio
         return( .t. )
     endif

      if ValType( ::bValid ) == "B"
         lRet := Eval( ::bValid, Self  )
         if ! lRet
            ::oWnd:nLastKey = 0
         endif
      endif
   endif

return lRet
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: como validar una fecha erronea en un GET
Posted: Fri Aug 12, 2016 06:59 AM

Patricio,

Prueba a comentar estas líneas:

  // ::oGet:KillFocus()
  // ::oGet:SetFocus()
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion