FormKeyPress и кирилица

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

FormKeyPress и кирилица

Сообщение SeventhSon » 17.03.2013 18:50:19

Обрабатываю в FormKeyPress нажатие русских букв.
Код: Выделить всё
var KeyW:WideString;
begin
KeyW:=WideString(Key);
  case KeyW of
  'q':
  'ц':

Вопрос такой. Как теперь к Edit1 добавить нажатый символ?
Код: Выделить всё
Edit1.Text:=Edit1.Text+Key

для английских букв и цифр срабатывает а при нажатии русской буквы-нет.
ОС-Win7, Lazarus из SVN 40077
SeventhSon
новенький
 
Сообщения: 56
Зарегистрирован: 17.02.2009 01:57:17

Re: FormKeyPress и кирилица

Сообщение alexs » 17.03.2013 21:35:22

Посмотри аналогичные события - только с UTF8
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FormKeyPress и кирилица

Сообщение SeventhSon » 18.03.2013 15:52:24

Где посмотреть? все файлы Лазаруса в кодировке UTF-8. И разве кодировка UTF-8 тут повлияет? sizeof(Key)=1.
SeventhSon
новенький
 
Сообщения: 56
Зарегистрирован: 17.02.2009 01:57:17

Re: FormKeyPress и кирилица

Сообщение alexs » 18.03.2013 19:27:15

Код: Выделить всё
type
  TUTF8KeyPressEvent = procedure(Sender: TObject; var UTF8Key: TUTF8Char) of Object;


Код: Выделить всё
property OnUTF8KeyPress: TUTF8KeyPressEvent;

Медитируем над этим событием и осознаём, что русские символы в UTF8 занимают 2 байта...
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 228

Рейтинг@Mail.ru