Помощь - Поиск - Пользователи - Календарь
Полная версия: Запрет ввода определённых символов
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Psychologist
Всем доброго времени суток!

Возник такой вопрос:
как сделать так, чтобы в объект типа TMaskEdit можно было вводить только цифры?
И главное: маску ввода использовать нельзя.
hardcase
Цитата(Psychologist @ 3.06.2008 16:48) *
И главное: маску ввода использовать нельзя.
Глупо в такой элементарщине ограничивать себя.
1) Нужно перехватывать нажатия клавиш в сообщении WM_KEYDOWN и возвращать ноль для нецифровых символов, кроме стрелок.
2) Тупо после каждого нажатия (событие OnKeyUp) проверять текст на наличие нецифровых символов, кои удалять следует.
Psychologist
Цитата(hardcase @ 6.06.2008 0:30) *

Глупо в такой элементарщине ограничивать себя.
1) Нужно перехватывать нажатия клавиш в сообщении WM_KEYDOWN и возвращать ноль для нецифровых символов, кроме стрелок.
2) Тупо после каждого нажатия (событие OnKeyUp) проверять текст на наличие нецифровых символов, кои удалять следует.


Наверное, я не сам себе задачи ставлю. ;)
Сказано: TMaskEdit, значит будет TMaskEdit.

А поподробнее можно? Кодом.
krox
procedure TForm1.t2KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9', #8: ;
'-': if Length(t2.Text) <> 0 then Key := #0;
else Key := #0
end;
end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.