Перейти к основному содержимому
Версия: 7.0

Оператор 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 'Используем новые значения';
}
}