Помощь - Поиск - Пользователи - Календарь
Полная версия: Только цифры в Edit
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Tan
Хотелось бы поинтересоваться как в делфи сделать так чтобы в компонент Edit можно было бы вводить только цифры. В паскале делал через ОРД но не знаю как тут это всё дело связать с
procedure TLogs.Edit2Change(Sender: TObject);
begin

end;
мисс_граффити
 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ['0'..'9']) then
Key:=#0;
end;
Tan
а чтобы END и Home держались какие цифорки надо ещё учесть ?
volvo
Ничего не надо больше учитывать... Home и End и так будут работать...
Tan
Немного непонятно как данную операцию связать с конкретными эдитами. У меня на форме их 3 и я хочу чтобы именно в 2х из них можно было вводить только цифры. Я описал процедуру описанную вами выше, изменив соответсвенно название формы на свою. Программа запускается но ни в одном не работает: во все 3 эдита можно вводить и цифры и буквы. blink.gif
мисс_граффити
а в инспекторе объектов прописал связь события с этой процедурой?
Tan
Именно это я и забыл сделать. Спасибо Мисс Графити. Извиняйте, ещё не опытен. good.gif
kominet
извеняюс наверно за глупый вопрос а какой код клавиши нужно добавить чтобы BackSpace работал в данном Edite
volvo
BackSpace и так работает для TEdit (если ты ничего не менял. А если менял, то показывай, как...)
kominet
Код
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
Кстати, ты думаешь, тебя это спасет от ввода НЕ цифр?

no1.gif Copy + Paste еще никто не отменял ...
kominet
Цитата(volvo @ 16.03.2007 23:31) *

Кстати, ты думаешь, тебя это спасет от ввода НЕ цифр?

no1.gif Copy + Paste еще никто не отменял ...

а есть ещё варианты???
пока вышел из ситуёвины тем что проверяю значение едита после его ввода непосредственно перед началоп операций с его значением... ИМХО както это неправильно
volvo
Цитата
а есть ещё варианты???
Варианты есть всегда...

На вкладке Additional есть компонент TMaskEdit... Вот если ты туда внесешь маску, позволяющую вводить только числа, то никакими Copy/Paste буквы не запишешь...
мисс_граффити
Ctrl+V и так не работает.
А вот щелчок правой кнопкой... Можно, конечно, отлавливать...

volvo, у MaskEdit свои недостатки. Можно, например, ввести такое: "1 22" при маске "только цифры"
хотя... если кол-во цифр заранее известно, можно забить не 9, а 0...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.