Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как игонорировать раскладку клавиатуры? [D5, Win2k]


ilya@scsc.ru ©   (2004-08-10 15:05:00) 

Здравствуйте!

Проблема в следующем. Нужна возможность при включенной русской раскладке клавиатуры получать заначения, соответсвующих символов которые были бы при текущей английской раскладке.

Прикладняа задача следующая: Есть ручной сканер для считывания баркодов он врубается между клавиатурой и компьютером. Т.е при считываниии баркода получается, что с клавиатуры веден код. Но при русской раскладке получается код "ASDF001" как "ФЫВА001".

Заранее спасибо.

Илья.


ilya@scsc.ru   (2004-08-12 17:51:00) [1]

Спасибо, как я забыл про FormKeyDown ума не проложу!


MacroDenS   (2004-08-10 16:07:00) [2]

можешь конкретно по коду клавишь ориентироваться, только тебе нужно обрабатывать не FormKeyPress, а FormKeyDown или FormKeyUp
там Key возвращает код нажатой/отжатой КЛАВИШИ НЕ ЗАВИСИМО ОТ РАСКЛАДКИ КЛАВЫ


ilya@scsc.ru   (2004-08-10 16:03:00) [3]

Лучше, что бы был способ вообще игнорировать раскладки и чтобы что считал сканер, то и обрабатывать ...


ilya@scsc.ru   (2004-08-10 15:55:00) [4]

1/ А может быть уже есть уже готовые функции для такого вида преобразований?
2/ А что значет когда считываешь. Я считываю на собывтие FormKeyPress, а туда в var Key: Char приходит символ уже в соответвии с русской раскладкой. Менять ее поздно!


ghg   (2004-08-10 15:14:00) [5]

когда считываешь меняй раскладку
после считывания верни обратно


jack128   (2004-08-10 15:10:00) [6]

заведи массив соответствия символов SymbolArr: array['а'..'я'] of char = ('f', ',', 'd', 'u' ...);

и if (symbol >= 'a') and (symbol <= 'я') then symbol := SymbolArr[symbol];


Наверх

Титульная страница Поиск, карта сайта Написать письмо