![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() У меня есть простейший код, в котором я ввожу в два поля TEdit значения переменных, объявленных как целые. Потом, используя IntToStr, считается их сумма. Вокруг каждого IntToStr я ставлю блоки try ... except ... end; В случае ошибочного ввода одного из чисел я очищаю соответствующий Edit и передаю ему фокус. Если неверная запись только в одном поле редактирования, все идет без проблем. Но если оба поля ошибочные, то, проскакивая первый блок обработки исключений, фокус устанавливается на втором. Можно ли как то "притормозить" программу и, пока не будет правильно введено первое поле, не переходить ко второму блоку обработки исключений?
![]() |
#2
|
||||
|
||||
![]() exit;
А вообще, в этой ситуации правильнее использовать TryStrToInt. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
Этот пользователь сказал Спасибо PhoeniX за это полезное сообщение: | ||
Aleks26 (10.11.2012)
|
#3
|
||||
|
||||
![]() Есть еще вариант, ограничение ввода...
PhoeniX, что-то я не понял с выходом, код покаж. Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#4
|
||||
|
||||
![]() Код:
try // fail here except // обработка exit; // вываливаемся из процедуры end; // Сюда мы дойдём, только если не было исключений. // ... Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj Последний раз редактировалось PhoeniX, 10.11.2012 в 08:39. |
#5
|
||||
|
||||
![]() Цитата:
![]() |