¿Cómo hago para que el campo de un datawindow sólo acepte valores A-Z?
Quisiera saber como hago para que un campo de un datawindow solo me acepte valores [A - Z] solamente
1 Respuesta
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Lamentablemente por más que he intentado buscar y encontrar esta posibilidad no la he podido localizar, he intentado anular el carácter numérico, bloquearlo por medio del key Encontré una posibilidad pero tendrás que poner tu un poco de tu parte también, existe un evento llamado editchanged() en el datawindow, este evento contiene 3 referencias, dwo, row, data, en esta ultima, se refleja el valor del dato que cambia cada vez que se pulsa una tecla, de tal manera que se me ocurre que puedes interrogar el valor del campo, y extraer el ultimo carácter, el cual corresponde a la ultima tecla pulsada, utilizando la función ISNUMBER() sabrás si se trata de un carácter tipo numérico o no, esto te permitirá filtrar los caracteres numéricos, y los que no son dejarlos pasar, sin embargo esto requiere que interrogues siempre el valor de data, y que si este contiene un valor numérico lo elimines de él y luego lo reemplaces en el campo del datawindow, pues data solo es una referencia y no afecta en nada el dato en el objeto edit. Esta es mi teoría, y creo que puede funcionar.
Los campos editables del datawindow llevan el nombre de edit y este es genérico, lo que cambia es su apariencia, o en otras palabras, una propiedad que cambia la forma en que debe ser ingresado el dato, dentro de esta propiedad la cual se cuentra en la pestaña edit de estos campos, existe una propiedad llamada style type, el cual designa cual es el tipo o estilo en que debe ser ingresado o aceptado el dato, en esta propiedad encuentras la EditMask, la cual permite desarrollar o integrar una mascara para el campo que debe ser ingresado, la mascara funciona dependiendo del tipo de dato del campo que se esta editando Los caracteres disponibles para formar una mascara que afecte a un tipo de dato alfanumérico o char son: ! = SOLO PERMITE MAYUSCULA ^ = SOLO PERMITE MINUSCULAS # = SOLO PERMITE NUMERO a = ALFANUMERICO x = CUALQUIER CARACTER. Dependiendo del numero de caracteres que formen una mascara este será el limite de edición. Solución alterna: Sin embargo el objeto edit, contiene una propiedad que permite describir una especie de mascara la cual se llama FORMAT, o formato, en esta propiedad también se puede definir una mascara y funciona prácticamente igual que la del editmask