Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить значение в поле ввода? [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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо