[Lazarus-es] Codificación de caracteres

Antonio Évora aevorar en gmail.com
Jue Nov 11 15:57:39 CET 2010


El 11/11/10 15:49, Paola Bruccoleri escribió:
> El 11/11/2010 12:26 p.m., Antonio Évora escribió:
>> Hola compañeros,
>> Estoy sufriendo una paranoia con el tema de los acentos. Según he 
>> leído desde la versión 0.9.25 de lazarus todo está codificado con 
>> UTF8 (tengo la 0.9.28) sobre SO Windows XP.
>>
>> Bueno tengo el siguiente procedimiento:
>>
>> procedure Aviso(Texto: string);
>> begin
>>     Application.MessageBox(pchar(Texto),'Aviso',64);
>> end;
>>
>> Y lo llamo con:
>>
>> Aviso('Los parámetros han sido actualizados con éxito');
>>
>> Al mostrar el mensaje los caracteres acentuados son sustituidos por ?.
>>
>> Pensando que pudiera ser por el tipo del parámetro lo cambie por 
>> UTF8String con el mismo resultado. Examinando el valor del parámetro una
>> vez pasado siempre va codificado en Ansi independientemente del tipo.
>>
>> Cambiando la instrucción del procedimiento por:
>>
>> Application.MessageBox(pchar(AnsiToUtf8(Texto)),'Aviso',64);
>>
>> Funciona OK.
>>
>> ¿Como puedo trabajar para evitar el tener que andar convirtiendo 
>> entre tipos de datos?
> Hola Antonio...
>
> es mejor usar MessageDlg. Yo uso esto y se ven perfectamente los 
> caracteres acentuados; te pego un ejemplo donde lo uso:
>
>            MessageDlg('¡¡¡ Atención...!!!', 'Número de comprobante ya 
> ingresado', mtWarning, [mbOk], 0);
>
> quizás tb te sirva el ShowMessage..
>
>
> Otra cosa que te puede servir es el SysToUTF8. Ejemplos:
>   cSystemVersion        := SysToUTF8('Versión: ') + GetAppVersion;
>
> aquí, si no usaba esa función, me aparecía mi?ercoles
>   pnlBotom.Caption      :=SysToUTF8(FormatDateTime('dddddd tt', now));
>
>
> chauuuuuuuu
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Primeramente gracias por contestar Paola.

Probare el MessageDlg, en cuanto a lo del SysToUTF8 lo habia leido (es 
más creo que era un post tuyo :D).

Ya te cuento.

Un saludete.




More information about the Lazarus-es mailing list