Команды управления проектом

Предназначением команд управления проектом является руководство страницами приложения, их появлением, загрузкой проекта и завершением работы приложения. В редакторе страницы отображаются в нижней части экрана на панели "Pages" ("Страницы"):




FirstPage()
Пояснение
Открывает первую страницу проекта.



Если первая страница содержит скрипт, то он будет выполнен.
Пример
FirstPage()
Дополнительная информация
Если вы используете визуальные подключаемые модули, то перед сменой страницы рекомендуется скрыть их с помощью соответствующих команд.



LastPage()
Пояснение
Открывает последнюю страницу проекта.



Если последняя страница содержит скрипт, то он будет выполнен.
Пример
LastPage()
Дополнительная информация
Если вы используете визуальные подключаемые модули, то перед сменой страницы рекомендуется скрыть их с помощью соответствующих команд.



NextPage()
Пояснение
Открывает следующую страницу проекта.



Если следующая страница содержит скрипт, то он будет выполнен.
Пример
NextPage()
Дополнительная информация
Если вы используете визуальные подключаемые модули, то перед сменой страницы рекомендуется скрыть их с помощью соответствующих команд.



PrevPage()
Пояснение
Открывает предыдущую страницу проекта.



Если предыдущая страница содержит скрипт, то он будет выполнен.
Пример
PrevPage()
Дополнительная информация
Если вы используете визуальные подключаемые модули, то перед сменой страницы рекомендуется скрыть их с помощью соответствующих команд.



Page("ИмяСтраницы")
Пояснение
Открывает страницу с указанным в качестве параметра именем.

Если задан параметр LASTPAGE, то будет открыта последняя посещенная страница.




Если страница содержит скрипт, то он будет выполнен.
Примеры
** Открывает страницу с именем Page 4
Page("Page 4")

** Открывает последнюю посещенную страницу
Page("LASTPAGE")
Дополнительная информация
Если вы используете визуальные подключаемые модули, то перед сменой страницы рекомендуется скрыть их с помощью соответствующих команд.



Minimize()
Пояснение
Сворачивает окно приложения на панель задач.


Нажатие на соответствующую кнопку на панели задач восстанавливает окно приложения.
Пример
Minimize()
Дополнительная информация
Чтобы свернуть окно программы в системный трей, можно воспользоваться подключаемыми модулями, такими как SmallPlugin, MMBMisc или Tweak.



Maximize()
Пояснение
Разворачивает окно проекта на весь экран. Эта команда применима только к стандартному окну с заголовком!
Пример
Maximize()

Restore()
Пояснение
Восстанавливает свернутое на панель задач или развернутое на весь экран окно приложения.
Пример
Restore()



Run("Путь","Параметры")
Пояснение
Запускает исполняемый файл.

Используя эту команду, вы можете запустить любую программу (.exe), пакетный файл (.bat) или открыть с помощью внешней программы любой файл зарегистрированного типа. Команда имеет один обязательный параметр и один дополнительный:

Run("ПутьКФайлу+ИмяФайла","Параметры/Аргументы")

1) Путь к файлу и его имя обязательны

2) Параметры и аргументы указывать необязательно

Путь к файлу и имя файла - относительный или фиксированный путь, с указанием имени файла, который вы хотите запустить.

Параметры - управляют поведением запущенной программы и вашего приложения во время выполнения этой программы. Доступно 6 разделяемых запятыми (но без пробелов!) параметров:

TOP - окно запущенной программы всегда появляется поверх окна исходного приложения (вашего проекта), но щелчок мыши на любом другом окне переместит окно запущенной программы на задний план (позади активированного окна). Указанная в скобках величина задержки (в миллисекундах) определяет, через какой промежуток времени после выполнения команды окно запущенной программы будет помещено на передний план. Например, параметр TOP(2000) указывает на то, что окно запускаемого приложения через две секунды после запуска помещается на передний план.

TOPMOST - окно запущенной программы помещается поверх всех окон и остается на переднем плане, даже если оно не активно (до тех пор, пока не будет запущено другое приложение с параметром TOPMOST). Указанная в скобках величина задержки (в миллисекундах) определяет, через какой промежуток времени после выполнения команды окно запущенной программы будет помещено на передний план. Например, параметр TOPMOST(2000) указывает на то, что окно запускаемого приложения через две секунды после запуска помещается на передний план.

ПРЕДУПРЕЖДЕНИЕ! Если вы запускаете приложение с параметрами TOP/TOPMOST, то MMB всегда ожидает инициализации этого приложения (неограниченное время). Поэтому существует потенциальная опасность того, что MMB полностью зависнет, если внешняя программа не может быть выполнена по каким-либо причинам. Для предотвращения такой ситуации необходимо задавать таймаут в миллисекундах, по истечении которого выполнение вашего приложения продолжится, независимо от состояния внешней программы.

WAIT - ваше приложение будет ожидать завершения работы внешней программы, прежде чем продолжить дальнейшее выполнение кода. Это удобно для вызова внешних кодировщиков, компрессоров, программ сжатия и тому подобных приложений, которые требуют неизвестного заранее количества времени для обработки данных. При использовании параметра WAIT ваш проект не сможет продолжить выполнение без синхронизации с внешней программой.

MAXIMIZE - активизирует окно внешней программы и разворачивает его на весь экран.

MINIMIZE - отображает окно внешней программы в свернутом виде (в виде кнопки на панели задач). Если при этом не используется параметр WAIT, то окно вашего приложения остается активным.

HIDE - Скрывает окно программы и активизирует окно вашего приложения. Этот параметр полезен, если вы не хотите, чтобы окно внешнего приложения было видимым даже в свернутом состоянии (например, при выполнении пакетного файла).

ПРЕДУПРЕЖДЕНИЕ! Будьте осторожны при использовании параметра HIDE, особенно в сочетании с параметром WAIT! Если приложение, запущенное с этими параметрами, не завершит свою работу автоматически, то ваше приложение зависнет! Например, не используйте команду "Pause" в пакетных файлах, если вы хотите запускать эти файлы с параметрами HIDE и WAIT.

Вы можете использовать описанные параметры совместно, разделяя их запятыми (без пробелов), но некоторые комбинации могут быть бессмысленными (например, HIDE и MINIMIZE, TOP и TOPMOST):

Run("<SrcDir>\MyProgram.exe","TOP(2000),WAIT")

Аргументы - различные параметры командной строки, относящиеся к запускаемой программе. Например, Блокнот может быть запущен с указанием имени файла в качестве параметра. Тогда этот файл будет автоматически открыт в Блокноте:

Run("<Windows>\notepad.exe","<Windows>\win.ini")

Если вы хотите запустить Блокнот с именем файла в качестве аргумента и при этом воспользоваться параметрами TOPMOST и WAIT, то команда будет выглядеть следующим образом:

Run("<Windows>\notepad.exe","WAIT,TOPMOST <Windows>\win.ini")

Другими словами, пробел во втором параметре команды Run используется для разделения внутренних параметров MMB (таких как WAIT, TOPMOST и так далее) и параметров командной строки, передаваемых внешнему приложению (в нашем примере это путь <Windows>\win.ini).
Примеры
** Запуск Блокнота без параметров и аргументов
Run("<Windows>\notepad.exe","")

** Запуск Блокнота с именем файла в качестве аргумента
Run("<Windows>\notepad.exe","<SrcDir>\mylog.txt")

** Запуск Блокнота с параметром TOP и двухсекундной задержкой
Run("<Windows>\notepad.exe","TOP(2000)")

** Запуск Калькулятора поверх всех окон
Run("<System>\calc.exe","TOPMOST")

/* Запуск кодера BladeEnc поверх окна основного приложения с ожиданием
обработки файла в папке <SrcDir> */
Run("<SrcDir>\BladeEnc.exe","TOP,WAIT -128 file.wav file.mp3")

** Запуск пакетного файла с параметрами HIDE и WAIT
Run("<Embedded>\test.bat","HIDE,WAIT парам1 парам2")

Более сложный пример использования параметров HIDE и WAIT:

** Для Windows 2000/XP
Run("<System>\cmd.exe","WAIT,HIDE /C dir D:\ /A:D /B /O:N /s > C:\output.txt")
ListBoxAddItem
("ListBox","C:\output.txt")

** 
Для Win9x/ME
Run
("C:\command.com","WAIT,HIDE /C dir D:\ /A:D /B /O:N /s > C:\output.txt")
ListBoxAddItem
("ListBox","C:\output.txt")

В результате выполнения этого кода на диске C будет создан файл output.txt, содержащий список директорий диска D. Затем содержимое этого файла будет добавлено в список ListBox.
Дополнительная информация
Рекомендуется использовать в команде относительные пути, когда это возможно. Подробности об относительных путях читайте в разделе Константы.

Эта команда передает коды выполнения от запускаемого приложения в константу CBK_ReturnVal, если такие коды предусмотрены в данном приложении.
Известные ограничения
  • Параметры TOP/TOPMOST влияют только на основное окно приложения.

  • Приложения без PID (идентификатор процесса) могут не воспринимать параметры TOP/TOPMOST.

  • Внешняя программа не завершит работу автоматически, если вы закроете основное MMB-приложение.

  • При использовании параметров TOP/TOPMOST для некоторых приложений (command.com, cmd.exe, пакетных файлов) необходимо указывать таймаут инициализации, иначе MMB может зависнуть.



RunMBD("Путь","Параметры")
Пояснение
Запускает другой файл проекта с расширением MBD.

Чтобы не создавать множество exe-файлов, можно скомпилировать один файл проекта и с помощью полученного exe-файла открывать все остальные MBD файлы. Ведь при компиляции файл проекта просто прикрепляется к MMB-плееру, который представляет собой exe-файл. Если плеер может работать с прикрепленными файлами, то почему бы ему не работать и с внешними?

Эта особенность уменьшает минимальный объем памяти, необходимый для запуска проекта, ведь MBD файлы имеют меньший объем, чем исполняемые.

С помощью диалогового окна "Сжатие и экспорт" ("Compress & Export")...



...любой MBD-файл может быть:
  • Сжат с использованием одного из 8 уровней сжатия
  • Защищен паролем - для редактирования файла необходимо будет ввести пароль
  • Зашифрован с использованием защитного слоя - зашифрованные файлы невозможно снова открыть в редакторе
Таким образом, вам не о чем беспокоиться при размещении MBD файлов.

Команда имеет один обязательный параметр и один дополнительный:

RunMBD("ПутьКФайлу+ИмяФайла","Страница")

1) Путь к файлу и имя MBD-файла обязательны

2) Наименование загружаемой страницы указывать необязательно

Путь к файлу и имя файла - относительный или фиксированный путь, с указанием имени MBD-файла, который вы хотите запустить.

Параметры:
    NEW_WINDOW - запуск MBD-проекта в новом окне.

    Страница -
    с помощью этого параметра вы можете указать, какую страницу открыть в запускаемом проекте.
Примеры
** Запуск проекта без указания страницы
RunMBD("<SrcDir>\Game.mbd","")

** Запуск проекта с указанием страницы
RunMBD("<SrcDir>\Game.mbd","Page 2")

** Запуск проекта в новом окне с указанием страницы
RunMBD("<SrcDir>\Game.mbd","NEW_WINDOW,Page 2")
Дополнительная информация
Параметр NEW_WINDOW может использоваться как с указанием имени страницы, так и отдельно.

Параметр NEW_WINDOW должен указываться перед названием страницы.

Имя страницы теперь можно задать и при использовании внешней команды "Запустить другой проект" ("Run another project") в окне "Внешние команды и действия со страницами" ("External Commands and Page Actions").

Рекомендуется использовать в команде относительные пути, когда это возможно. Подробности об относительных путях читайте в разделе Константы.



Exit()
Пояснение
Закрывает приложение.

Если ваш проект предназначен для обработки введенных пользователем данных, то необходимо позаботиться о сохранении введенной информации перед завершением работы.
Пример
Exit()
Дополнительная информация
По умолчанию завершение работы приложения происходит при нажатии клавиши Esc на клавиатуре. Чтобы отключить эту возможность, используйте на верхнем мастер-слое объект CBK_EXIT. Для более подробной информации смотрите раздел Константы CBK.


MMB Программирование без границ :: dgilmour, перевод на русский язык, 2006 :: Все права защищены :: www.mmbscript.ru