Структурирование программы с помощью условий

Условие вводится в строку макрокоманды в столбец Условие, вызываемый в окно макроса нажатием соответствующей кнопки панели инструментов. Условие задается с помощью логического выражения.

Для образования набора макрокоманд, которые нужно связать с выполнением условия, в их условии записывается многоточие (...). Если выражение истинно, выполняется макрокоманда, находящаяся в той же строке, и все следующие за ней макрокоманды до следующей макрокоманды с условием. Если выражение ложно, то макрокоманда, находящаяся в той же строке и все следующие за ней макрокоманды, у которых вместо условия проставле­но многоточие (...), будут пропущены.

Следующей будет выполняться макрокоманда с новым условием или с пустой ячейкой условия (см. блоксхему на рис.32). Ввод в столбец условия значения (Ложь) также позволяет пропустить выполнение макрокоманды. Этот прием может использоваться при отладке макросов.

Рисунок 32

 

Таким образом, условие позволяет пропускать некоторый набор макрокоманд из последовательности макрокоманд макроса.

Первое условие макроса (условие1) проверяет значение поля ГОРОД в текущей записи формы. Эта форма работает с данными о студентах. На момент получения управления макросом эта форма должна быть текущим объектом.

Если <условие1> истинно, т. е. студент не является жителем Петербурга, выполняются четыре первых макрокоманды. Пятая макрокоманда будет выполнена только в случае выполнения <условие2>.

При невыполнении <условие1> пропускаются первая макрокоманда с этим условием и следующие за ней, отмеченные многоточием.

Ветвления в программе. В программе, состоящей из макрокоманд, можно организовать ветвление. На рис. 33 приведена блок-схема макроса, в котором реализуется ветвление.

Рисунок 33

 

 Для организации ветвлений в программе нужно наряду с условиями исполь­зовать макрокоманды "ОстановитьМакрос" и "ЗапускМакроса". Макрокоманда "ЗапускМакроса" позволяет созда­вать также циклы в программах.

Общий пример макроса, соответствующего блок-схеме с ветвлением, приведен на рис. 34.

Рисунок 34

Первое условие проверяет в текущей записи, заполнено ли поле ГОРОД.

Если поле ГОРОД не содержит значения (<условие1>), выполняется первая макрокоманда и следующие три макрокоманды с многоточием в условии, последняя из которых завершает макрос.

Если поле ГОРОД заполнено, то указанные четыре макрокоманды пропускаются и работа продолжатся по другой ветке, начиная с проверки условия (<условие2>) в пятой макрокоманде.

Замена макрокоманды "ОстановитьМакрос" на макрокоманду "ЗапускМакроса" позволит продолжить выполнение первой ветки. Таким приемом можно получить любое ветвление программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: