evento valid....

14/07/2004 - 19:51 por Carlos Alberto Schroeter | Informe spam
Hola Foro!!!

Tengo en un formulario un textbox que en evento valid verifica si el dato
ingresado es válido...si lo es pasa al siguiente textbox...si no no se
mueve

El problema es que cuando quiero cerrar el formulario el evento valid del
textbox no permite salir si el dato contenido en él no es válido...

Preguntase puede controlar desde este evento que lo que se está
haciendo es intentar salir del formulario????

Gracias

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Ana María Bisbé York
14/07/2004 - 23:08 | Informe spam
Hola Carlos Alberto:

Lo mejor es que desde el valid llames a un procedimiento creado por tí para
que realice las validaciones. Así, si varios textbox realizan la misma
comprobación tienes que dar mantenimiento sólo a un código de programa.
También te puedes crear una clase con el textbox como clase base y luego
los que necesitas ya heredan ese comportamiento (programación orientada a
objetos - POO)

Pero, de todas formas, las comprobaciones se pueden hacer en el valid.

Preguntase puede controlar desde este evento que lo que se está
haciendo es intentar salir del formulario????


No se puede dejar salir y no dejar salir del valid. El comportamiento es el
siguiente el VFP comprueba y si retorna .T. sale, de lo contrario, ni modo.
Así que lo debes controlar tu. Prueba algo como esto.

* text1.Valid
* Declaramos una variable local,
* de tipo lógico que devuelve T ó F
* y permite o no salir del valid
local llRetorna
* Inicializamos a .T.
llRetorna = .T.

* Comprobamos que el valor
* de mi control actual (This) no es el correcto
* OJO !! Comparas con la propiedad Value

if val(this.VAUE)<0
llRetorna = .F.
* Aqui es conveniente agregar un mensaje
* de usuario de que el valor no es correcto
endif

return llRetorna

En el mensaje puedes dar la opción a re-validar o dejar salir del valid
aunque el valor sea incorrecto Ej. Aceptar y Cancelar. Aceptar va a tomar
otro valor y re-validar, Cancelar, deja salir (tu le pones el valor .T. a
llRetorna)

Saludos,

Ana
www.amby.net

"Carlos Alberto Schroeter" escribió en el
mensaje news:
Hola Foro!!!

Tengo en un formulario un textbox que en evento valid verifica si el dato
ingresado es válido...si lo es pasa al siguiente textbox...si no no se
mueve

El problema es que cuando quiero cerrar el formulario el evento valid del
textbox no permite salir si el dato contenido en él no es válido...

Preguntase puede controlar desde este evento que lo que se está
haciendo es intentar salir del formulario????

Gracias


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#2 Carlos Yohn Zubiria
15/07/2004 - 16:25 | Informe spam
¿Por qué no compruebas el valor de 'lastkey()'?
Si es 27 (escape) permites continuar porque se va a cerrar el formulario; en
caso contrario no permites.
Para el caso de que quiera salir pinchando un botón, en el click del botón
de salir pones:
nodefault
keyboard '{esc}'

En cualquiera de los casos, la tecla escape deberá estar controlada en el
evento keypress del formulario, con keypreview a .t. y llamando a un método
particular tuyo que ejecute lo que necesite y permita cerrar o no el
formulario.


Saludos,
A.G.P. (Aplicaciones de Gestión y Productividad)
Las Arenas - Vizcaya - España

"Ana María Bisbé York" escribió en el mensaje
news:%
Hola Carlos Alberto:

Lo mejor es que desde el valid llames a un procedimiento creado por tí


para
que realice las validaciones. Así, si varios textbox realizan la misma
comprobación tienes que dar mantenimiento sólo a un código de programa.
También te puedes crear una clase con el textbox como clase base y luego
los que necesitas ya heredan ese comportamiento (programación orientada a
objetos - POO)

Pero, de todas formas, las comprobaciones se pueden hacer en el valid.

> Preguntase puede controlar desde este evento que lo que se está
> haciendo es intentar salir del formulario????
No se puede dejar salir y no dejar salir del valid. El comportamiento es


el
siguiente el VFP comprueba y si retorna .T. sale, de lo contrario, ni


modo.
Así que lo debes controlar tu. Prueba algo como esto.

* text1.Valid
* Declaramos una variable local,
* de tipo lógico que devuelve T ó F
* y permite o no salir del valid
local llRetorna
* Inicializamos a .T.
llRetorna = .T.

* Comprobamos que el valor
* de mi control actual (This) no es el correcto
* OJO !! Comparas con la propiedad Value

if val(this.VAUE)<0
llRetorna = .F.
* Aqui es conveniente agregar un mensaje
* de usuario de que el valor no es correcto
endif

return llRetorna

En el mensaje puedes dar la opción a re-validar o dejar salir del valid
aunque el valor sea incorrecto Ej. Aceptar y Cancelar. Aceptar va a tomar
otro valor y re-validar, Cancelar, deja salir (tu le pones el valor .T. a
llRetorna)

Saludos,

Ana
www.amby.net

"Carlos Alberto Schroeter" escribió en el
mensaje news:
> Hola Foro!!!
>
> Tengo en un formulario un textbox que en evento valid verifica si el


dato
> ingresado es válido...si lo es pasa al siguiente textbox...si no no se
> mueve
>
> El problema es que cuando quiero cerrar el formulario el evento valid


del
> textbox no permite salir si el dato contenido en él no es válido...
>
> Preguntase puede controlar desde este evento que lo que se está
> haciendo es intentar salir del formulario????
>
> Gracias
>
>
> PortalFox :: Nada corre como un zorro
> http://www.portalfox.com
>
> PortalFox - NNTP Forum Gateway


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida