Прерывает на указанное время дальнейшее выполнение текущего скрипта.
|
|
** Задержка выполнения скрипта на 5 секунд (5000 мс) Pause("5000")
** Задержка выполнения скрипта на 12 секунд (12000 мс) с использованием числовой переменной delay=12000 Pause("delay")
|
|
|
Дополнительная информация
|
|
Эта команда обычно используется при ожидании завершения какой-либо внешней задачи (обработка данных, копирование) или при ожидании реакции пользователя.
|
|
Запускает скрипт, имя которого указано в качестве параметра.
|
|
** Запуск скрипта с именем "Calculate" RunScript("Calculate")
|
|
|
Дополнительная информация
|
Запуск других скриптов спасает вас от повторения строк кода - рекомендуется размещать часто повторяющиеся операции в отдельные скрипты и запускать их, когда в них возникает необходимость. Строки, находящиеся ниже команды RunScript, в большинстве случаев будут ожидать завершения выполнения вызванного скрипта, что позволяет вам передавать в скрипт данные и получать их после обработки с помощью числовых и строковых переменных.
Для объектов, содержащих оба события - Mouse Up и Mouse Down, эта команда запускает скрипт по умолчанию (Mouse Up).
ВНИМАНИЕ! Не используйте команду RunScript для повторного вызова скрипта или события Mouse Up из самого себя. Это приведет к бесконечной рекурсии, так как команда RunScript ожидает завершения вызванного скрипта. При использовании подобного кода вы получите сообщение об ошибке: "Глубина рекурсии в скрипте достигла 50 уровней" ("Recursion in Script reached 50 levels"). Вы можете использовать вместо этого команду ScriptTimer, которая не ожидает завершения выполнения скрипта.
|
|
|
RunScriptCode("параметр1,параметр2")
|
|
Команда RunScriptCode выполняет скрипт из строки или строковой переменной. Это значит, что вы можете написать любой скрипт в текстовый файл, загрузить весь файл в строковую переменную (например, используя команду LoadText) и выполнить скрипт с помощью RunScriptCode. Это действительно так легко ;)
Возможные параметры:
параметр1 - строка или строковая переменная, содержащая исходный код скрипта
параметр2 - 0 = обработка кода без предупреждений, 1 = обработка с предупреждениями (отображение сообщений об ошибках)
|
|
** Пример, показывающий как загрузить и выполнить скрипт из внешнего файла LoadText("ExtScript$","<Embedded>\pagestart.txt") RunScriptCode("ExtScript$","")
** Пример формирования кода непосредственно в скрипте script$='For i=1 To 1000' + CHR(13) + CHR(10) script$=script$ + 'm=m+1' + CHR(13) + CHR(10) script$=script$ + 'Next i' RunScriptCode("script$","")
|
|
|
Дополнительная информация
|
Запуск других скриптов спасает вас от повторения строк кода - рекомендуется размещать часто повторяющиеся операции во внешние или даже вложенные файлы и запускать их, когда в них возникает необходимость. Строки, находящиеся ниже команды RunScriptCode, будут ожидать завершения выполнения вызванного скрипта.
ВНИМАНИЕ! Не используйте команду RunScriptCode для вызова одного и того же скрипта из самого себя несколько раз. Это приведет к бесконечной рекурсии, так как команда RunScript ожидает завершения вызванного скрипта. При использовании подобного кода вы получите сообщение об ошибке: "Глубина рекурсии в скрипте достигла 50 уровней" ("Recursion in Script reached 50 levels"). Вы можете использовать вместо этого команду ScriptTimer, которая не ожидает завершения выполнения скрипта.
|
|
|
ScriptTimer("ИмяОбъекта","мс")
|
|
Ожидает в течение указанного времени (число или числовая переменная во втором параметре), затем начинает выполнение другого скрипта, имя которого указано в первом параметре:
ScriptTimer("ИмяСкрипта","Задержка")
Что бы увеличить ваши возможности, MMB предлагает 1000 независимых таймеров внутри команды ScriptTimer - Timer1...Timer1000.
Используя этот принцип, вы можете вызвать команду ScriptTimer 1000 раз, используя разные таймеры, и создать 1000 независимых потоков - каждый поток будет выполнять свой скрипт, не заботясь об остальных.
ПРИМЕЧАНИЕ: В предыдущих версиях было только три таймера - TimerA, TimerB и TimerC. Эти таймеры по-прежнему работают, и вы можете увидеть их в старых проектах и скриптах. Но мы не рекомендуем использовать их в новых проектах!
Использование этих таймеров начинается с указания имени таймера...
Timer1,
Timer2, ...,
Timer1000
...и знака равенства в качестве префикса имени скрипта:
ScriptTimer("Timer1=ИмяСкрипта1","Задержка")
ScriptTimer("Timer2=ИмяСкрипта2","Задержка")
ScriptTimer("Timer3=ИмяСкрипта3","Задержка")
|
|
** Запуск скрипта Script1 с восьмисекундной задержкой ScriptTimer("Script1","8000")
** Запуск скрипта MyScript с задержкой, определяемой числовой переменной delay=5500
ScriptTimer("MyScript","delay")
** Запуск скрипта ThreadScript с пятисекундной задержкой и использованием таймера 1
ScriptTimer("Timer1=ThreadScript","5000")
|
|
|
Дополнительная информация
|
Эта команда обычно используется при ожидании завершения какой-либо внешней задачи (обработка данных, копирование) или при ожидании реакции пользователя.
Команда ScriptTimer запускает скрипт только один раз, поэтому вы должны вызвать ScriptTimer еще раз, что бы запустить скрипт повторно.
В дополнение к этому, запуск ScriptTimer с новым значением задержки до истечения предыдущей сбросит значение, заданное ранее, и будет использовать новое.
Например, если вы выполните команду:
ScriptTimer("Script1","8000")
...и до истечения 8 секунд выполните команду еще раз:
ScriptTimer("Script2","12000")
...то предыдущее значение будет заменено новым и по истечении 12 секунд запустится Script2. Это также справедливо и для таймеров A, B и C.
Для объектов, содержащих оба события - Mouse Up и Mouse Down, эта команда запускает скрипт по умолчанию (Mouse Up).
Все запущенные скрипты (включая таймеры), если они запущены с обычной страницы, завершаются при переходе на другую страницу. Если вы хотите продолжить выполнение таймера даже если пользователь перешел на другую страницу, то поместите его на верхний или нижний мастер-слой и запустите его с префиксом Master Page:: или Master Layer:: (как это описано здесь).
После этого команда должна выглядеть следующим образом:
ScriptTimer("Master Page::Script","100")
...или так, если вы хотите использовать несколько таймеров:
ScriptTimer("Timer1=Master Page::Script","100") |
|
|
PageTimer("мс","ИмяСтраницы")
|
|
Ожидает в течение указанного времени (число или числовая переменная в первом параметре) и затем либо открывает следующую страницу (если второй параметр не указан), либо страницу, имя которой указано в качестве второго параметра, либо выполняет одно из нижеописанных действий, в зависимости от второго параметра:
THIS_PAGE - перезагружает текущую страницу проекта (положение объектов, фоновая музыка) и выполняет скрипт по событию Page Start.
THIS_SCRIPT - выполняет только стартовый скрипт текущей страницы.
IF_IDLE - открывает следующую страницу, если в течение указанного времени не будут выполнены события, связанные с нажатием кнопок мыши или клавиатуры.
|
|
** Переход на следующую страницу через 8 секунд PageTimer("8000","")
** Переход на страницу "Page 7" через 20 секунд PageTimer("20000","Page 7")
** Запуск стартового скрипта текущей страницы через 10 секунд
PageTimer("10000","THIS_SCRIPT")
** Перезагрузка текущей страницы через 5 секунд
PageTimer("5000","THIS_PAGE")
** Переход на следующую страницу, если в течение 60 секунд нет пользовательской активности
PageTimer("60000","IF_IDLE")
|
|
|
Дополнительная информация
|
Запуск PageTimer с новым значением задержки до истечения предыдущей сбросит значение, заданное ранее, и будет использовать новое.
Например, если вы выполните команду:
PageTimer("120000","")
...и до истечения 120 секунд выполните команду еще раз:
PageTimer("180000","")
...то предыдущее значение будет заменено новым и таймер переместит вас на следующую страницу через 180 секунд.
Использование команды ExitTimer после команды PageTimer отменяет ее действие. |
|
Ожидает в течение указанного времени (число или числовая переменная в качестве параметра) и затем закрывает проект. Если во время ожидания будет выполнено событие, связанное с нажатием кнопки мыши или клавиатуры, то действие команды будет отменено.
|
|
** Завершение проекта, если пользователь неактивен в течение 120 секунд ExitTimer("120000")
|
|
|
Дополнительная информация
|
Запуск команды PageTimer до истечения таймера команды ExitTimer отменит действие ExitTimer.
Например, если вы выполните команду:
ExitTimer("120000","")
...и до истечения 120 секунд выполните команду PageTimer:
PageTimer("12000","")
...то PageTimer отменит действие команды ExitTimer. |
|
Обновляет окно проекта и позволяет обработку других событий в проекте (ввод с клавиатуры, запуск скриптов и так далее).
Вызов команды Refresh без параметра FORCED выполняет обычное обновление окна. Этого должно быть достаточно в большинстве случаев.
Чтобы выполнить принудительное обновление окна приложения и объектов, используйте параметр FORCED. Это поможет в тех случаях, когда обычная перерисовка становится неэффективной, например, при интенсивных операциях с графикой. Мы рекомендуем использовать этот параметр только тогда, когда возникают проблемы со стандартным обновлением окна.
|
|
** Обновление окна Refresh("")
** Принудительное обновление окна. Используйте его с осторожностью! Оно может снизить скорость работы вашего приложения Refresh("FORCED")
|
|
|
Дополнительная информация
|
|
Вызов этой команды рекомендуется в циклах for..next, чтобы позволить обработку других потоков (выполняющихся в проекте скриптов) и предотвратить "замораживание" окна приложения. |
|
|