[Lazarus-es] Fw: Funcion para convertir de caracter a ascii

JoshyFun joshyfun en gmail.com
Vie Dic 4 20:09:07 CET 2009


Hello Ismael,

Friday, December 4, 2009, 7:51:11 PM, you wrote:

ILDGa> Disculpa me había comido al [1] del final
ILDGa>   i := ord(UTF8ToAnsi(AnsiMidStr('é', 1, 1))[1]);

Esto no te funciona por que lo tienes al revés:

i := ord(AnsiMidStr(UTF8ToAnsi('é'), 1, 1)[1]);

El texto "é" en UTF-8 son dos caracteres, si haces el MID 1,1 obtienes
la parte baja del UTF-8. Como lo que creo es que quieres obtener el
código ANSI de "é" en tu codepage, primero debes de pasar el UTF-8 a
ANSI y luego hacer los MID u operaciones que creas oportunas.

Por tu modo de trabajar con strings quizá sería mejor que usaras
WideStrings (UCS-16) (unicode de 2 bytes cada caracter), pero como no
sé exactamente que persigues es difícil recomendarte alguna acción
concreta.

-- 
Best regards,
 JoshyFun





More information about the Lazarus-es mailing list