fpc/tests/tbs/tb0478.pp
fpc 790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00

79 lines
2.3 KiB
ObjectPascal

type
integer = longint;
const
{** @abstract(Character encoding value: UTF-8 storage format)}
CHAR_ENCODING_UTF8 = 0;
{** @abstract(Character encoding value: unknown format)}
CHAR_ENCODING_UNKNOWN = -1;
{** @abstract(Character encoding value: UTF-32 Big endian)}
CHAR_ENCODING_UTF32BE = 1;
{** @abstract(Character encoding value: UTF-32 Little endian)}
CHAR_ENCODING_UTF32LE = 2;
{** @abstract(Character encoding value: UTF-16 Little endian)}
CHAR_ENCODING_UTF16LE = 3;
{** @abstract(Character encoding value: UTF-16 Big endian)}
CHAR_ENCODING_UTF16BE = 4;
{** @abstract(Character encoding value: One byte per character storage
format)}
CHAR_ENCODING_BYTE = 5;
{** @abstract(Character encoding value: UTF-16 unknown endian
(determined by BOM))}
CHAR_ENCODING_UTF16 = 6;
{** @abstract(Character encoding value: UTF-32 unknown endian
(determined by BOM))}
CHAR_ENCODING_UTF32 = 7;
function GetCharEncoding(alias: string; var _name: string): integer;
var
encoding: integer;
newencoding: integer;
begin
_name:='';
if length(alias) = 0 then
Runerror(255); { FAILED! }
newencoding:=CHAR_ENCODING_UTF8;
encoding:=CHAR_ENCODING_BYTE;
case newencoding of
{ currently unsupported }
CHAR_ENCODING_UNKNOWN:
Begin
end;
{ verify if we are using the correct encoding }
CHAR_ENCODING_UTF16:
begin
if (encoding <> CHAR_ENCODING_UTF16BE) and
(encoding <> CHAR_ENCODING_UTF16LE) then
encoding:=255;
end;
{ verify if we are using the correct encoding }
CHAR_ENCODING_UTF32:
begin
if (encoding <> CHAR_ENCODING_UTF32BE) and
(encoding <> CHAR_ENCODING_UTF32LE) then
encoding:=255;
end;
CHAR_ENCODING_UTF16BE,
CHAR_ENCODING_UTF16LE,
CHAR_ENCODING_UTF32LE,
CHAR_ENCODING_UTF32BE:
begin
end;
else
begin
encoding:=newencoding;
end;
end;
if encoding <> CHAR_ENCODING_UTF8 then
RunError(255);
end;
var
_encoding: string;
Begin
_encoding:='UTF-8';
GetCharencoding(_encoding,_encoding);
end.