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?
como validar una fecha erronea en un GET
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
como validar una fecha erronea en un GET
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
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
Re: como validar una fecha erronea en un GET
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 ::oGet:BadDate
Tone( 100, 3 )
// agregar
if BadDate
::buffer:=CTOD(' / / ')
endif
return .f.
else
Saludos,
Daniel Puente
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 ::oGet:BadDate
Tone( 100, 3 )
// agregar
if BadDate
::buffer:=CTOD(' / / ')
endif
return .f.
else
Saludos,
Daniel Puente
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Re: como validar una fecha erronea en un GET
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
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: Select all
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
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: como validar una fecha erronea en un GET
Patricio,
Prueba a comentar estas líneas:
// ::oGet:KillFocus()
// ::oGet:SetFocus()
Prueba a comentar estas líneas:
// ::oGet:KillFocus()
// ::oGet:SetFocus()