Page 1 of 1
Captura de fecha
Posted: Mon Nov 14, 2005 5:29 pm
by AngelSalom
Hola foro, de nuevo incordiando.
Veréis, una cosita que en clipper+fw no me pasaba y que ahora si, es que cuando se introduce una fecha errónea en un get tipo DATE, el sistema, deja la fecha en blanco y salta al siguiente campo.
El tema es que debería quedarse el get en el mismo campo y no pasar al siguiente.
Se puede evitar esto?
Gracias.
Posted: Tue Nov 15, 2005 12:26 am
by Alfredo Arteaga
Para reforzar este probema, no creo que seamos los únicos o tal vez ya plantearon pregunta y repuesta.
Habrá alguien que nos ilumine?!
Gracias.
Posted: Tue Nov 15, 2005 3:02 am
by Alfredo Arteaga
Si no es la solución correcta al menos funciona:
METHOD lValid() CLASS TGet
local lRet := .t.
if ::oGet:BadDate
::oGet:Buffer := DtoC(::cOldDate)
::oGet:Assign()
::oGet:KillFocus()
::oGet:SetFocus()
MsgBeep()
return .f.
else
if ValType( ::bValid ) == "B"
lRet := Eval( ::bValid, Self )
if ! lRet
::oWnd:nLastKey = 0
endif
endif
endif
return lRet
Saludos.
Posted: Tue Nov 15, 2005 2:19 pm
by AngelSalom
¿Qué valor debería tomar ::coldDate?, ya que no existe esa DATA en la clase get que yo tengo.
Gracias.
Posted: Tue Nov 15, 2005 2:24 pm
by AngelSalom
Iniciando ::cOldDate a una fecha válida, sigue saltando el foco del get de la fecha al siguiente.
Sí funciona
Posted: Tue Nov 15, 2005 3:12 pm
by Armando
Angel yAlfredo:
Con Harbour .44 y FWH 2.5 March 2005, la validación sí se efectua,
he tratado de meter 30/02/2005 y no sale del get.
Ojo, es con get no con Datepicker.
Saludos, Armando
Posted: Tue Nov 15, 2005 3:38 pm
by Alfredo Arteaga
Lo que hice fue agregar el DATA cOldDate y en el método GotFocus() inicializarla a ::cOldDate := ::oGet:Original de esta forma al detectar una fecha no válida la restablece a su valor original (y no permite el avance).