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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработать OnKeyDown в зависимости от языка 
:(
    Опции темы
Fedor
Дата 5.12.2004, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


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

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



Собсно, САБЖ. Нужно определять, какой язык у клавиатуры или может еще как-то.

З.Ы. Попробывал по WM_INPUTLANGCHANGEREQUEST, не получается...


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Zero
Дата 5.12.2004, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Цитата(Morpheus @ 5.12.2004, 03:08)
Нужно определять, какой язык у клавиатуры или может еще как-то.
Я недавно видал в FAQ, прямо такой заголовок "Какой язык на данный момент на клавиатуре". Введи это в поиске FAQ, и получиш ответ.
PM MAIL ICQ   Вверх
Satana
Дата 5.12.2004, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

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



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


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Fedor
Дата 5.12.2004, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


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

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



Цитата(Zero @ 5.12.2004, 10:33)
Я недавно видал в FAQ, прямо такой заголовок "Какой язык на данный момент на клавиатуре". Введи это в поиске FAQ, и получиш ответ.

Дык, я это первым делом сделал. Но тот пример что там выдает стандартный язык Винды у меня этот Русский и всегда у меня результат - русский.


Цитата(Satana @ 5.12.2004, 10:35)
тебе не проще будет обрабатывать по коду нажатой клавиши? они ж на всех языках получаются разными...

Попробую...


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
<Spawn>
Дата 5.12.2004, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Satana А как ты таким способом, к примеру, определишь раскладку при нажатии на 0..9?

Это сообщение отредактировал(а) <Spawn> - 5.12.2004, 14:22


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Fedor
Дата 5.12.2004, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


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

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



Я попробывал на OnKeyPress, но потом понял, что мне нужно еще определять такие клавиши, как влево, вправо, ... и так не получается


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Zero
Дата 5.12.2004, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Morpheus, а ты не пробывал оба обработчика использовать, например все символы ты будеш проверять на OnKeyPress, а Клавиши (лево, право, ..., 0..9) на OnKeyDown. Или у тебя есть принцип, по которому нужно только один обработчик использовать.
PM MAIL ICQ   Вверх
<Spawn>
Дата 5.12.2004, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Попробуй вот это:

Код

procedure TForm1.Button1Click(Sender: TObject);
var
 Buffer: array[1..KL_NAMELENGTH] of Char;
begin
 if GetKeyboardLayoutName(@Buffer) then
   if AnsiCompareText(Buffer, '00000409') = 0 then
     Caption := 'Eng'
   else
   if AnsiCompareText(Buffer, '00000419') = 0 then
     Caption := 'Rus'
   else
     Caption := 'Unknown';
end;



--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Fedor
Дата 5.12.2004, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


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

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



Ок. Спасибо. Работает. А какой код у украинского языка. Иил где вообще можно эти коды узнать?


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Satana
Дата 5.12.2004, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

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



Morpheus а тебе нада будет определять какой код у клавишь функцией ord

Пример:

ord('а') результатом будет какоето число.
2 <Spawn> А какая разница какой язык когда ты цифрами то пользуешься? зачем его тогда ваще определять?


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Fedor
Дата 5.12.2004, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


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

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



Я имел в виду - у русского языка код 00000419, а английского - 00000409. А какой у украинского?


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
RA
Дата 6.12.2004, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


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

Репутация: 14
Всего: 115



Ну тут мало у кого есть возможность узнать код украинской раскладки, а вообще ты сам можешь это увидеть юзая туже


var
Buffer: array[1..KL_NAMELENGTH] of Char;
...
GetKeyboardLayoutName(@Buffer)
ShowMessage(Buffer);
PM   Вверх
Fedor
Дата 6.12.2004, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


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

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



smile smile smile smile
Ну я туплю.....

RAdmin Спасибо, что навел на путь истинный...

smile smile smile smile

Это сообщение отредактировал(а) Morpheus - 6.12.2004, 01:00


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
<Spawn>
Дата 6.12.2004, 05:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Цитата(Satana @ 5.12.2004, 15:30)
Morpheus а тебе нада будет определять какой код у клавишь функцией ord

Пример:

ord('а') результатом будет какоето число.
2 <Spawn> А какая разница какой язык когда ты цифрами то пользуешься? зачем его тогда ваще определять?

Я имею ввиду комбинацию цифр и символов. Может ему отображать в программе нужно текующую раскладку. Все зависит от того, для чего ему это нужно.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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