нажатие определенных клавиш
От: Cootic  
Дата: 23.11.06 20:18
Оценка:
Добрый вечер!
Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?

26.11.06 22:56: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: нажатие определенных клавиш
От: remark Россия http://www.1024cores.net/
Дата: 23.11.06 20:56
Оценка: :)
Здравствуйте, Cootic, Вы писали:

C>Добрый вечер!

C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?

Ну... можно выломать ненужные клавиши...


1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[2]: нажатие определенных клавиш
От: Cootic  
Дата: 23.11.06 21:04
Оценка: :)
Здравствуйте, remark, Вы писали:

R>Ну... можно выломать ненужные клавиши...


Спасибо за совет..., пожалуй я так и сделаю...
А серьезней?
Re: нажатие определенных клавиш
От: Анатолий Широков СССР  
Дата: 23.11.06 21:12
Оценка:
Здравствуйте, Cootic, Вы писали:

C>Добрый вечер!

C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?

Предупредить перед вводом пользователи, что у него есть возможность ошибиться три раза, и что исчерпав количество попыток отведенных на неправильный ввод, программе ничего не остается, как лишить невнимательного пользователи права пользованием программой до выяснения обстоятельств случившегося с отсылкой на email пользователя приглашения на прохождение медицинского осведельствования.
Re: нажатие определенных клавиш
От: FSD  
Дата: 23.11.06 21:54
Оценка:
Здравствуйте, Cootic, Вы писали:

C>Добрый вечер!

C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
После сборки обработать напильником.

Уточни куды ввод идёт.
... << Сила ночи, сила дня — одинакова х..ня!>>
Cила ночи, сила дня — одинакова х..ня!
Re: нажатие определенных клавиш
От: Tonal- Россия www.promsoft.ru
Дата: 24.11.06 04:52
Оценка:
А при чём тут С++?
Re: нажатие определенных клавиш
От: Ubivetz Украина  
Дата: 24.11.06 07:33
Оценка:
Здравствуйте, Cootic, Вы писали:

C>Добрый вечер!

C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
Если я правильно помню, то обработать WM_CHAR. Невалидные клавиши забить нулями до смерти
Эх, люблю выпить и переспать с кем нибудь!
Но чаще выходит перепить с кем — нибудь и выспаться...
Re[2]: нажатие определенных клавиш
От: Sm0ke Россия ksi
Дата: 24.11.06 07:45
Оценка:
Здравствуйте, remark, Вы писали:

R>Здравствуйте, Cootic, Вы писали:


C>>Добрый вечер!

C>>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?

R>Ну... можно выломать ненужные клавиши...


R>


Программно?
Re: нажатие определенных клавиш
От: Кодт Россия  
Дата: 24.11.06 09:08
Оценка:
Здравствуйте, Cootic, Вы писали:

C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?


Это всё очень платформо-зависимо. Даже консоли под разными ОС имеют разные API, не говоря уже о графических интерфейсах.

Под DOS — см. содержимое <conio.h>, тебе придётся вручную слушать клавиатуру, фильтровать, выводить и обрабатывать.

Под Windows (да, наверно, и в любой другой оконной среде — хоть в текстовом TurboVision) — если ввод идёт в контрол, то нужно его субклассить: обрабатывать события от клавиатуры и ненужные буквы игнорировать.

Можно ли подцепить фильтр к виндовской консоли — затрудняюсь ответить. DOS-решение — самому читать-выводить-интерпретировать — остаётся в силе, хотя может быть, есть и поизящнее.



Мораль: говори, под какую платформу пишешь.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[2]: нажатие определенных клавиш
От: Tonal- Россия www.promsoft.ru
Дата: 26.11.06 20:16
Оценка:
Здравствуйте, Кодт, Вы писали:
К>Можно ли подцепить фильтр к виндовской консоли — затрудняюсь ответить. DOS-решение — самому читать-выводить-интерпретировать — остаётся в силе, хотя может быть, есть и поизящнее.
Там тоже обработка сообщений, хотя и чуть другая чем в обычных окнах.
Ну и conio.h живёт, конечно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.