Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизКак ограничить ввод в TEdit. Найти похожие ветки
← →
Arnold © (2004-10-31 11:34) [0]Вводить можно только цифры
← →
Gero © (2004-10-31 11:40) [1]SetWindowLong(Edit.Handle, GWL_STYLE, GetWindowLong(Edit.Handle, GWL_STYLE) or ES_NUMBER);
(c) DMClient team
← →
Arnold © (2004-10-31 12:05) [2]Хотелось бы чтобы еще и вещественные и со знаком можно было.
Таким образом минусы и запятые тоже не хочет печатать
← →
Gero © (2004-10-31 12:11) [3]
> Хотелось бы чтобы еще и вещественные и со знаком можно было
А что, существуют вещественные цифры или цифры со знаком?
> Таким образом минусы и запятые тоже не хочет печатать
Это тоже цифры?
← →
Anatoly Podgoretsky © (2004-10-31 12:15) [4]Arnold © (31.10.04 12:05) [2]
А это уже противоречит первичному вопросу, ты в следующий раз не торопись задавать вопрос, а сначала сформулируй его и подумай раз два три перед отправкой в форум.
И чем тебе пользователи не угодили, пусть вводят, если им так удобнее, лишь бы конечный результат был правильный. Ты же препятствуешь им например копировать из другого места, а потом отредактировать скопированое.
← →
SpyBack (2004-11-01 00:31) [5]Вот так можно запретить ввод букв, но по аналогии можно и цифр:
кидай на форму ApplicationEvents и 1 edit
на событие onmessage ApplicationEvents пиши:
Handled:=edit1.Focused and (msg.message = wm_Char) and (msg.wParam>=48) and(Msg.wParam<=57)
← →
eRoR_rrr (2004-11-01 04:21) [6]Только цифры, пробел и BackSpace.
Событие OnKeyPress:if not (Key in ["0".."9"," ",#8]) then
begin
Key:=#0;
end;
← →
ghg © (2004-11-01 08:53) [7]было в кладовке здесь, щас на закрыто, но у меня сохранился юнит с подобным едитом
если надо, то пиши
← →
PVOzerski © (2004-11-01 09:25) [8]Только пиши обработчик осторожно: юзер может набрать и вот такое:
1--3+5..ee.10
А если проверять "численность" текста при вводе каждого символа, может получиться неудобство при редактировании. К примеру, хочет юзер ввести отрицательное число, ввел минус - а обработчик "голый минус" числом считать не хочет. Или набрал юзер -4, решил исправить на -5, стер четверку - и опять обработчик недоволен. Я пришел в итоге вот к чему: если речь идет об Edit и т.п. в диалоге не надо пользователю препятствовать вводить что угодно. Но вот при нажатии кнопочки OK, "Применить" и. т. п. делать проверку (например, c помощью StrToFloat).
← →
begin...end © (2004-11-01 12:49) [9]
> [2] Arnold © (31.10.04 12:05)
По событию TEdit.OnChange проверяете текст в цикле по символам на наличие недопустимых символов; если они там есть, то заменяете TEdit.Text на новое значение с помощью StringReplace().
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c