Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скан код -> ANSI код, перевести 
:(
    Опции темы
RinOSpro
Дата 19.12.2007, 15:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здавствуйте по адресу $60 получаю коды с клавиатуры 
Код

key := Inp32($60);


Подскажите как переводить сканкоды в анси коды. Если есть примеры на асме или с++ давайте, разберусь. Заранее спасибо!
  Вверх
RinOSpro
Дата 21.12.2007, 15:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну пожалуста помогите!!!
  Вверх
mmvds
Дата 22.12.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 22.12.2007

Репутация: нет
Всего: 6



simbol:=chr(номер_сканкода);
тип simbol будет char
но можно и в строку загнать:
stroka:=stroka+chr(номер_сканкода);
PM MAIL ICQ   Вверх
mr.Anderson
Дата 22.12.2007, 21:32 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



Код

...
var
 s : AnsiString;
...
 key := Inp32($60); //для меня строчка непонятная. Предположу, что в Key - скан-код
 s := s + Chr( key );
...


Это сообщение отредактировал(а) mr.Anderson - 22.12.2007, 21:32


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
RinOSpro
Дата 24.12.2007, 19:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











К сожелению функция chr относиться к ANSI но не к апаратным кодам.

Есть два выхода как я понял.

1. Это использовать драйвер (хз как)
2. Составить массив методом тыка отношения Скан-код = ANSI 
'-Esc-','1','2','3','4','5','6','7','8','9','0','-','=','-Bsp-','-Tab-','q','w','e','r','t','y','u','i','o','p'....

но опять же получается что я не могу обработать русские буквы и регистр символа...
  Вверх
Qu1nt
Дата 25.12.2007, 03:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 5
Всего: 50



Проверяй Caps Lock, Shift и KeyboardLayout.
PM MAIL   Вверх
RinOSpro
Дата 25.12.2007, 13:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Qu1nt на счет Caps Lock, Shift понятно а как быть с KeyboardLayout что не понял как его использовать.
  Вверх
Qu1nt
Дата 26.12.2007, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 5
Всего: 50



Можно так.
Код

var
  KeyboardLayout: Word;
  Thread: DWORD;
  Index: Byte;
begin
  Thread := GetCurrentThreadId();
  KeyboardLayout := Word(GetKeyboardLayout(Thread));
  case KeyboardLayout of
    $409: Index := 0; // english
    $419: Index := 2; // russian
  else
    Exit;  
  end;


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.2621 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.