Consejos sobre el uso del evento VALID

23/06/2004 - 23:42 por Hecpok | Informe spam
Hola amigos

Soy novato en Vfox6. Me gustaria pedirles que me aconsejaran sobre el
correcto uso del valid. Supongamos que tenemos un formulario con 3 textboxs.
Suponiendo como ejemplo que los textboxs comienzan todos en formulario
principal como "enabled=.f." y vamos a hacer un ingreso de datos.
Si el textbox1 debe aceptar valores > 0, diganme si el codigo del evento
valid, esta correcto ó no.

if val(thisform.text1.text)>0
thisform.text2.enabled=.t.
else
thisform.text2.enabled=.f.
endif

Puse este codigo, ya que lamentablemente el valid y when por lo que lei, no
permiten usar setfocus, esto es detener el enfoque si esta mal en el text1.

Acepto consejos de personas como uds, que llevan más tiempo que yo en Fox.
Muchas gracias
Hector

Preguntas similare

Leer las respuestas

#1 Geovanny Contreras Peralta
24/06/2004 - 06:43 | Informe spam
Hola, tienes razón al decir que el valid y when no aceptan el setfocus,
pero puedes usar en este caso el return 0 para que no salgas del enfoque,
return 1 te enfocaría el siguiente texbox o
return -1 se devuelve un texbox o objeto, Fíjate en la ayuda del valid,
creo que te servirá de mucho.

En este caso harías así por ejemplo:

if val(thisform.text1.text)>0
titulo="Atención"
messagebox("No se permite una cantidad mayor a cero.", 48, titulo)
return 0 && No pierdo el enfoque y quedo justamente el el text1
endif


geovanny

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

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#2 Ana María Bisbé York
24/06/2004 - 06:57 | Informe spam
Hola Hector:

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, y si
te entiendo bien lo que quieres es NO salir del text1 si tiene problemas.
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


Saludos,

Ana
www.amby.net


"Hecpok" escribió en el mensaje
news:
Hola amigos

Soy novato en Vfox6. Me gustaria pedirles que me aconsejaran sobre el
correcto uso del valid. Supongamos que tenemos un formulario con 3


textboxs.
Suponiendo como ejemplo que los textboxs comienzan todos en formulario
principal como "enabled=.f." y vamos a hacer un ingreso de datos.
Si el textbox1 debe aceptar valores > 0, diganme si el codigo del evento
valid, esta correcto ó no.

if val(thisform.text1.text)>0
thisform.text2.enabled=.t.
else
thisform.text2.enabled=.f.
endif

Puse este codigo, ya que lamentablemente el valid y when por lo que lei,


no
permiten usar setfocus, esto es detener el enfoque si esta mal en el


text1.

Acepto consejos de personas como uds, que llevan más tiempo que yo en Fox.
Muchas gracias
Hector


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