Hoy me he visto en la necesidad de saber si las cadenas de una tabla (había 9000) estaban en mayúsculas o no.
Tenemos una tabla para traducción de idiomas, en la columna de la izquierda el TextoATraducir, y en la derecha el TextoTraducido. Hemos empleado google, para hacer una traducción inicial (Bastante decente por cierto), pero al traducir, había frases en mayúsculas en el TextoATraducir, que al traducirlas, las ha dejado en minúsculas.
Esto, al visualizarse en la aplicación no se ve bien, pues por diseño, todas nuestras etiquetas están en mayúscula.
Así que necesitaba una función para saber si la frase entera está en mayúscula o no. Pero Fox no la tiene.
Así que he diseñado una función que me ha sacado del aprieto. No se si es muy perfecta, pero a mi me ha resultado muy útil.
Un Saludo.
Fernando Puyuelo
*--------------------------------------------------------- * Método: * FUNCTION EsMayusculas * Parameters: * tcCadena: E : Cadena a verificar si está en Mayúsculas * Objetivo: * Revisar si una cadena pasada por parametro está en Mayúsculas o no. * Ejemplo: * ? EsMayusculas("ESTO ES UNA FRASE EN MAYÚSCULAS") -> .T. * ? EsMayusculas("ESTO ES UNA FRASE no todo en MAYÚSCULAS") -> .F. * Programador: * Fernando PUyuelo Ossorio * INFORMÁTICA BORSAN, S.L. * Fecha de Terminación: * 22/10/2008 11:12:24 * Modificaciones: *--------------------------------------------------------- FUNCTION EsMayusculas LPARAMETERS tcCadena LOCAL i, llEsMayusculas i = 0 llEsMayusculas = NULL FOR i = 1 TO LEN(tcCadena) llLetra = SUBSTR(tcCadena,i,1) IF !EMPTY(llLetra) llEsMayusculas = ISUPPER(llLetra) ENDIF IF !llEsMayusculas EXIT ENDIF ENDFOR IF ISNULL(llEsMayusculas) llEsMayusculas = .F. ENDIF RETURN llEsMayusculas *FIN FUNCTION EsMayusculas --------------------------------------