Оператор MESSAGE
Оператор MESSAGE
- создание действия, показывающего пользователю сообщение.
Синтаксис
MESSAGE expression options
Опции оператора options
могут перечисляться друг за другом в произвольном порядке. Поддерживается следующий набор опций:
syncType
LOG
Описание
Оператор MESSAGE
создает действие, которое показывает сообщение пользователю либо в виде диалогового окна с текстовым сообщением, либо в системном окне System.log
. Текстовое сообщение может быть представлено как строковой константой, так и другим более сложным выражением, значением которого является строка или значение, преобразуемое в строку.
Параметры
-
expression
Выражение, значением которого является текст сообщения.
-
syncType
Тип синхронизации. Определяет, когда завершается выполнение созданного действия. Задается одним из ключевых слов:
-
WAIT
- после завершения показа сообщения (в случае показа диалогового окна с сообщением - после закрытия окна). Это значение используется по умолчанию. -
NOWAIT
- сразу после подготовки информации для передачи пользователю (чтения текста сообщения). Если во время выполнения некоторого продолжительного действия вызываются несколькоMESSAGE
NOWAIT
действий, то они могут объединяться с предыдущими сообщениями такого же вида. В результате пользователю в конце выполнения продолжительного действия будет показано одно объединенное сообщение.
-
-
LOG
Ключевое слово, при указании которого сообщение показывается в окне сообщений
System.log
.
Примеры
message { MESSAGE 'Hello World!'; } // простое текстовое сообщение
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;
}
}