Home Page |
About ToolBook |
ToolBook Tips |
ToolBook Projects |
ToolBook Links |
Guest Book |
Asymetrix Multimedia ToolBook Sorry, this page is only in Russian. В данной статье описывается Asymetrix Multimedia ToolBook версий 4 и 5. В настоящий момент (середина 2000 года) поставляются несколько вариантов седьмой версии ToolBook. Multimedia ToolBook фирмы Asymetrix - одно из первых специализированных средств по созданию мультимедийных приложений под Windows. Кстати, сама фирма Asymetrix была основана небезызвестным Полом Алленом - одним из соучредителей Microsoft (вместе с Биллом Гейтсом). Первая версия продукта появилась в 1990 году. В данной статье мы коснемся четвертой и пятой версий ToolBook, полные названия которых - Multimedia ToolBook 4.0 CBT Edition и ToolBook II Publisher 5. Файл проекта, созданного в среде Multimedia ToolBook - это аналог электронной книги (book), т.е. набор страниц (page). На каждой странице можно размещать различные объекты. Каждый объект имеет набор свойств (координаты, размер, цвет и т.д.) и сценарий. Сценарий - это набор процедур, выполняемых по приходу стандартных сообщений Windows, таких как щелчок мыши, нажатие кнопки, движение курсора и т.д. Помимо стандартных обрабатываются сообщения специфические для ToolBook: приход и уход со страницы, кнопка все еще нажата и другие (всего около 100 сообщений). Количество типов объектов невелико, особенно по сравнению с Delphi или Visual Basic. Имеется несколько типов кнопок, текстовых полей, геометрических фигур, так называемая сцена для просмотра видео и картинок. Однако в четвертой версии появилась возможность использовать элементы VBX (Visual Basic Extensions), что может значительно расширить возможности проектирования. Это могут быть таблицы, списки, часы, окна для проигрывания видео в формате Quick Time и т.д. Объекты можно объединить в группы, которые также имеют набор свойств и могут иметь сценарий. Например, если нужно создать 10 кнопок с одинаковым сценарием, то лучше их объединить и сценарий присвоить группе. Обычно, если в приложении используются стандартные элементы (окна, кнопки, скроллеры), то в Windows 95 они выглядят не так как в Windows 3.1. Однако Вы можете сделать так, что программа будет выглядеть одинаково в обеих системах - либо всегда как в Windows 95, либо всегда как в Windows 3.1 - кому что больше нравится. Несколько страниц могут иметь общий фон (background), на котором тоже можно размещать объекты. Тогда эти объекты будут доступны на всех страницах, относящихся к данному фону. В пятой версии появилась возможность заполнять фон повторяющимся рисунком. Когда приходит сообщение Windows (например, щелчок мыши) ToolBook передает его согласно иерархии объектов. Сначала сообщение поступает текущему объекту (например, кнопке, находящейся на странице). Если у кнопки есть сценарий обработки щелчка мыши, то сценарий отрабатывается и движение сообщения заканчивается (если только не пустить его дальше искусственно). Если у кнопки сценария нет, то сообщение передается дальше: сначала группе, в которую входит эта кнопка (если есть группа), затем странице, фону и, наконец, книге. Такое построение системы позволяет облегчить процесс программирования с помощью вынесения общих для нескольких объектов сценариев на верх иерархии. Несколько в стороне от иерархии находится объект Viewer. Viewer - это окно, только как бы пустое. Чтобы активизировать его, нужно указать имя (номер) страницы для показа в этом viewer'е. В любом viewer'е можно показать любую страницу (даже из другого файла). Можно даже показать одну и ту же страницу в двух (или больше) viewer'ах одновременно. Тогда все Ваши действия в одном окне будут немедленно отображаться в другом (осталось только придумать, зачем это нужно). Язык, используемый для написания сценариев, называется OpenScript. Это полноценный язык программирования с достаточно большими возможностями. Имеется большое количество разнообразных функций - от математических до финансовых. Очень удобно работать с текстом: текстовая переменная (string) может содержать до 65473 символов; к каждому символу, слову или строке можно обращаться по их порядковому номеру (например: char 5 of word 10 of textline 15). И, конечно, имеются богатые возможности для работы с мультимедиа. Во-первых, можно работать почти напрямую с интерфейсом MCI (Media Control Interface), посылая соответствующую команду любому из MCI-устройств. Во-вторых, можно создавать так называемые клипы (звуковые, видео и изображения) и затем проигрывать их. По принципу работы OpenScript напоминает Visual Basic. Для каждого объекта пишется собственный сценарий, состоящий из процедур реагирования на сообщение Windows. Синтаксис языка максимально приближен к естественному английскому, вплоть до того, что в любом месте программы можно вставлять артикль the просто для удобства чтения (возможно кому-то это действительно удобно). Впрочем, возможна и более традиционная запись многих операторов. Например, оператор присваивания можно записать так: A = 10, put 10 into the A. Названия функций тоже, как правило, понятны без всякого Help'а, например: getFileList - получить список файлов; getCurrentDirectory - получить имя текущего каталога; textLineCount - количество строк текста... Подобный синтаксис очень облегчает изучение языка. Достаточно один раз воспользоваться функцией, чтобы надолго запомнить, как она пишется. Несмотря на все богатство языка OpenScript, Вам может не хватить его возможностей, либо Вас не устроит скорость работы некоторых сценариев. Дело в том, что OpenScript - интерпретатор и его производительность в некоторых случаях оставляет желать лучшего. В основном это касается циклов с большим количеством итераций. Тогда можно обращаться напрямую к функциям API Windows либо использовать функции из DLL, созданных на других языках (например, C++ или Delphi). Работа в системе происходит в двух режимах: Author и Reader. В режиме Author Вы разрабатывааете интерфейс и пишете программу. Перейти в режим Reader означает запустить программу на выполнение. Казалось бы, все как в других языках, однако не совсем. Во-первых, некоторые типы сценариев могут работать в режиме Author (например, сценарии прихода на страницу и ухода с нее). Во-вторых, писать сценарии объектов можно и в режиме Reader, немедленно наблюдая результат проделанной работы. Часть данных можно поместить в ресурсы проекта. Ресурсы - это данные, доступные всем объектам книги. Существует несколько типов ресурсов: картинки, иконки, курсоры, цветовые палитры, шрифты True Type и общие сценарии. Например, импортировав в проект картинку в формате BMP, Вы можете создать несколько объектов, использующих эту картинку. Очень полезна возможность добавления в ресурсы шрифтов True Type. Добавьте нужный шрифт и больше ни о чем не беспокойтесь - если у пользователя этот шрифт отсутствует, программа сама установит его при запуске. Общий сценарий (Shared Script) не принадлежит ни одному конкретному объекту, но может использоваться несколькими однотипными объектами. Для создания баз данных можно использовать объект Record Field. Он помещается один раз на фон, но его содержимое на каждой странице различно. Выражаясь понятным для создателей баз данных языком, каждая страница такого фона - это запись, а Record Field - поле. Возможна также работа с базами данных в форматах Paradox и dBase III. ToolBook поддерживает rich-text format (RTF), т.е. позволяет вставлять картинки в текстовые поля или выделять цветом куски текста. Чтобы создать гипертекстовую ссылку достаточно выделить часть текста и объявить ее объектом Hotword. Этот объект, являясь частью текста, тем не менее, может иметь имя и некоторые другие свойства, а также собственный сценарий. Пожалуй, основной недостаток ToolBook версий 4 и 5 при работе с текстом - это ограничение на количество символов в текстовом поле. В формате RTF текст не может быть больше 64K (это около 32K в обычном текстовом формате). Теперь пора сказать несколько слов о том, что же означают непонятные буквы CBT в названии продукта. CBT - это Computer Based Training, т.е. компьютерное обучение. Конечно, если ToolBook позволяет создавать сложные мультимедийные приложения, то сделать на нем задачник для студентов - это вообще проще простого. Например, создайте книгу, на каждой странице которой поместите вопрос и варианты ответа, а на общем для всех страниц фоне - пару кнопок ("Вперед" и "Назад"). Когда все страницы будут пройдены, необходимо подсчитать количество правильных ответов и сообщить ученику его результат. Впрочем, отличие CBT Edition от предыдущей версии в том и состоит, что для создания подобных продуктов необязательно прибегать к программированию. Имеется большой набор заготовок, из которых можно сгенерировать приложение заданного типа. Вам останется только ввести текст и вставить картинки. ToolBook не позволяет создать независимый исполняемый файл. Хотя проект можно сохранить как файл с расширением EXE, этот файл почти ничем, кроме заголовка, не отличается от исходного с расширением TBK. Можно даже оставить в нем тексты сценариев, только не забудьте защитить файл паролем. Для работы программы потребуется упрощенная версия оболочки ToolBook (Runtime) и несколько дополнительных файлов. Поскольку Multimedia ToolBook предназначен в значительной степени для создания продуктов на CD-ROM, имеется возможность оптимизации программы для работы с диска. Для рабочих файлов на CD-ROM можно создать специальные кэш-файлы на жестком диске. Это может значительно ускорить работу программы. Multimedia ToolBook 4 поставляется на CD-ROM, на котором имеется набор картинок в формате BMP, иконок, звуков и видео. В комплект также входят простые, но весьма удобные графический и звуковой редакторы, редактор палитр, редактор иконок и курсоров. Минимальные требования к компьютеру: процессор 386, 8 Mb памяти, CD-ROM, около 60 Mb на жестком диске. ToolBook II Publisher 5 не очерь сильно отличается от Multimedia ToolBook 4. Основных отличий два: 1. Возможность использовать 32-х разрядные функции из API Windows и DLL. 2. Возможность преобразования проекта в формат HTML. При этом каждая страница книги преобразуется в отдельный файл HTML, а картинки на страницах - в файлы GIF. Итак, стоит ли использовать ToolBook для разработки Ваших приложений? Это зависит от Ваших потребностей и Вашей квалификации. Когда стоит использовать ToolBook: 1. Если Вы не программист или имеете лишь базовые знания о программировании, но Вам необходимо создать обучающую программу. Тогда Вы можете воспользоваться богатым набором заготовок, входящих в комплект ToolBook'а и сгенерировать обучающую программу заданного типа совсем или почти не прибегая к программированию. Эта возможность может быть особенно полезна для преподавателей. 2. Если Вы теоретически подкованы в вопросах программирования, но не имеете достаточного опыта программирования под Windows. Тогда, освоив ToolBook, Вы сможете быстро начать создавать приложения. На первом этапе Вам не нужно будет хорощо разбираться в том как устроена Windows и изучать функции API Windows, что неминуемо придется делать, если Вы решите начать с Visual Basic, Delphi или C++. 3. Если Вы хотите создавать большие мультимедийные продукты на CD-ROM. ToolBook весьма удобен для хранения и наглядного представления информации, а именно, текстов и картинок. Вам не надо будет помнить когда какой объект показывать, а когда прятать - Вы просто можете сделать несколько страниц с нужными объектами и показывать целиком нужную страницу. И вообще, всю информацию кроме видео и аудио можно хранить в одном файле. Кроме того, облегчается взаимодействие между программистом и редактором. База данных создается и редактируется непосредственно в среде ToolBook и сразу же может использоваться программой. Когда не стоит использовать ToolBook: 1. Если Вам нужна небольшая по объему программа для распространения на дискетах или через Интернет. Программа на ToolBook требует наличия Runtime версии, а это почти 3MB. На CD-ROM это неважно, но в Интернет уже существенно. 2. Если Вам нужно высокое быстродействие программы. ToolBook не предназначен для программ с большим объемом вычислений (динамические игры, математические программы). Правда, интерфейс программы можно разработать на ToolBook, а остальное - на С++ или Delphi. 3. Если у Вас есть большой опыт программирования на традиционных языках, и, соответственно, накопилось много исходных текстов Ваших программ. Тогда разработка приложения на ToolBook займет у Вас не намного меньше времени, но зато, Вы не будете ничем ограничены. Дмитрий Мусатов ([email protected]), 1999-2000г. |