Delphi 7: Как описать Unicode-константу
Нет никаких проблем в описании ANSI-констант:
const
ANSI_CONST_1 = 'String'; // Латиница
ANSI_CONST_2 = 'Строка'; // Кириллица
ANSI_CONST_3 = #1057#1090#1088#1086#1082#1072; // Кириллица
ANSI_CONST_4 = #10#13; // Непечатаемые символы
|
Дело обстоит гораздо хуже, если попытаться описать Unicode-константу, например, такую: ♠♣♥♦♪♫
Ясно, что записать в чистом виде не выйдет - редактор Delphi 7 не поддерживает Unicode.
Коды символов известны:
- ♠ - 9824
- ♣ - 9827
- ♥ - 9829
- ♦ - 9830
- ♪ - 9834
- ♫ - 9835
Испробовав множество вариантов
const
UNICODE_STRING_1 = #9824#9827#9829#9830#9834#9835;
UNICODE_STRING_2 = WideString(#9824#9827#9829#9830#9834#9835);
UNICODE_STRING_3 = WideChar(#9824) + WideChar(#9827) +
WideChar(#9829) + WideChar(#9830) + WideChar(#9834) + WideChar(#9835);
|
Пришел к выводу, что единственная возможность описания строковой константы в Delphi 7,
это сделать так:
const
UNICODE_STRING =
WideString(WideChar(#9824)) + WideString(WideChar(#9827)) +
WideString(WideChar(#9829)) + WideString(WideChar(#9830)) +
WideString(WideChar(#9834)) + WideString(WideChar(#9835));
|
Громоздко, конечно, получилось, зато абсолютно верно. |