Tema: Diacrítico
Ver Mensaje Individual
  #9  
Antiguo 18-11-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola Ariefez!

Hace algunos años me hice la misma pregunta que tú (aunque con «signos de interrogación» ). Investigando en la vasta ayuda de la API de Windows —Win32.hlp—, encontré que la función MultiByteToWideChar puede utilizarse para obtener la composición de un carácter con diacrítico (Windows mantiene una relación de los caracteres diacríticos y sus posibles composiciones con diferentes letras). Para esto, hay que indicar el parámetro mb_Composite al llamar a la función.

Pero como muchas otras funciones de la API de Windows, MultiByteToWideChar resulta un poco pomposa a la hora de llamarla: sólo acepta cadenas PChar, debes darle el buffer donde guardará el resultado y ¡demanda seis parámetros! ; y por si fuera poco también descompone la letra eñe (en tilde + ene). Quizá te convenga crear una función que encapsule, controle y simplifique el uso de MultiByteToWideChar para quitar los diacríticos de una cadena en castellano, lo cual también yo hice en mi biblioteca de funciones Delphi (si quieres una copia, sólo envíame un correo).

Espero esto sea de utilidad, seguimos en contacto.

Un abrazo agudo, grave y circunflejo.

Al González.
Responder Con Cita