Добрый вечер!
Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
26.11.06 22:56: Перенесено модератором из 'C/C++' — Павел Кузнецов
Здравствуйте, Cootic, Вы писали:
C>Добрый вечер! C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
Здравствуйте, Cootic, Вы писали:
C>Добрый вечер! C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
Предупредить перед вводом пользователи, что у него есть возможность ошибиться три раза, и что исчерпав количество попыток отведенных на неправильный ввод, программе ничего не остается, как лишить невнимательного пользователи права пользованием программой до выяснения обстоятельств случившегося с отсылкой на email пользователя приглашения на прохождение медицинского осведельствования.
Здравствуйте, Cootic, Вы писали:
C>Добрый вечер! C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
После сборки обработать напильником.
Здравствуйте, Cootic, Вы писали:
C>Добрый вечер! C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
Если я правильно помню, то обработать WM_CHAR. Невалидные клавиши забить нулями до смерти
Эх, люблю выпить и переспать с кем нибудь!
Но чаще выходит перепить с кем — нибудь и выспаться...
Здравствуйте, remark, Вы писали:
R>Здравствуйте, Cootic, Вы писали:
C>>Добрый вечер! C>>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
R>Ну... можно выломать ненужные клавиши...
R>
Здравствуйте, Cootic, Вы писали:
C>Скажите пожалуйста, можно ли как-нибудь сделать чтобы при вводе значений< когда нажимаешь на клавиши, то срабатывали только те значения, которые можно вводить..., ну например срабатывали только клавиши клавиатуры числа: 1,2,3 и буквы: a,b,c?
Это всё очень платформо-зависимо. Даже консоли под разными ОС имеют разные API, не говоря уже о графических интерфейсах.
Под DOS — см. содержимое <conio.h>, тебе придётся вручную слушать клавиатуру, фильтровать, выводить и обрабатывать.
Под Windows (да, наверно, и в любой другой оконной среде — хоть в текстовом TurboVision) — если ввод идёт в контрол, то нужно его субклассить: обрабатывать события от клавиатуры и ненужные буквы игнорировать.
Можно ли подцепить фильтр к виндовской консоли — затрудняюсь ответить. DOS-решение — самому читать-выводить-интерпретировать — остаётся в силе, хотя может быть, есть и поизящнее.
Здравствуйте, Кодт, Вы писали: К>Можно ли подцепить фильтр к виндовской консоли — затрудняюсь ответить. DOS-решение — самому читать-выводить-интерпретировать — остаётся в силе, хотя может быть, есть и поизящнее.
Там тоже обработка сообщений, хотя и чуть другая чем в обычных окнах.
Ну и conio.h живёт, конечно.