Хотелось бы поинтересоваться как в делфи сделать так чтобы в компонент Edit можно было бы вводить только цифры. В паскале делал через ОРД но не знаю как тут это всё дело связать с
procedure TLogs.Edit2Change(Sender: TObject); begin
end;
мисс_граффити
4.03.2007 21:32
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not(Key in ['0'..'9']) then Key:=#0; end;
Tan
4.03.2007 21:35
а чтобы END и Home держались какие цифорки надо ещё учесть ?
volvo
4.03.2007 21:40
Ничего не надо больше учитывать... Home и End и так будут работать...
Tan
4.03.2007 22:15
Немного непонятно как данную операцию связать с конкретными эдитами. У меня на форме их 3 и я хочу чтобы именно в 2х из них можно было вводить только цифры. Я описал процедуру описанную вами выше, изменив соответсвенно название формы на свою. Программа запускается но ни в одном не работает: во все 3 эдита можно вводить и цифры и буквы.
мисс_граффити
4.03.2007 22:17
а в инспекторе объектов прописал связь события с этой процедурой?
Tan
4.03.2007 22:23
Именно это я и забыл сделать. Спасибо Мисс Графити. Извиняйте, ещё не опытен.
kominet
17.03.2007 2:58
извеняюс наверно за глупый вопрос а какой код клавиши нужно добавить чтобы BackSpace работал в данном Edite
volvo
17.03.2007 3:09
BackSpace и так работает для TEdit (если ты ничего не менял. А если менял, то показывай, как...)
kominet
17.03.2007 3:11
Код
procedure TADDVacancy.MinPayEditKeyPress(Sender: TObject; var Key: Char); begin if not(Key in ['0'..'9']) then Key:=#0; end;
вот если так пропимано то при нажатии на бекспэйс ничего не происходит.....
всё сам уже нашёлююю нужно #8 добавть
...if not(Key in ['0'..'9',#8]) then...
volvo
17.03.2007 3:31
Кстати, ты думаешь, тебя это спасет от ввода НЕ цифр?
Copy + Paste еще никто не отменял ...
kominet
17.03.2007 4:11
Цитата(volvo @ 16.03.2007 23:31)
Кстати, ты думаешь, тебя это спасет от ввода НЕ цифр?
Copy + Paste еще никто не отменял ...
а есть ещё варианты??? пока вышел из ситуёвины тем что проверяю значение едита после его ввода непосредственно перед началоп операций с его значением... ИМХО както это неправильно
volvo
17.03.2007 4:28
Цитата
а есть ещё варианты???
Варианты есть всегда...
На вкладке Additional есть компонент TMaskEdit... Вот если ты туда внесешь маску, позволяющую вводить только числа, то никакими Copy/Paste буквы не запишешь...
мисс_граффити
17.03.2007 17:22
Ctrl+V и так не работает. А вот щелчок правой кнопкой... Можно, конечно, отлавливать...
volvo, у MaskEdit свои недостатки. Можно, например, ввести такое: "1 22" при маске "только цифры" хотя... если кол-во цифр заранее известно, можно забить не 9, а 0...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.