![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить значение в поле ввода? [D6, XP]
rra © (2006-07-14 13:53:00)Всем доброго времени суток!
Есть поле ввода, из которого берется значение для чего-то там. Это значение должно быть целое число. При вводе задал "фильтр" - с клавы вводятся только символы 1,2,...,0. Но если вставить в поле что-то из буфера обмена, то "фильтр" благополучно отдыхает и при выполении дальнейших действий идет ругательство. Как можно проверить тип значения, считываемого из поля ввода? Или может есть другой способ избежать таких накладок?
MsGuns (2006-07-14 16:28:00) [1]Категорически не советую проверять значение после каждого нажатия клавы - работать с такой программой - чистое убийство ;)
rra (2006-07-14 14:05:00) [2]Помог вариант StriderMan [5]
Спасибо
Amoeba (2006-07-14 14:00:00) [3]Подходящий готовый компонет можно найти здесь:
http://www.torry.net/pages.php?id=88
StriderMan (2006-07-14 14:00:00) [4]
> Как можно проверить тип значения
try
n := StrToInt(edit1.text);
except
raise Exception.create('Некорректное значение');
end;
!_SM_! (2006-07-14 13:57:00) [5]Проверить можно по событию OnChange
S@shka (2006-07-14 13:56:00) [6]анализируй по событию OnExit компонента.
Если что то не - так.
Сообщение об ошибке и обратно фокус на компонент
Или используй компоненты где явно можно маски задать.
!_SM_! (2006-07-14 13:55:00) [7]IntToStrDef(text, 0);
Попробуй TEditMask.