![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Сей вопрос не особо важен и вызван чрезмерной ленью.
Суть: Есть некоторая функция проверки условия. Вызывается из целого ряда других функций и процедур. Выдает сообщение об ошибке (если условие не выполнилось). Вопрос: Можно ли из этой функции проверки прервать выполнение той функции, из которой она была вызвана? Мотивация: На данный момент есть несколько функций проверки. Их результат критичен (то есть если результат отрицательный, дальше ничего выполняться не должно). В большинстве случаев они используются все, но местами требуется использовать их поодиночке. Выглядит это так: Код:
function ФункцияПроверки1:boolean; begin ****** end; Function ФункцияПроверки2:boolean; begin ****** end; Function ФункцияПроверки3:boolean; begin ****** end; procedure ВыполняемаяПроцедура1; begin if ФункцияПроверки1 then begin *** if ФункцияПроверки2 then begin *** if ФункцияПроверки3 then begin ***** ***** ***** end; end; end; end; procedure ВыполняемаяПроцедура2; begin if ФункцияПроверки1 then begin *** if ФункцияПроверки2 then begin *** if ФункцияПроверки3 then begin ***** ***** ***** end; end; end; end; Код:
procedure ПроцедураПроверки1; begin if Условие=false then begin ****** завершить подпрограмму, из которой была вызвана проверка; end; end; procedure ПроцедураПроверки2; begin if Условие=false then begin ****** завершить подпрограмму, из которой была вызвана проверка; end; end; procedure ПроцедураПроверки3; begin if Условие=false then begin ****** завершить подпрограмму, из которой была вызвана проверка; end; end; procedure ВыполняемаяПроцедура1; begin ПроцедураПроверки1; //дальше не должно пойти, если условие не выполнено *** ПроцедураПроверки2; //дальше не должно пойти, если условие не выполнено *** ПроцедураПроверки3; //дальше не должно пойти, если условие не выполнено *** *** *** end; procedure ВыполняемаяПроцедура2; begin ПроцедураПроверки1; //дальше не должно пойти, если условие не выполнено *** ПроцедураПроверки2; //дальше не должно пойти, если условие не выполнено *** ПроцедураПроверки3; //дальше не должно пойти, если условие не выполнено *** *** *** end; |