|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.05.2007, 15:50 | #1 |
Пользователь
Регистрация: 27.03.2007
Сообщений: 10
|
Ограничение ввода в Edit
Помогите!!!
Мне необходимо, чтобы в Edit можно было вводить только числа и чтоб эти числа были в интервале от -999 до +999. Если введеные числа не входят в данный интервал, то нужно, чтобы выдавалось сообщение об ошибке. |
10.05.2007, 16:38 | #2 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
procedure TForm1.Button1Click(Sender: TObject);
var n:integer; begin n:=strtoint(edit1.Text); if (n < -999)or(n > 999)then showmessage('число выходит за границы диапазона'); end; |
10.05.2007, 16:42 | #3 |
Пользователь
Регистрация: 07.05.2007
Сообщений: 18
|
Для этого существует TSpinEdit с закладки Samples
|
10.05.2007, 16:59 | #4 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
procedure TForm1.Edit1KeyPress(Sender: TObject;
var Key: Char) var n:integer; begin if not (key in ['-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', char(ord(vk_delete))]) then begin beep; key := #0; end else begin n:=strtoint(edit1.Text); if (n < -999) or (n > 999) then begin beep; key := #0; end else inherited; end; end;
Не надо ничего усложнять. Все достаточно тривиально.
|
10.05.2007, 17:18 | #5 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
единственное что дополню: лучше используйте strtointdef во избежание возникновения ошибок.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
10.05.2007, 19:25 | #6 |
Пользователь
Регистрация: 11.04.2007
Сообщений: 75
|
repeat
val (edit1.text, tmp, code); if code <> 0 then edit1.clear; until code = 0; |
22.07.2007, 21:33 | #7 |
Пользователь
Регистрация: 01.07.2007
Сообщений: 30
|
Зачем так мудрить? Не проще ли задать в свойстве Editа :
MaxLength =3 и всё! |
23.07.2007, 09:38 | #8 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Из всех просмотренных мной кодов для ограничения ввода в edit только цифр мне понравился этот: (вставляет разделитель системы, ограничивает к-во цифр после разделителя, не дает поставить 2 разделителя или разделитель как первый символ.... )
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ограничение по вводу символов в Edit-e | Alexij | Общие вопросы Delphi | 1 | 26.06.2008 16:27 |
Ограничение ввода символов. Delphi | Alex_2017 | Общие вопросы Delphi | 2 | 05.06.2008 18:45 |
Ограничение ввода символов. Delphi | Alex_2017 | Помощь студентам | 0 | 04.06.2008 17:26 |
Ограничение формул МИН и МАКС | Bu$ter | Microsoft Office Excel | 2 | 29.05.2008 09:21 |
Ограничение на вводимое кол-во символов??? | serjii | Microsoft Office Excel | 3 | 05.10.2007 10:55 |