On 03/27/2010 06:05 AM, Antônio wrote:
> Ord('a') makes sense to the compiler, Ord('á') does not. Why?
>
In the Unicode world a non-ASCII-character is not an 8 bit entity. So,
with the current compiler version, (unexpectedly) a single quoted
non-ASCII character is an UTF-8 coded string, while a single quoted
ASCII character is a character. (I feel this might change with a future
compiler version when D2010 strings might be introduced).
Unless you want to use the old style (depreciated) locale-dependent 8
bit ANSI encoding you could enumerate characters as 16 (or even 32 Bit)
Unicode numbers. AFAIK appropriate conversion functions are available in
the RTL.
-Michael
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus