Показ сообщения (MESSAGE, ASK)
Операторы показа сообщения создают действия, которые показывают пользователю текстовое сообщение. Сообщение задается как некоторое свойство, значение которого и будет использовано в качестве сообщения. Отображение этого сообщения может происходить либо с помощью диалогового окна, либо в системном окне System.log
.
Управление потоком
По умолчанию созданное действие останавливает поток выполнения до тех пор, пока пользователь не закроет сообщение. Однако это поведение можно изменить при помощи соответствующей опции - в этом случае созданное действие завершается сразу, а сообщение показывается пользователю при первой возможности (то есть при следующем взаимодействии с пользователем). Первый режим работы оператора будем называть синхронным, второй - асинхронным.
Диалоговая форма
Также часто бывает необходимо не просто проинформировать пользователя о чем-либо, а еще и, например, запросить подтверждение на продолжение действия. Для таких случаев в операторе есть возможность вместо просто показа сообщения (с единственной кнопкой OK
), задать вопрос с возможностью отмены (ОК
/ Отмена
) и тем самым по сути осуществить ввод значения. Отменой при таком вводе, соответственно, считается нажатие кнопки Отмена
(непосредственно вводимого значения при таком вопросе не существует).
Кроме того, в вопрос можно добавить третий вариант - тогда вопрос будет выглядеть как (Да
/ Нет
/ Отмена
). В этом случае считается, что результатом ввода будет значение логического класса (Да
- TRUE
, Нет
- NULL
). Отменой ввода, как и в первом случае, считается нажатие кнопки Отмена
.
Форму оператора, в которой пользователю задается вопрос, будем называть диалоговой.
Так же как и в остальных операторах ввода значения, в диалоговой форме этого оператора можно задавать основное и альтернативное действия. Первое вызовется, если ввод был успешно завершен, второе - в обратном случае (если ввод был отменен).
Диалоговая форма оператора доступна только в синхронном режиме.
Язык
Для объявления действия, показывающего сообщение, используется оператор MESSAGE
. Для показа сообщения в форме диалога используется оператор ASK
.