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

Ismael L. Donis Garc?a ismael en citricos.co.cu
Vie Dic 4 19:51:11 CET 2009


Disculpa me había comido al [1] del final

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

Saludos reiterados
=========
¦¦ ISMAEL ¦¦
=========
----- Mensaje original ----- 
De: "Ismael L. Donis García" <ismael en citricos.co.cu>
Para: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: viernes, 04 de diciembre de 2009 11:19
Asunto: Re: [Lazarus-es] Funcion para convertir de caracter a ascii


Si eso era lo que necesitaba (UTF8ToAnsi), pero sigo ahora con otro
problema.

i := ord(UTF8ToAnsi(AnsiMidStr('text1', 1, 1)));

unit1.pas(39,8) Error: Ordinal expression expected

Saludos reiterados
=========
¦¦ ISMAEL ¦¦
=========
----- Mensaje original ----- 
De: "JoshyFun" <joshyfun en gmail.com>
Para: "Spanish version of Lazarus List"
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: viernes, 04 de diciembre de 2009 09:31
Asunto: Re: [Lazarus-es] Funcion para convertir de caracter a ascii


Hello Ismael,

Friday, December 4, 2009, 3:58:15 PM, you wrote:

ILDGa> procedure TForm1.Button1Click(Sender: TObject);
ILDGa> var
ILDGa>    i : integer;
ILDGa> begin
ILDGa>   i := ord('é');
ILDGa>   ShowMessage ('No. ' + inttostr(i));
ILDGa> end;
ILDGa> A mi nó, me da error.

Ójo!!! 'é' en UTF-8 no es un byte, son 2, por lo tanto no hay un "ord"
que valga. Tendrías que hacer:

i:=Ord(UTF8ToAnsi('é')[1]);

Ya que el editor por defecto trabaja un UTF-8. Tu otra solución sería
cambiar la codificación del código fuente a ANSI, para ello pulsas con
el click derecho, "File Settings" -> "Encoding" -> "ANSI (cpxxxx)".

-- 
Best regards,
 JoshyFun


_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es






More information about the Lazarus-es mailing list