Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.11.2008, 18:29   #1
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
Вопрос Коды клавиш и символов в Дельфи

Следующий код:
Код:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: word
   Shift: TShiftState);
 var  a: byte;
 begin
   a:= Key;
   Form1.Canvas.TextOut(100,100,IntToStr(a));
 end;
При нажатии любой клавиши получаем код клавиши.Для букв и цифр он
совпадает с ANSI кодом (буквы англ. верхнего регистра).
А как получить ANSI-код символа клавиши? Чтобы учитывалась русская или англ. раскладка и регистр.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума
Старый 21.11.2008, 19:43   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,218
По умолчанию

Используйте событие FormKeyPress вместо FormKeyUp и переводите параметр Key в Byte.
Arigato на форуме
Старый 24.11.2008, 08:21   #3
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

To Arigato Точно.Спасибо.
Вот накопал за выходные в учебниках:
OnKeyPress событие типа TKeyPressEvent
Type TKeyPressEvent = procedure (Sender: TObject; var Key: Char) of object;
Переменная Key содержит символ ANSII нажатой клавиши с учетом раскладки и регистра.
Код:
procedure  TForm1.FormKeyPress(Sender: TObject; var Key: Char;
   Shift: TShiftState);
var 
  simbol: char;
  code: byte;
begin
  simbol:= Key;
  code:= ord(simbol); //  получаем код символа ANSII нажатой клавиши
end;
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести ASCII и SCAN -коды клавиш... StudentBTI Помощь студентам 7 07.10.2008 22:01
Коды клавиш valerij Microsoft Office Excel 0 20.08.2008 07:49
Коды символов SeregaIRK Общие вопросы Delphi 2 10.07.2008 19:33
Borland C++Builder почему он не складывает коды символов тут? BattleMage C++ Builder 1 29.09.2007 08:56
Коды клавиш KAMASUTR Gamedev - cоздание игр: Unity, OpenGL, DirectX 11 09.08.2007 22:25