[Lazarus-es] La letra Ñ

Anxo Vázquez xanxov en esdebian.org
Mar Ago 3 22:06:05 CEST 2010


Gracias por vuestras respuestas.

Fran,
   a_mayu[20]:= 'Ñ';
da el error siguiente:
ciflet.pas(1252,17) Error: Incompatible types: got "Constant String"
expected "Char".

Por lo que tu muy bien explicas, espera un char y recibe un string.

Sin embargo:

a_mayu[20] := UTF8ToAnsi('N')[1];

no da error, pero el resultaado sigue siendo un rectangulo con dos
diagonales.

Un saludo.

El 28 de julio de 2010 02:27, <franmate en gmail.com> escribió:

> Un saludo,
>
> Cierto, si trabajas en un sistema utf-8 como GTK2 debes cambiar la
> forma de pensar y olvidarte de ASCII o acceder a los caracteres de un
> string mediante []
>
> Como curiosidad...
> Si haces length()
> CASA tiene 4 letras , pero CAÑA tiene 5 letras , eso es debido a la
> estructura de la codificación UTF-8 ( variable de 1 a 4 )
>
> La forma adecuada es utf8length() , sin olvidar LCLProc en el uses
>
> a_mayu[20]:= 'Ñ';  Es correcto y debe funcionar.
>
> Fran Macías
>
> El día 27 de julio de 2010 21:01, José Mejuto <joshyfun en gmail.com>
> escribió:
> > Hello Anxo,
> >
> > Tuesday, July 27, 2010, 7:07:19 PM, you wrote:
> >
> > AV> Genera el alfabeto castellano y separa vocales de consonantes con
>  excepción
> > AV> de la ñ.
> > AV> La sentencia:
> > AV>    a_mayu[20]:= char(241);
> > AV> Tendría que añadirla a la matriz, pero lo que hace es poner un
> carácter que
> > AV> es un rectangulo en vertical con sus dos diagonales trazadas.
> > AV>  Uso Lazarus 0.928-0 sobre Debian Lenny, el valor en locale del
> parámetro
> > AV> LANG=es_ES. El teclado y el idioma español. El editor de código de
> Lazarus
> > AV> admite la ñ sin embargo la instrucción:
> > AV>     a_mayu[20]:= 'Ñ';
> > AV> Que podría se la solucción, no lo es por incompatibilidad de tipos.
> > AV> Cualquier sugerencia será bien recibida. Muchas gracias.
> >
> > Tu problema es que piensas en ANSI y la consola escribe un UTF8 (casi
> > seguro). Prueba en la impresión a poner "UTF8ToAnsi('Ñ')" a ver que
> > muestra.
> >
> > Si es así, tendrás que decidir si trabajar en ANSI o en UTF8 y aplicar
> > las conversiones donde sean necesarias, por ejemplo:
> >
> > a_mayu[20]:=UTF8ToAnsi('Ñ')[1];
> >
> > --
> > Best regards,
> >  José
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20100803/17ca3af9/attachment-0002.html>


More information about the Lazarus-es mailing list