Сообщения, напоминания, подсказки
Опции отображения подсказки
Выводит на экран информационное сообщение с заданным текстом.
В тексте сообщения можно использовать пользовательские переменные и предопределенные
переменные nnCron. Чтобы ввести в текст сообщения знак кавычек, знак
процента или перевод строки используйте, соответственно, переменные %QUOTE%, %PERCENT% и
%crlf%.
Используя переменную %FILE: filename%, можно вывести в качестве текста
сообщения содержимое указанного файла.
Выполнение задачи приостанавливается до тех пор, пока пользователь не отреагирует на сообщение и не нажмет кнопку OK.
Примеры:
MSG: "Работа выполнена на 100%PERCENT%" MSG: "Hello, %USERNAME%!" MSG: "Не пора ли домой?"
Существует вариант этого слова с постфиксным расположением параметров:
S" Hello, world!" MsgBox
\ конвертируем число на стеке ('115') в строку \ и выводим ее на экран
115 N>S MsgBox
TMSG: "msg_text" <time_in_sec>
Работает аналогично MSG:, но отображает сообщение только в течение указанного времени (в секундах), после чего автоматически закрывает его и продолжает выполнение задачи. Пользователь может закрыть сообщение и раньше указанного срока, нажав на кнопке OK.
Примеры:
\ сообщение демонстрируется на экране \ в течение трех секунд TMSG: "Все готово!" 3 \ сообщение демонстрируется на экране \ в течение пяти секунд TMSG: "Hello, %USERNAME%!" 5
Существует вариант этого слова с постфиксным расположением параметров:
S" Hello, world!" 3 TimeMsgBox
Работает аналогично MSG:, но отображает сообщение не с иконкой "Информация", а с иконкой "Ошибка".
ERR-MSG: имеет смысл использовать для предупреждения пользователя о произошедших неполадках.
Это слово выводит на экран сообщение (message box) с указанным вопросом. Если пользователь отвечает на вопрос утвердительно (нажимает кнопку YES), то QUERY: возвращает флаг TRUE (-1).
Пример:
#( test_query \ по рабочим дням, в 18:00 задаем вопрос и выключаем \ компьютер в случае утвердительного ответа Time: 0 18 * * 1-5 * Rule: QUERY: "Выключить компьютер?" Action: POWEROFF )#
TQUERY: "query_text" <timeout_in_sec> Yes/No
Действует подобно QUERY:, но ожидает реакции юзера заданное количество секунд. Если реакции юзера не последовало, то TQUERY: принимает в качестве ответа указанное последним аргументом значение (Yes или No).
Пример:
#( test_tquery \ по рабочим дням, в 18:00 задаем вопрос и выключаем \ компьютер в случае утвердительного ответа пользователя \ или если пользователь не ответил на вопрос \ в течение 30 секунд Time: 0 18 * * 1-5 * Rule: TQUERY: "Выключить компьютер?" 30 Yes Action: POWEROFF )#
Под звуковой сигнал выводит на экран заданное напоминание с возможностью повторить его через несколько минут.
Иногда напоминания могут оказаться "просроченными" - не выполненными в указанное время из-за того, что компьютер был выключен или просто не был загружен nnCron. Специальный чекбокс "Показывать просроченное напоминание" предписывает вывести просроченное напоминание на дисплей "при первой возможности", т. е. сразу после загрузки nnCron (подробнее).
Отображает небольшую подсказку и продолжает выполнение задачи вне зависимости от реакции пользователя.
Появившуюся подсказку можно переместить в любое место экрана простым "перетаскиванием" мышью.
Закрыть подсказку можно "вручную", кликнув на ней правой кнопкой мыши и выбрав пункт меню Close, или "программно", с помощью слова HINT-OFF.
См. также "Опции отображения подсказки".
"Программно" закрывает подсказку.
Работает аналогично HINT:, но приостанавливает выполнение задачи, пока юзер "вручную" не закроет подсказку или она не будет закрыта с помощью HINT-OFF.
См. также "Опции отображения подсказки".
THINT: "hint_text" <time_in_sec>
Отображает подсказку в течение указанного времени в секундах. Пользователь может закрыть подсказку и раньше указанного срока, кликнув на ней. Выполнение задачи не приостанавливается.
См. также "Опции отображения подсказки".
THINTW: "hint_text" <time_in_sec>
Отображает подсказку в течение указанного времени в секундах и приостанавливает выполнение задачи. По прошествии указанного срока подсказка автоматически закрывается и задача продолжает выполняться. Пользователь может в любой момент закрыть подсказку, кликнув на ней.
См. также "Опции отображения подсказки".
Перед использованием слов HINT:, HINTW:, THINT: и THINTW: можно использовать следующие опции, контролирующие размер и положение подсказок на экране:
HINT-POS: x y
|
задать положение окна подсказки |
HINT-SIZE: w h (Существует вариант этого слова с постфиксным расположением параметров: w h HINT-SIZE) |
задать размеры окна подсказки |
Следующие две постфиксные опции меняют цвет фона и текста подсказки, а также гарнитуру и размер шрифта:
<bgcolor> <fgcolor> HINT-COLOR | задать цвет фона и текста окна подсказки. Цвет указывается в виде шестнадцатеричного числа, например: 0x000000 - черный |
S" font name" <font-size> HINT-FONT | задать гарнитуру шрифта и его размер в окне подсказки |
Пример:
HINT-POS: 200 200 HINT-SIZE: 200 200 0x00FF3333 0x00000000 HINT-COLOR
S" Times New Roman" 26 HINT-FONT THINT: "Это подсказка" 5
BALLOON: "balloon_title" "balloon_text"
Выводит на экран небольшую подсказку с заданным заголовком и текстом и продолжает выполнение задачи вне зависимости от реакции пользователя. Подсказка появляется возле иконки nnCron в системном трее.
Подсказку можно закрыть "кликнув" мышью на ней самой или на кнопке Close в правом верхнем углу. Если подсказку не закрыть вручную, то через некоторое время она "пропадет" сама. Внимание: подсказка не закроется автоматически если в данный момент отсутствует пользовательская активность (клики мышью, нажатия на клавиши клавиатуры).
Пример:
#( test_backup NoActive Action: BALLOON: "Внимание!" "Стартовала задача %QUOTE%%CUR-TASK-NAME%%QUOTE%" BEEP: 250 500 )#
Чтобы принудительно закрыть появившуюся подсказку, вызовите слово BALLOON: с пустым заголовком и текстом:
#( test_backup1 NoActive Action: \ отображаем подсказку BALLOON: "Внимание!" "Стартовала задача %QUOTE%%CUR-TASK-NAME%%QUOTE%" BEEP: 250 500 PAUSE: 2000 \ закрываем подсказку BALLOON: "" "" )#
Настроить поведение BALLOON: можно с помощью следующих переменных:
Пример:
#( test_backup2 NoActive Action: \ в случае ошибки 30000 BalloonTime ! 3 BalloonIcon ! BALLOON: "Ошибка!" "Ошибка в задаче %QUOTE%%CUR-TASK-NAME%%QUOTE%" BEEP: 250 500 )#
Существует вариант этого слова с постфиксным расположением параметров:
S" title" S" text" BALLOON
Слово BALLOON: работает только в Win2000/XP.
Примечание: если слово BALLOON: не работает на вашей системе, проверьте следующий ключ в реестре: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced. Значение EnableBalloonTips должно быть установлено так: dword:00000001.
См. также: TrayIconBalloonClick:, OnBalloonClick.
WIN-INPUT-TEXT: "caption_text" "prompt_text" "default_input_text" <time_in_sec>
Выводит на экран диалоговое окно с предложением ввести информацию, которая в дальнейшем, в виде строки может быть использована в задаче.
В качестве аргументов слово WIN-INPUT-TEXT: принимает три строки: заголовок окна, текст приглашения на ввод информации, текст поля ввода по умолчанию и время (в секундах) в течении которого программа будет ожидать реакции пользователя. Если вместо последнего аргумента введен 0, то диалоговое окно с приглашением на ввод будет демонстрироваться на экране без ограничения времени.
Слово WIN-INPUT-TEXT: возвращает:
Примеры:
#( test_win_input_text \ помещаем полученную строку на стек NoActive Action: WIN-INPUT-TEXT: "Just a test" "Please, enter your first name" "Type here" 0 0= IF MSG: "Hi, %1 esPICKS%!" ELSE MSG: "The user has no name..." THEN )# #( test_win_input_text1 \ сохраняем полученную строку в массив CREATE input_geography 256 ALLOT NoActive Action: WIN-INPUT-TEXT: "Another test" "Where are you from?" "Type here" 0 0= IF input_geography PLACE MSG: "You are from %input_geography COUNT%!" ELSE MSG: "This user is from nowhere..." THEN )# #( test_win_input_text2 \ преобразовываем строку в число CREATE input_years 256 ALLOT NoActive Action: WIN-INPUT-TEXT: "The last test" "How old are you?" "Enter two digits only!" 0 0= IF 2DUP input_years PLACE \ преобразовываем строку в число \ и убеждаемся, что полученное число больше или равно 18: S>NUM 18 < 0= IF MSG: "You are >= 18 (%input_years COUNT% years old actually)!" ELSE MSG: "You are at unknown age or < 18 (%input_years COUNT%) so you can not proceed!" THEN ELSE MSG: "This user is at unknown age..." THEN )# #( test_win_input_text3 \ обрабатываем коды возврата NoActive Action: WIN-INPUT-TEXT: "Error processing test" "You have 30 seconds to enter something useful" "Type here" 30 DUP 0= IF DROP MSG: "You have entered: %QUOTE%%1 esPICKS%%QUOTE%" ELSE 1 = IF MSG: "The user pressed CANCEL or hit the ESC key..." ELSE MSG: "The user was unable to enter smth useful in 30 seconds" THEN THEN )#
Существует также вариант этого слова с постфиксным расположением параметров: WIN-INPUT-TEXT ( a u a u a u n -- a u 0 | -- 1/2)
S" caption_text" S" prompt_text" S" default_input_text" 0 WIN-INPUT-TEXT
См. также: