2 de mayo de 2018

Convertir a minúsculas

Cuatro formas que podemos utilizar a la hora de capturar texto que requieren solo minúsculas.

Ocasiones las hay en las que requerimos el uso de cuadros de texto que acepten solo letras minúsculas, por ejemplo los casos concretos de correos electrónicos y sitios web.

1. Utilizando la función LOWER() que convierte el texto a minúsculas, para ello agregamos lo siguiente al método LOSTFOCUS del cuadro de texto:

* - Convierte todo el contenido a minúsculas
This.Value=LOWER(This.Value)

Lo anterior con el inconveniente de no simular que se reciben solo minúsculas.

2. La propiedad InputMask. A partir de la versión 9.0 de VFP se agrega el valor 'W' el cual permite carcateres alfabéticos y los convierte a minúsculas.

Véase: Nuevos valores para InputMask y Format en VFP 9.0 esta con el inconveniente de que al solo aceptar caracteres alfabéticos no permite la captura de la @ (arroba).

2. Utilizar la función CAPSLOCK() la cual nos regresa el estado de la tecla con el mismo nombre y además de la posibilidad de cambiarlo.

En el método Init de un formulario declaramos:

PUBLIC lCapsLock

En el método GOTFOCUS de un cuadro de texto agregamos:

* - Guardamos el estado de la tecla
lCapsLock=CAPSLOCK()
* - Lo turnamos a off
CAPSLOCK(.F.)

Con esto solo se aceptarán minúsculas incluyendo el caracter @ (arroba).

En el método LOSTFOCUS del cuadro de texto agregamos:

* - Restauramos la condición de la tecla
CAPSLOCK(lCapsLock)

Lo anterior con la posibilidad de que el Usuario presione nuevamente la tecla CapsLock y provoque que el cuadro de texto admita solo mayúsculas. Para asesurarnos podemos agregar al mismo método lo visto en el punto número 1:

* - Convierte todo el contenido a minúsculas
This.Value=LOWER(This.Value)

4. Utilizar el método KeyPress del cuadro de texto para convertir cada mayúscula tecla presionada a minúscula:

LPARAMETERS nKeyCode, nShiftAltCtrl
IF BETWEEN(nKeyCode,65,90)
  NODEFAULT 
  cMinuscula="'{"+TRANSFORM(nKeyCode+32)+"}'"
  KEYBOARD &cMinuscula
ENDIF 

Lo anterior permite simular que solo se reciben minúsculas sin limitar los caracteres a ingresar.

Saludos.

Jesus Caro V

No hay comentarios. :

Publicar un comentario

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.