Оператор MESSAGE
Оператор MESSAGE - создание действия, показывающего пользователю сообщение.
Синтаксис
MESSAGE expression [HEADER headerExpression] options
Опции оператора options могут перечисляться друг за другом в произвольном порядке. Поддерживается следующий набор опций:
syncType
messageType
Описание
Оператор MESSAGE создает действие, которое показывает сообщение пользователю либо в виде диалогового окна с текстовым сообщением, либо в системном окне System.log. Текстовое сообщение может быть представлено как строковой константой, так и другим более сложным выражением, значением которого является строка или значение, преобразуемое в строку.
Параметры
-
expressionВыражение, значением которого является текст сообщения.
-
headerExpressionВыражение, значение которого используется как заголовок диалога. Если не указано или его значение равно
NULL, используется заголовокlsFusion. -
syncTypeТип синхронизации. Определяет, когда завершается выполнение созданного действия. Задается одним из ключевых слов:
-
WAIT- после завершения показа сообщения (в случае показа диалогового окна с сообщением - после закрытия окна). Это значение используется по умолчанию. -
NOWAIT- сразу после подготовки информации для передачи пользователю (чтения текста сообщения). Если во время выполнения некоторого продолжительного действия вызываются несколькоMESSAGENOWAITдействий, то они могут объединяться с предыдущими сообщениями такого же вида. В результате пользователю в конце выполнения продолжительного действия будет показано одно объединенное сообщение.
-
-
messageTypeТип сообщения. Определяет, где показывается сообщение и его значок важности. Задается одним из ключевых слов:
-
LOG- показывается только в окнеSystem.log(без диалогового окна). -
INFO- показывается как уведомление и в окнеSystem.log(без диалогового окна). -
SUCCESS- показывается как диалоговое окно со значком успешного выполнения. -
WARN- показывается как диалоговое окно со значком предупреждения. -
ERROR- показывается как диалоговое окно со значком ошибки, а также записывается в окноSystem.log. -
DEFAULT- показывается как обычное диалоговое окно. Используется по умолчанию.
-
Примеры
message { MESSAGE 'Hello World!'; } // простое текстовое сообщение
messageWithHeader { MESSAGE 'Hello World!' HEADER 'Приветствие'; } // диалог с заданным заголовком
isGood = DATA BOOLEAN (Item);
stringData(Item i) {
// в зависимости от того, какой item будет передан действию, будет показываться окно
// с текстом 'Good', либо с текстом 'Bad'
MESSAGE IF isGood(i) THEN 'Good' ELSE 'Bad';
}
// В этом случае пользователю будет выдано пять текстовых сообщений,
// а третье будет дополнительно записано в лог
testMessage() {
LOCAL i = INTEGER();
i() <- 0;
WHILE i() < 5 DO {
i() <- i() + 1;
MESSAGE i();
IF i() == 3 THEN {
MESSAGE i() LOG;
}
}
}
// В случае NOWAIT пользователю будет выдано одно текстовое сообщение,
// объединяющее сообщения от пяти вызовов MESSAGE
testMessageNowait() {
LOCAL i = INTEGER();
i() <- 0;
WHILE i() < 5 DO {
i() <- i() + 1;
MESSAGE i() NOWAIT;
}
}