Оператор ASK
Оператор ASK - создание действия, которое задает пользователю вопрос или запрашивает подтверждение в диалоговой форме.
Синтаксис
ASK expression
[HEADER headerExpression]
[[alias =] YESNO]
[DO actionOperator [ELSE elseOperator]]
Описание
Оператор ASK создает действие, которое запрашивает у пользователя подтверждение или ответ на вопрос в диалоговой форме.
Параметры
-
expressionВыражение, значением которого является текст вопроса или сообщения. Если значение равно
NULL, диалог не показывается, а ввод считается успешно завершенным. При использованииYESNOэто эквивалентно положительному ответу. -
headerExpressionВыражение, значение которого используется как заголовок диалога. Если не указано или его значение равно
NULL, используется заголовокlsFusion. -
YESNOКлючевое слово, указание которого изменяет поведение диалога. По умолчанию диалог содержит только кнопки положительного и отрицательного ответа, причем отрицательный ответ считается отменой ввода. При указании
YESNOклиент также показывает отдельную кнопку отмены, а положительный и отрицательный ответы становятся успешными результатами ввода: положительный даетTRUE, отрицательный -NULL. -
aliasИмя локального логического параметра, в который записывается результат диалога и который доступен только внутри
actionOperator. Может использоваться только вместе сYESNO. Положительный ответ записывается какTRUE, отрицательный какNULL. Простой идентификатор. Если диалог отменен,actionOperatorне выполняется. -
actionOperatorКонтекстно-зависимый оператор-действие, который выполняется, если ввод успешно завершен. В качестве параметров можно использовать как параметры создаваемого действия, так и
alias(если он задан). -
elseOperatorКонтекстно-зависимый оператор-действие, который выполняется, если ввод отменен. В качестве параметров можно использовать только параметры создаваемого действия.
Пример
testAsk() {
ASK 'Вы действительно хотите продолжить?' HEADER 'Подтверждение' DO {
MESSAGE 'Вы продолжили';
}
ASK 'Использовать старые значения?' useOld = YESNO DO {
IF useOld THEN
MESSAGE 'Используем старые значения';
ELSE
MESSAGE 'Используем новые значения';
}
}