FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con mayuscula automatica luego de wordDelimiter
Amigos anteriormente he publicado un Hilo pidiendo como hacer mayusculas automatica luego de un espacio.
Y "jjfgg" publico una forma muy eficaz de hacerlo que es la siguiente
el tema ahora es que al ingresar por ej un Acento o una Ñ que son caracteres ascii extendidos la letra siguiente la pone en mayúscula. No pasa eso si en lugar de ingresar la Ñ ingreso ALT+164, lo mismo con los acentos. Pensaba capturar el key y si es = a 'á' reemplazarlo por chr(160) que seria la á pero me ingresa un espacio en lugar de la à. ¿se les ocurre algo? o con este método no se pueden utilizar acentos ni eÑes. Gracias a todos |
#2
|
||||
|
||||
Hola que tal?
He estado revisando en la unit StrUtils que es donde se define la constante WordDelimiters, y efectivamente no contempla los valores que te dan problemas como la ñ y los acentos, yo he hecho un pequeño apaño por si lo quieres probar tu en tu aplicación y luego nos dices. En la unit StrUtils aparece así: Yo la he modificado y queda como sigue:
Saludos |
#3
|
|||
|
|||
funciono!
buenisimo!
Me podrias Explicar basicamente que significa lo que le agregaste a la definicion. Asi algun dia puedo llegar a solucionar un problema similar? Como sabias que agregando eso funcionaria?? Saludos y feliz año |
#4
|
||||
|
||||
Un mago nunca revela sus secretos!!! Jeje
No en serio es bien sencillo. Como te conté el post anterior, la constante WordDelimiters, contiene una Array con rangos de valores del tipo 'a'..'z', eso quiere decir que recorrerá todos los valores ascii desde el valor ascii de la 'a' hasta el de la 'z', para solucionar tu problemas con los acentos y las 'ñ', sólo tuve que coger una tabla ASCII (benditas herramientas GExperts para Delphi) y coger el rango desde la primera letra con un caracter 'raro' en nuestro caso el acento abierto y la última la y con dieresis, nada más no hay más secretos. Si tienes alguna duda más Saludos y Feliz Año Nuevo |
#5
|
||||
|
||||
No soy Bicho, pero creo que puedo explicarlo .
Primero se trata de ver por qué no incluye las "Ñ" así que en el editor de delphi escribimos WordDelimiters, mantenemos la tecla CTRL pulsada mientras hacemos clic sobre la palabra, ésto nos lleva a la declaración de WordDelimiters en el código fuente de delphi. Claro, vemos que pone:
¿Y como diablos sabemos si ahí se incluye la Ñ o no??, pues tiramos del programa Mapa de carácteres de Windows (en el menú Accesorios), o bien buscamos un programa en internet, buscando por "Map of character" seguro que encontramos alguno, y ahora vemos qué número ascii corresponde a la Ñ y a los demás carácteres que deseamos añadir, como vemos que son números correlativos ascii, entonces usamos los ".." dos puntos para indicar el nuevo rango:
Como hay varios saltos, añadimos las mayúsculas y minúsculas, y si hubiera otra letra, pues se le añade. Me explico mejor, suponemos que deseamos añadir solamente la ñ y Ñ, pues al original añadimos:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
||||
|
||||
Saludos
Solo por molestar. El rango de 1 a 9 y depues agregar 0 como queee es mejor de 0 a 9 no?:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#7
|
|||
|
|||
Una pequeña observacion: modificar el WordDelimiters de esa forma podria ocasionar un eventual bug si esa constante es utilizada en otra parte del codigo que suponga que solo valida por ejemplo los caracteres ascii estandar. Seria mejor definir tu propio set extendido...
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|