Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Как ограничить ввод в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.048 c
14-1098881227
Snip
2004-10-27 16:47
2004.11.14
Права в NTFS


6-1094656877
xmrz
2004-09-08 19:21
2004.11.14
IHTMLInputFileElement value?


1-1099330927
uses-mind.dll
2004-11-01 20:42
2004.11.14
динамическое создание Grid по событию ButtonClick.


9-1088325591
ASoft
2004-06-27 12:39
2004.11.14
DelphiX


3-1097576859
Санёк
2004-10-12 14:27
2004.11.14
Сравнение двух записей