FoxPro/Visual FoxPro - ayuda con validaciones

   
Vista:

ayuda con validaciones

Publicado por mario martinez (8 intervenciones) el 13/12/2008 19:35:57
Hola gente, quisiera pedirles una pequeña ayuda referente a siertas validaciones en visual fox pro9.
Quiero validar campos (text) introducir solo letras y espacios, yo utilize un viejo algoritmo de validacion con vectores, pero es bastante largo para introucirlo en el lostfocus del text, otra manera es haciendo un metodo y utilizando variables booleanas pero a la larga es bastante engorroso, el algporitmo de validacion se los paso a continuacion y despues la forma de como lo aplique en vfp, (funciona bastante bien pero es muy largo)

[algoritmo]

inicio
int vec_prohibidas, c, y
string x,C,Z,
dimensionar vec_prohibidas[28]
vec_prohibidas=[!,",$,%,&,/,(,),=,?,¿,Ç] /*Y asi sucesivamente hasta llenar la dimension del vector*/

leer x /*Aca cargamos nuestra cadena*/
y=lenght(x) /*Esta variable y es la longitud de la cadena x*/
c=0 /*Contador*/
while c <= y /*Mientras el contador sea menor a la longitud de la cadena va a continuar el bucle*/
c=c+1
z=substr(1,c,x)

desde i=1 hasta 28 /*bucle de recorrido del vector*/
if z=vec_prohibidas[i]
imrpimir "Esta cadena contiene caracteres no permitidos"
break/*Si encuentra un carcter no permitido cierra directo el bucle*/
end if
fin desde
fin while
fin

[Aplicacion en visual fox pro9]

[form1>init]

PUBLIC vec_prohibidas as Character
DIMENSION vec_prohibidas(5)

vec_prohibidas(1)='!'
vec_prohibidas(2)='%'
vec_prohibidas(3)='$'
vec_prohibidas(4)='Ç'
vec_prohibidas(5)='='

*// y Asi suecsivamente hasta llenar todos los caracters prohibidos

*//Variables del algoritmo

*//Variables numericas
PUBLIC c, y
STORE 0 TO c, y

*//Variables Caracteres
PUBLIC x, z
STORE "" TO x, z

thisform.text1.Value=""

[form>text1>lostfocus]

SET STEP ON
x=thisform.text1.Value
y=0
y=LEN(TRIM(x))
c=0
DO WHILE c<=y
c=c+1
z=SUBSTR(x,c,1)
FOR i=1 TO 5
IF z=vec_prohibidas(i)
sn=MESSAGEBOX("Usted Ingresop un Caracter Prohibido",0)

*//Usar algun procedimiento de cancelacion tipo clear all o algo que ustedes usen yo uso un procedmiento cancelar de limpieza y que haga un break

thisform.cancelar

ENDIF
ENDFOR
ENDDO

pueden probralos solo con un fromulario y un text para ver que finciona, el problema es que mi programa tiene uno cuanto text`s mas100 aprox. y es bastante engorrosocomo ya dije.

el mismo procedmiento puede ser usado para validar numeros es mas facil ya que hay solo unos pocos caracteres permitdos 15 mas o menos dependiendo de las necesidades.
Espero su ayuda

p/d.. se puede hacer el instalador a un programa hecho en visual fox pro 9, y con que herramiernta podria ser..
saludo desde Paraguay
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con validaciones

Publicado por jose camilo (688 intervenciones) el 13/12/2008 19:41:13
lee sobre inputmask esta !!!! para mayuscula XXXXX para cualquier caracter AAAA para alfabetico, etc en la ayuda estan todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con validaciones

Publicado por enrique (1041 intervenciones) el 15/12/2008 15:53:56
Si lo que dice Jose Camilo no te sirve para todos los casos revisa en la ayuda el evento KeyPress; este se desencadena cada vez que presionas una tecla y evalua el valor ASCII por lo que podes controlar por ejemplo para que ingresen solo caracteres alfabeticos

if nkeycode >=65 and nkeycode<=90
&& dejas que ingrese
endif
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio

Ayuda con validaciones

Publicado por Mauricio (1368 intervenciones) el 15/12/2008 23:50:58
Puedes revisar la funcion AT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con validaciones

Publicado por antonio (1 intervención) el 28/07/2010 17:39:49
hola, quiero pedirles un favor, el favor es el siguiente, tengo un formulario que esta trabajando con un grid, el formulario es de calificaciones tiene con cuatro tablas estas son la temporal, la de materias, la de almacenar las notas y la de alumnos, lo que quiero es que al teclear el codigo del alumno me aparersca el grado en que esta las materias que lleva, las notas que tiene en sus respectivas materias y que al teclear otra nota en el grid me actualice la tabla de almacenamiento si me pueden ayudar porfavor aganlo que lo necesito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar