Разветвляющиеся вычислительные процессы бывают двух видов: односторонние и двусторонние. В односторонних процессах вычисления определены только в одной ветви, а в двусторонних - в обеих ветвях. Соответственно в макросах с односторонним ветвлением определен набор макрокоманд только в одной ветви, а с двусторонним ветвлением - в обеих ветвях. Ветвление осуществляется в зависимости от значения некоторого условия, которое может быть истинно или ложно. Поэтому при конструировании макроса с ветвлением используется строка Если для записи условия ветвления. Макрос с ветвлением часто называют условным макросом.
Примеры макросов с односторонним ветвлением
Пример 13. Пусть при открытии таблицы Det кнопкой Детали в форме Просмотр поставщиков и деталей, рассмотренной в предыдущем примере, будет запрашиваться пароль. Если введен правильный пароль, таблица будет открыта, если - неправильный, то будет выдано сообщение на повторный ввод пароля. Для этого нужно выполнить следующую последовательность действий:
· придумать правильный пароль, например 123;
· создать с помощью конструктора форм форму (без источника данных) по имени пароль, в которой будет запрашиваться пароль. Такая форма будет содержать надпись Введите пароль и единственный ЭУ Поле.
· задать в окне свойств для поля имя, например, пар (вкладка Другие).
· задать свойству Маска ввода поля (вкладка Данные) значение Пароль (введите из списка и, если средство не установлено, то напишите с помощью клавиатуры). В этом случае при вводе пароля вместо вводимых символов будет отображаться символ *.
· сохранить форму с именем пароль.
· отредактировать групповой макрос Открытие следующим образом:
Ø открыть макрос Открытие в режиме конструктора;
Ø создать еще один вложенный макрос Открыть пароль с двумя макрокомандами ЗакрытьОкно и ОткрытьФорму, указав в аргументах имя открываемой формы пароль, как показано на рисунке 83:
Рисунок 83 – Вложенный макрос для открытия формы пароль
Ø закрыть групповой макрос, сохранив результаты редактирования;
· связать событие Нажатие кнопки для кнопки Детали в форме Просмотр поставщиков и деталей с вложенным макросом Открытие.Открыть пароль. Тогда при попытке открыть таблицу Детали (1с по кнопке Детали в форме Открытие поставщиков и деталей) сначала откроется форма пароль, которая запросит ввод пароля.
· создать макрос по имени Анализ пароля, который будет анализировать правильность ввода пароля (см. рисунок 84):
Рисунок 84 – Макрос для анализа пароля
· связать событие После обновления поля пар в форме пароль с макросом Анализ пароля;
· закрыть форму пароль, сохранив результаты редактирования.
· открыть форму Просмотр поставщиков и деталей в режиме формы и убедиться в том, что таблица Детали открывается только при правильном вводе пароля.