Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд. > Статьи

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 04.11.2007, 17:10
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 1  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
По умолчанию Zinc IDE. Расширения и формы.

Знакомимся с Zinc IDE.

(по материалам Zinc v2.5 Manual.chm)

IDE помогает вам настроить будущий проект, задать многие параметры приложения, не написав ни строчки кода. Настроек достаточно много. Ряд настроек позволяет работать с ними программно уже во время выполнения приложения (run time).

1.Главное меню.
Привычные пункты File, Settings, Help, BuyNow не вызывают вопросов.
В Edit единственный подпункт Preferences... По щелчку на нем открывается окно, где можно указать уровень компресcии: Fast (default), Standart, Maximum, а также указать опцию, будет ли включен в конечный файл плеер, или приложение будет подгружать его из системы, в которой оно запускается. И три строчки для вашего копирайта (Version Information). Они будут отображаться в свойсвах файла приложения в проводнике, например.
Пункт Tools. Install Extensions.. (установить расширение) позволяет установить расширение из файла .zncx, если таковой имеется в наличии. Install Plugin ... (установить плагин) не доступен в триальной версии. По плагином понимается модуль, позволяющий компилировать приложение под другие ОС (реализован для Mac OSX). Extension Creator (сделать собственное расширение): по щелчку открывается окно для настройки, тестирования, документирования и сохранения вашего расширения в файл .zncx для дальнейшего использования или распространения. Сохранить расширение в триальной версии не выйдет.

Алгоритм создания класса расширения.
На первой вкладке (General Settings) нужно выбрать файл DLL (Select a DLL) - основу класса расширения, указать системные требования и ввести некоторую сопроводительную информацию (необязательно, если работаете в триале - все равно не сохранится). В качестве примера выберем файл c:\WINDOWS\system32\kernel32.dll. Вводим имя будущего mdm-класса, который мы хотим построить (по умолчанию - это имя файла DLL). Каждый класс может брать за основу только одну DLL. Далее следует вопрос "Is this a preinstalled DLL that is Always in the System Folder?" ("Это предустановленная DLL, которая всегда присутствует в системной паке?"). Если вы не уверены в этом или используете заведомо стороннюю DLL, нужно ответить No (нет). В этом случае DLL будет включена в файл расширения. Слева отображается список экспортных функций модуля в алфавитном порядке с приставкой из имени класса (kernel32 по умолчанию). Находим в списке функцию kernel32.Beep, выбираем ее щелчком.
Следующая закладка (Extension Definitions) - настройка параметров вызова выбранной функции. Теперь это уже метод нового mdm-класса. Beep принимает два числовых параметра - длительность сигнала и частоту (тон). Указываем для обоих в Input Parameters тип Integer, description (комментарий) оставляем пустым (оно нужно для документации), sample value (пример значения) 1000 и 1000 соответственно. Можете указать другие целые числа, но примерно того же порядка, иначе бип может выйти за пределы диапазона воспроизведения системного динамика или за пределы вашего звукового восприятия. Return Value (возвращаемое значение) для этой функции оставляем Nothing (нет возвращаемого значения).
Переходим на следующую закладку (Command Tester) и жмем сначала Load Library (загрузить библиотеку), затем Execute (выполнить). Раздается, если вы ничего не упустили, писк системного динамика длительностью 1 с. и частотой 1 кГц. (не рекомендую ставить этот опыт ночью ) В поле Result (результат) видим No result (вызванная функция ничего не возвратила, как и должно быть). В поле {mdm}Script v2.0 Code видим строку
Код:
mdm.Extensions.kernel32.Beep("1000","1000");
Именно в таком виде вызов метода Beep только что "созданного" нами класса kernel32 мог бы присутствовать в коде вашего приложения.
На следующей вкладке (AutoDoc) нажав Preview (предпросмотр) можно увидеть автоматически сгенерированную документацию по этому классу. Чтобы назначить следующий метод классу kernel32, вернитесь на General Settings и повторите все то же самое, но с другой понравившейся вам функцией.
В триал-версии ваши усилия будут иметь лишь теоретический характер. Сохранить класс в файл расширения в триале нельзя. Однако, тестировать DLL (или просто знакомиться с ними), в т.ч. собственного изготовления, можно и весьма плодотворно. Тем более никто не запрещает подключать DLL во время выполнения вашего приложения, правда, ценой нескольких "лишних" строчек кода.
Скриншоты к примеру с Beep, можно найти в файле Zinc v2.5 Manual.chm (поставляется вместе с дистрибутивом и распаковывается в рабочую папку Zinc) в разделе "Tutorials->Creating an Exctension". Там же и его описание на английском.
Посредством расширений, либо подключая нужные DLL вручную, вы получаете доступ к сотням (тысячам) готовых функций ОС (и намертво привязываете ваше приложение к данной ОС, если решите их использовать, не забывайте об этом). Впрочем, сам Zinc предоставляет для использования около 800 функций собственной реализации, как утверждается, кроссплатформенных. К вопросу об использовании DLL вернемся позже. Стоить отметить, что это не единственный способ расширить возможности Zinc-приложения. Не менее эффективно использование ActiveX.

2.Формы приложения.
Форма приложения - это окно, в котором отображается ваш swf после компиляции. В Zinc-приложении обязательно присутствует главная форма (MaiForm) и по желанию разработчика в него могут быть включены дочерние формы (SubForm) в количестве до 19 штук. Добавить/убрать дочернюю форму можно с помощью графических кнопок (+) и (-), расположенных слева под полем, где отображается иерархия форм всего приложения с MainForm во главе. Там же присутствует и кнопка предпросмотра содержания форм. Название главной формы "MainForm" не может быть изменено, тогда, как дочерним можно давать произвольные имена (с известными ограничениями). Для этого нужно произвести "длинный" двойной клик на имени формы и ввести новое имя. Обычный "двойной клик" запускает предпросмотр. Во время исполнения приложения можно обращаться к формам по именам программно, посредством mdm-класса Forms:
Код:
 mdm.Forms.MainForm. // обращение к методу главной формы
 mdm.Forms.MyChildForm_1. // обращение к свойству дочерней формы
 mdm.Forms.thisForm. // обращение к форме по ссылке.
Зачем нужны дочерние формы? В дочернее окно можно вынести часть приложения, точно так же как это реализуется во многих Windows-приложениях, например, окно доступа к настройкам, окно с просьбой авторизоваться, окно сообщения/запроса пользователю и т.п. По мнению mdm использование дочерних форм может облегчить совместную работу над большим проектом нескольким разработчикам.
Каждой форме в Zinc-приложении перед компиляцией должен быть сопоставлен swf-исходник, иначе в форму будет помещен swf с графической надписью "Swf not selected!" из папки Zinc. Теперь самое время перейти к рассмотрению закладок со всевозможными настройками.


Последний раз редактировалось screamge; 04.11.2007 в 17:23.
Создать новую тему   Часовой пояс GMT +4, время: 03:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.


 


Часовой пояс GMT +4, время: 03:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.