Счетчик HotLog

На главнуюЧто я делаю...Программы автора и не только...Творчество
Статьи автораКнига отзывов и предложенийОбо мне, любимомФотоальбом

 
 

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));

 Громоздко, конечно, получилось, зато абсолютно верно.

 
 

17.04.2007

 
     
Hosted by uCoz