Программирование в MMB: Содержание

ЯЗЫК MMB

Введение

ОСНОВНЫЕ ЭЛЕМЕНТЫ СКРИПТОВ

Константы

Переменные

Условный оператор и циклы

КОМАНДЫ

Динамическое создание и удаление объектов
Управление глобальными параметрами
Команды управления проектом
Команды управления объектами
Таймеры и команды запуска скриптов
Диалоговые окна
Системные команды
Аудиокоманды
Команды управления изображениями
Печать
Видеокоманды
Команды MCI
Подключаемые модули
Команды Flash
Команды управления списком
Команды управления внутренним списком MMB
Команды озвучивания текста
Команды управления браузером
Команды управления матрицами
Управление GIF-анимацией
Авторы руководства

Введение

Программирование?

Один из основных вопросов, задаваемых в сообществе MMB: можно ли назвать создание скриптов в MMB программированием?

Ответим на него раз и навсегда: ДА!

Как только вы написали первую строку кода в MMB, вы стали программистом.

В этом нет ничего необыкновенного. Когда вы ставите видеомагнитофон на автоматическую запись вашей любимой передачи, вы программируете его. Создание сценария для фильма - это тоже программирование (актеров и декораций). Даже помогая ребенку написать его первые буквы или обучая кого-нибудь плавать или кататься на скейте - не важно, насколько это далеко от компьютеров - вы программируете, программируете всегда! Не удивительно, что после стольких веков природного программирования мы наконец начали обучать машины работать за нас.

Рассмотрим для примера обычные предметы:

Обычно на обратной стороне продукта есть инструкция, которая рассказывает, что с ним нужно делать:

Что ж, если производители могут программировать, ничто не мешает и вам делать то же самое:

И в чем же основное различие?

В ваших руках более мощный инструмент!

Основы создания скриптов

Как и во всяком языке, здесь есть несколько правил, которым мы должны следовать, чтобы им пользоваться.

В сравнении с человеческими языками, язык скриптов MMB является одним из самых простых и быстро изучаемых.

Основные факты

1. Скрипт состоит из строк: Представьте, что вы пишете рассказ (например, детектив о том, кто убил дворецкого) на печатной машинке. В MMB вы тоже пишете рассказ-скрипт, но только помните: не больше одного предложения в строке. :)

2. Предложение в таком рассказе называется "строкой кода": одна строка обычно представляет одну команду (есть несколько исключений из этого правила).

3. Вам не нужно запоминать команды! MMB может помочь вам использовать команды без знаний их параметров несколькими способами:
  • автоматическое дополнение кода: MMB следит за текстом, который вы набираете, и, если он находит идентичную команду в списке зарезервированных слов, то дополняет код необходимыми символами - все что вам остается - указать соответствующие параметры.
  • контекстное меню: щелчком правой кнопки в окне редактора скриптов вызывается список команд - выбирайте команду и двигайтесь дальше!
  • мастер создания скриптов: использование мастера команд позволяет вам не запоминать команды - для выбранной команды показывается пример ее использования, и здесь же можно указать необходимые параметры.
  • файл помощи MMB: каждый раз, когда вам требуется подробный пример использования команды, вы можете обратиться сюда, в это руководство, и прочитать все что вам нужно!

4. Выделение текста и форматирование: MMB будет автоматически выделять цветом команды и операторы, делая чтение кода более легким. В дополнение к этому, он автоматически отформатирует текст при завершении написания кода, для того чтобы в дальнейшем его просмотр был легче.

Строки кода

Здесь вы видите, как выглядит скрипт - это строки, состоящие из команд, и в зависимости от ситуации выбирается та или иная команда.

В нашем рассказе действие происходит следующим образом:

Когда все подозреваемые собрались в комнате, детектив огласил свое мнение.

- Детектив обнаружил улику, указывающую на убийцу - "Старый дедушка"
- Хотя он уже был готов обвинить в убийстве Джо...
- После анализа улики он воскликнул:

О, нет! Дедушка, как ты мог!

Вот и все! Девятая строка - и дедушка отправляется за решетку.

Подробности вы можете увидеть на рисунке вверху:
  • Персонажи (Старый дедушка, Джо) выделены коричневым цветом
  • Размышления детектива выделены ярко-синим цветом
  • Выводы детектива (Убийца - Джо / Дедушка, как ты мог!) напечатаны текстом черного цвета

  • В каждой строке сделаны отступы, чтобы читать рассказ/код было легче

Синтаксис языка

Команды являются важной частью кода. Используя команды, вы указываете MMB, что нужно делать в написанной строке. Разновидность электронной армии: вы офицер, а MMB рядовой, воплощающий ваши идеи! ;)

Конечно, идеи нужно описывать точно. В отличие от настоящей армии, где команда вида...

Солдат, упал! Двадцатку!

...гарантирует, что солдат сделает 20 отжиманий, в случае с MMB может возникнуть вопрос...

...двадцатку чего!?...

Да, да, вы уже знаете, как это бывает при работе с машинами - вы им объясняете, указываете, рисуете диаграммы, и они еще смеют задавать вам вопросы!

Давайте посмотрим, что можно сделать, чтобы MMB оставался тихим и молчаливым...

Существует множество различных команд.

Нет, нет, не пугайтесь! В большинстве они похожи друг на друга. ;)

Каждая команда имеет уникальное имя:

ИмяКоманды

...после которого указываются скобки:

()

...в общем виде команды выглядят так:

ИмяКоманды()

Есть ли в MMB команды такого вида? Да.

Есть ли команды непохожие на команду из примера? Да.

Также как ваза может быть без цветов или с цветами, так и команда может быть с параметрами или без них.

Вот краткий обзор видов команд в MMB:

Вид команды Пример команды
Без параметров ИмяКоманды()
С одним параметром ИмяКоманды("параметр")
С несколькими параметрами ИмяКоманды("парам1","парам2")
С переменными параметрами ИмяКоманды(переменная1,переменная2)

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

Параметры обеспечивают дополнительную информацию, необходимую некоторым командам. Нет ничего удивительного в том, что цветы ставят в вазу, ведь так? Наверное, не удивительно и то, что некоторым командам необходимы цветы... упс, параметры? Да. ;) Существует множество различных параметров - да здравствует разнообразие!

Тип параметра Пример команды
Текст ИмяКоманды("Привет, Чак!")
Число ИмяКоманды("4329")
Имя объекта ИмяКоманды("ТекстовыйОбъект")
Время/Проценты ИмяКоманды("60")
Имена файлов/пути ИмяКоманды("C:\Music.mp3")
Фиксированные параметры ИмяКоманды("THIS_WINDOW")

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

ИмяКоманды("параметр1","параметр2")

Еще один важный момент, касающийся команд и строк скрипта:

Команды в MMB не чувствительны к регистру. Это означает, что вы можете написать:

ИмяКоманды("параметр1","параметр2")

или:

ИМЯКоманды("параметр1","параметр2")

MMB автоматически скорректирует регистр. Но это справедливо только для имен команд (переменные и параметры чувствительны к регистру).

Создание комментариев

Некоторые люди пишут (и рисуют) комментарии в книгах, некоторые на листочках... вы же можете экономить бумагу и писать комментарии прямо в MMB! Например, чтобы отделить одну часть кода от другой, или прокомментировать действия программы, даже просто сделать для себя напоминание - вы можете писать в редакторе скриптов все что хотите, но при одном условии: вы должны поместить перед строкой с комментариями одну или две (рекомендуется) звездочки. Это выглядит так:

** Ура! Теперь я могу писать все что захочу!

Начиная с версии 4.9.7, вы можете создавать многострочные комментарии! Используя выражения вида /*комментарий*/, вы можете поместить в комментарий сразу несколько строк.

/* первая строка комментария
вторая строка комментария
третья строка комментария */

Помните, что открывающее комментарий сочетание символов /* должно находиться в начале строки (не считая пробелов), а завершающее сочетание */ - в конце последней строки комментария. Блок комментариев не может начинаться в середине строки!

В некоторых случаях MMB добавляет комментарии автоматически: если MMB заметит в вашем коде ошибки, то он не будет беспокоить вас множеством сообщений, а просто изолирует эти строки, поместив перед каждой из них две звездочки. Как только вы исправите ошибки, просто удалите звездочки, и MMB снова будет использовать эти строки.

В уже рассмотренном примере вы видели комментарии в самой первой строке:

Также как ваза может быть без цветов или с цветами, так и команда может быть с параметрами или без них.

Вот краткий обзор видов команд в MMB:

Вид команды Пример команды
Без параметров ИмяКоманды()
С одним параметром ИмяКоманды("параметр")
С несколькими параметрами ИмяКоманды("парам1","парам2")
С переменными параметрами ИмяКоманды(переменная1,переменная2)

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

Параметры обеспечивают дополнительную информацию, необходимую некоторым командам. Нет ничего удивительного в том, что цветы ставят в вазу, ведь так? Наверное, не удивительно и то, что некоторым командам необходимы цветы... упс, параметры? Да. ;) Существует множество различных параметров - да здравствует разнообразие!

Тип параметра Пример команды
Текст ИмяКоманды("Привет, Чак!")
Число ИмяКоманды("4329")
Имя объекта ИмяКоманды("ТекстовыйОбъект")
Время/Проценты ИмяКоманды("60")
Имена файлов/пути ИмяКоманды("C:\Music.mp3")
Фиксированные параметры ИмяКоманды("THIS_WINDOW")

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

ИмяКоманды("параметр1","параметр2")

Еще один важный момент, касающийся команд и строк скрипта:

Команды в MMB не чувствительны к регистру. Это означает, что вы можете написать:

ИмяКоманды("параметр1","параметр2")

или:

ИМЯКоманды("параметр1","параметр2")

MMB автоматически скорректирует регистр. Но это справедливо только для имен команд (переменные и параметры чувствительны к регистру).

Создание комментариев

Некоторые люди пишут (и рисуют) комментарии в книгах, некоторые на листочках... вы же можете экономить бумагу и писать комментарии прямо в MMB! Например, чтобы отделить одну часть кода от другой, или прокомментировать действия программы, даже просто сделать для себя напоминание - вы можете писать в редакторе скриптов все что хотите, но при одном условии: вы должны поместить перед строкой с комментариями одну или две (рекомендуется) звездочки. Это выглядит так:

** Ура! Теперь я могу писать все что захочу!

Начиная с версии 4.9.7, вы можете создавать многострочные комментарии! Используя выражения вида /*комментарий*/, вы можете поместить в комментарий сразу несколько строк.

/* первая строка комментария
вторая строка комментария
третья строка комментария */

Помните, что открывающее комментарий сочетание символов /* должно находиться в начале строки (не считая пробелов), а завершающее сочетание */ - в конце последней строки комментария. Блок комментариев не может начинаться в середине строки!

В некоторых случаях MMB добавляет комментарии автоматически: если MMB заметит в вашем коде ошибки, то он не будет беспокоить вас множеством сообщений, а просто изолирует эти строки, поместив перед каждой из них две звездочки. Как только вы исправите ошибки, просто удалите звездочки, и MMB снова будет использовать эти строки.

В уже рассмотренном примере вы видели комментарии в самой первой строке:

Редактор скриптов

Перед тем как изучать имена команд и их использование, рассмотрим объекты, содержащие редактор скриптов:

Текстовый Объект

Кнопка

Список

Скрипт

Активная Область

А вот и Редактор Скриптов, собственной персоной:

Описание опций редактора скриптов:

Опция Пояснение
Режим отображения Переключает режимы отображения редактора скриптов между стандартным и расширенным редактором (рекомендуется использовать этот режим, поскольку он содержит мастер скриптов).
Копирование/Вставка Операции копирования в буфер обмена и вставки.
Мастер скриптов Открывает список доступных команд с примерами, позволяющий задать параметры команды. Выбранная команда автоматически помещается в редактор скриптов.
Открыть/Сохранить Позволяют открыть или сохранить текст программы в файле формата TXT или RTF.
Событие В этом списке выбирается событие, по которому будет выполняться код скрипта. Для каждого из них можно написать отдельный обработчик события
  • Mouse Up - данное событие происходит, когда пользователь отпускает кнопку мыши
  • Mouse Down - событие происходит, когда пользователь нажимает кнопку мыши
По умолчанию открывается окно редактирования скрипта по событию Mouse Up.

Не забудьте попробовать: контекстное меню в редакторе скриптов!

Как вы видите, это не обычное меню, содержащее простые команды "вырезать-копировать-вставить". С помощью этого меню вы можете быстро найти необходимую команду, сохранить или загрузить текст программы.

Еще одной удобной особенностью редактора скриптов является возможность редактирования написанных команд с помощью мастера скриптов. Для этого достаточно сделать двойной щелчок мыши на какой-либо команде:

Отлично! Теперь вы знаете, где должны писаться скрипты, и где вы будете проводить бесчисленные ночи, создавая проект всей вашей жизни. А сейчас мы познакомимся с содержимым скриптов подробнее!