Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 3)

Модерирует : gyra, Maz

Widok (17-05-2010 12:17): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Часть 3 [Часть 2, Часть 1]



  AutoPlay Media Studio - мощная программа для создания меню автозагрузки CD/DVD. Эта программа создаст все необходимые файлы для автозапуска и его графическую оболочку. Пользователю останется лишь записать готовый проект на свой CD/DVD.
  AutoPlay Media Studio не требует от пользователя никаких особых знаний и очень прост в освоении, имеет дружественный и интуитивно понятный интерфейс. Приложение, которое будет создано AutoPlay Media Studio в конце работы, представлено в виде объектной модели. Эта модель состоит из группы отдельных страниц. На этих страницах можно размещать объекты, которые могут представлять собой графику, музыку, текст, видео, Flash, HTML и пр. Любому элементу можно назначить определенное действие. Например, при наведении на рисунок курсора мыши, может возникать текст с комментариями, при нажатии на кнопку "Play" начнет проигрываться фильм и т.д. Программа предоставляет сотни различных действий, которые можно связать с объектами. В AutoPlay Media Studio присутствует большое количество уже готовых шаблонов.
  AutoPlay Media Studio имеет широкие возможности и богатый набор инструментов для разработки мультимедийных проектов. Использовать программу можно не только для создания файлов автозапуска, но и, например, для разработки интерактивного обучающего софта или мультимедийной презентации.

Язык интерфейса: английский
Страница загрузки: AutoPlay Media Studio Trial v7.5.1006.0
Рекомендуемое дополнение: AMS PluginPowerPack by Kindly v4.0 - Зеркало
Это дополнение содержит все последние плагины, расширяющие возможности AMS, на момент его выпуска (02.08.09).

Учимся работать с AMS:
Ресурс 1 - Ресурс 2 - Ресурс 3 - Ресурс 4

Скриптовый язык LUA:
Ресурс 1 (En) - Ресурс 2 (Ru)

Ресурсы, посвященные AMS (содержат коллекции примеров, дополнений, уроков):
  • amsplugins.com
  • amsuser.com
  • azman.info
  • icynorth.com
  • gooseweb.ru   -умер, сорри...
  • warmuskerken.com

    Ответы на наиболее часто задаваемые вопросы:
  • Альтернативный перенос строки для текста (подходит и для *.ini) от Zloy_Gelud
  • Активация кнопок по информации из реестра (на примере авторана для игр) от Zloy_Gelud
  • Виды путей, используемых в AMS от GOOSE
  • Включение\отключение фоновой музыки кнопкой
  • Вывод HTML отчета с использованием SQLite плагина от IndigoRose
  • Выделение и копирование в буфер текста\части текста от GOOSE
  • Для тех, у кого русский проект с "кракозяблами"
  • Запуск WinRAR'a для распаковки архивов от Reineke
  • Запуск файлов из Web объекта
  • Запуск/открытие файлов из Web объекта от tavria2
  • Запускаем экзешник по информации из реестра от Lexua
  • Пример бегущей строки (более красивый способ) от tavria2
  • Из окна в полноэкранный режим и обратно  
  • Изменяем иконку приложения от Lexua
  • Изменяем курсор в приложении от GOOSE
  • Изменяем скроллинг ListBox-у от GOOSE
  • Используем таймер
  • Отображение процесса распаковки файла из ZIP-архива + общий прогресс распаковки от Zloy_Gelud
  • Отправка данных из форм по e-mail от GOOSE
  • Перенос строки во всплывающей подсказке от GOOSE
  • Показ\скрытие объектов по действиям мыши
  • Полноэкранный режим для приложения
  • Последовательный запуск нескольких файлов
  • Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke
  • Проверка на существование копии проекта aka запрет повторного запуска от tavria2
  • Проигрвывание MP3 из ListBox-а подряд от UMode
  • Простой пример бегущей строки от GOOSE
  • Работаем с запароленными архивами от GOOSE
  • Работаем с объектом дерева от GOOSE
  • Ряд вопросов и ответов по созданию меню для DVD от tavria2
  • Реализация Play-листов для Винампа от BOObastis
  • Таблица дисков системы от Lexua
  • Изменение стиля границ окна проекта от tavria2
  • Многострочная подсказка (tooltip) от tavria2

    Обсуждение оформления шапки
    Старая версия шапки

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:11 30-01-2009 | Исправлено: Maz, 12:31 25-09-2017
    GOOSE



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    какое значение имеет "n"?

     
    В общем, тут все просто
    Справку полезно хотя бы раз прочесть всю, а не только по интересующим действиям
    При обозначении имен переменных хорошим тоном считается использование имен, начинающихся с маленьких букв, обозначающих тип значений переменной:
    n - number, т.е. числовое значение, число
    s - string, т.е. строчный, строка
    t - table, т.е. табличный, таблица
     
    В принципе, программе все равно , она сама определяет тип значения автоматически. Такое правило позволяет самому программисту не путаться при проверке\разборе кода...

    ----------
    AutoPlay Media Studio по-русски!
    Русский хелп AutoPlay Media Studio

    Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 15:53 02-07-2009 | Исправлено: GOOSE, 16:01 02-07-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Имитация системных диалоговых окон. (Требуется AMS 7.5 и выше).  
     
    Возможности:
  • системные иконки, звуки, фон текущей темы Windows  
  • скрытие иконки заголовка окна  
  • диалоги возвращают код нажатой кнопки  
  • пример демонстрирует использование чекбокса в диалоговом окне...  
     
    Недостатки:  
  • невозможно назначить кнопку по умолчанию  
  • кнопки не поддерживают нажатие Enter
     
    DialogExSystem.apz | зеркало [150 Кб].

  • Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 17:19 02-07-2009 | Исправлено: tavria2, 19:27 02-07-2009
    Witcherfx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GOOSE Большое спасибо за ответ!  
     
    Я читал справку, описание самого языка, но, к сожалению, ввиду отсутствия опыта программирования, не всё понятно. Во всяком случае то, что хочется реализовать, даётся небольшими шагами. Спасибо за правила хорошего тона. Был бы признателен, если бы можно было ознакомиться с ними полностью... Справка не даёт исчерпывабщей информации о правилах хорошего тона.
     
    Вот нашёл ещё несколько правил хорошего тона:

    Цитата:
     

    - при возникновении ошибки в функциях на lua вместо вызова библиотечной функции error() возвращай nil и текст сообщения об ошибке.  
     
    - функции, которые могут вызвать error(), вызывай (где возможно) через библиотечную функцию pcall(), для чего лучше использовать идиому protect, описанную в статье Диего Нехаба (diego nehab) finalized exceptions (www.lua-users.org/wiki/finalizedexceptions). также полезно пользоваться идиомой newtry (см. ту же статью).  
     
    - проверяй переданные функции параметры на nil. если, например, функция, объявленная с тремя параметрами, вызывается с двумя, то третьему параметру будет присвоен nil.  
     
    - если твоя функция работает с глобальными данными, особенно с описаниями уровней, текстами диалогов и т.п., по возможности проверяй эти данные на nil.  
     
    - очень часто ошибки возникают из-за того, что программист забыл написать ключевое слово local перед первым присваиванием локальной переменной и затер таким образом глобальную. следи за областью видимости твоих переменных. в названиях глобальных переменных используй уникальный префикс, например g_. применяй инструменты типа lua lint для проверки использования глобальных переменных. в дистрибутив lua 5.1 входит пример на lua, который настраивает метатаблицу таблицы, содержащей глобальные переменные (“_g”), таким образом, что при добавлении или чтении незарегистрированных глобальных переменных во время выполнения скрипта выдается сообщение об ошибке.  
     
    - старайся минимизировать использование глобальных переменных. соблюдай модульность кода. считается хорошим тоном, если один модуль создает только одну глобальную переменную. подробнее о подходах к организации модулей в lua можно прочитать в lua technical note 7: modules & packages роберто иерусалимского (www.lua.org/notes/ltn007.html).  

     

     

    Всего записей: 5 | Зарегистр. 01-07-2009 | Отправлено: 18:26 02-07-2009 | Исправлено: Witcherfx, 18:53 02-07-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2

    Цитата:
    Имитация системных диалоговых окон.

    просто блеск, то что мне надо было. Спасибо.

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 19:04 02-07-2009 | Исправлено: lorents, 19:05 02-07-2009
    Witcherfx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго всем дня, подскажите пожалуйста, если в проекте я использую в названиях кнопок и т.п. не стандартные системные шрифты, нужно ли перед запуском системы устанавливать их в систему пользователя? И, если не затруднит, примерный скрипт такой операции, если она нужна конечно.
     
    Добавлено:
    Ещё вопрос. Мне хотелось бы сделать одну или ряд функций которые отвечали бы, для начала, только за названия кнопок главного меню и подменю каждой кнопки, задача решена лишь отчасти приведённым ниже кодом, однако есть но... В папке с контентом только первая папка содержит части, остальные три нет. В результате код называет первую кнопку, вторую и... и всё... ну и конечно кнопки с названиями частей. Поскольку мозг уже кипит, трудно сообразить что нужно или не нужно писать. Красным выделил места, которые, на мой взгляд, в ответе за недоработку.  
    Сразу хочу отметить, что если вдруг будет способ с XML - я не работал с ним вообще никогда и прибавив к этому то, что я только знакомлюсь с Lua...

    Код:
     
    -- Функция возвращает путь к папке с контентом--
    function fGetContentPath()
        local sContentPath = _SourceFolder.."\\"..(INIFile.GetValue("AutoPlay\\setting.ini", "Main", "SourseFolder"));
        return sContentPath
    end
     
    -- Функция используется для поиска удовлетворяющих условие значений в функции ниже--
    function fGetPartsName(tPartName)
        local tPrtName = Folder.Find(tPartName, "*", false, nil);
        local gPageObject = Page.EnumerateObjects();
        if (gPageObject ~= nil) then
            for nPartIndex, sNameButton in gPageObject do
                if (String.Left(sNameButton, 4)=="Part" and (Page.GetObjectType(sNameButton)) == OBJECT_BUTTON) then
                    for n, s in tPrtName do
                        Button.SetText("Part"..n, String.SplitPath(tPrtName[n]).Filename);
                else...
                    end
                end
            end
        end
    end
     
    -- Пока эта функция отвечает за названия кнопок основного меню используя названия папок и должна будет называть кнопки подменю используя названия папок внутри тех, которыми названы кнопки меню--
    function fSetMenuButName()
        local gPageObject = Page.EnumerateObjects();
        if (gPageObject ~= nil) then
            for nIndex, sNameButton in gPageObject do
                if (String.Left(sNameButton, 6)=="Button" and (Page.GetObjectType(sNameButton)) == OBJECT_BUTTON) then
                    local tFoldName = Folder.Find(fGetContentPath(), "*", false, nil);
                    for n, s in tFoldName do
                        Button.SetText("Button"..n, String.SplitPath(tFoldName[n]).Filename);
                        fGetPartsName(tFoldName[n])
                    end    
                end    
            end
        end
    end
     

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

    Код:
     
    function fGetPartsName(tPartName)  
        local tPrtName = Folder.Find(tPartName, "*", false, nil);  
        local gPageObject = Page.EnumerateObjects();  
        if (gPageObject and  tPrtName) ~= nil) then
            for nPartIndex, sNameButton in gPageObject do  
                if (String.Left(sNameButton, 4)=="Part" and (Page.GetObjectType(sNameButton)) == OBJECT_BUTTON) then  
                    for n, s in tPrtName do  
                        Button.SetText("Part"..n, String.SplitPath(tPrtName[n]).Filename);  
                    end  
                end  
            end  
        end  
    end
     

    Теперь всё как надо, и меню с названиями и части подписываются! Буду рад, если поступят предложения по оптимизации.
     
    Отдельное спасибо tavria2, на примере Вашего кода очень хорошо работается.

    Всего записей: 5 | Зарегистр. 01-07-2009 | Отправлено: 05:07 04-07-2009 | Исправлено: Witcherfx, 06:31 04-07-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Witcherfx

    Цитата:
    подскажите пожалуйста, если в проекте я использую в названиях кнопок и т.п. не стандартные системные шрифты, нужно ли перед запуском системы устанавливать их в систему пользователя?
    Нет, используемые шрифты автоматом копируются в проект и корректно работают без установки в систему.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 10:29 04-07-2009
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    System Progress object
    WinProgress Ver:1.0.1.0
     
    Download ~ 64.95 kB
    ___________________________
    Теперь это полноценный action-плагин (.LMD)
    Работает с диалоговыми окнами.
    Поправлен код в некоторых местах и справка.
    ___________________________
     
    tavria2
    Может в шапку Варезника добавишь?

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 13:00 04-07-2009 | Исправлено: Zloy_Gelud, 13:02 04-07-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Супер, ты все-таки его доделал

    Цитата:
    Может в шапку Варезника добавишь?

    +1

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 16:00 04-07-2009 | Исправлено: lorents, 11:38 05-07-2009
    Witcherfx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может кто подскажет: возможно ли сделать скрипт при котором установка приложения с диска будет выполняться перетаскиванием "Объекта" на рабочий стол пользователя?

    Всего записей: 5 | Зарегистр. 01-07-2009 | Отправлено: 19:00 04-07-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    помогите реализовать следующее, чтобы проект запоминал перед выходом размер окна, его место положение и развернут ли проект на все окно или нет, с размером окна я разобрался, но вот с его местом положения и развернут ли проект на все окно или нет так и понял как сделать, может кто уже это делал?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 12:14 05-07-2009
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Ога.
    Только обнови плагин. А то я пофиксил некоторые существенные баги.
    И кстати, если создать объект в диалоговом окне, потом закрыть это окно и снова открыть, то объект куда-то пропадает . Не знаю как это побороть, может tavria2 поможет...

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 18:36 05-07-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud

    Цитата:
    И кстати, если создать объект в диалоговом окне, потом закрыть это окно и снова открыть, то объект куда-то пропадает  
    Чесно говоря я не совсем понял о чем речь, если о WinProgress - то у меня ни чего не пропадает.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 19:37 05-07-2009
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2

    Значит так:
    Открываю диалоговое окно.
    Создаю системный объект Progress.
    Закрываю диалоговое окно.
    Обратно открываю диалоговое окно, а системный объект Progress куда-то исчез...
    Если такое у тебя не наблюдается - значит проблемы какие-то у меня..

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 19:52 05-07-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    У меня все ОК. Создаю объект в событии "On Show".

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 20:01 05-07-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Ну, что? Причину нашел?

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 12:00 06-07-2009
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    Да, вроде, это только на моем компе наблюдается. Проверил на соседском - там нормально все.  
    Извиняюсь за беспокойство.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 16:29 06-07-2009
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Получился довольно симпатичный эффект.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 19:55 06-07-2009
    Mars803



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Такую же хрень спокойно на JS можно сделать, но все равно супер получилось)

    Всего записей: 52 | Зарегистр. 02-05-2009 | Отправлено: 12:08 07-07-2009
    Gans123

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нужна помощь. Мне нада сдлать 2 кнопки. Что бы они переключали мп3 шки назад и вперед. мп3 добавлял: проект->нстройка звука вот там добивил. И еще вопрос, как мне сделать, чтоб мой текст небольшой бегал по кругу диска. Спасибо.
     
    Добавлено:
    если Audio.Stop(CHANNEL_BACKGROUND);  это остановить музыку, а как написать, чтоб следующая песня и предыдущая
     
    Добавлено:
    ну это все фоновая музыка
     
    Добавлено:
    плз помогите, мне решить две проблемки и все.
     
    Добавлено:
    GOOSE
    Помоги плз, оч нада, весь форум перечитал, ты все знаешь

    Всего записей: 29 | Зарегистр. 26-07-2008 | Отправлено: 14:52 07-07-2009
    Gans123

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    люди, ктонибудь помогите

    Всего записей: 29 | Зарегистр. 26-07-2008 | Отправлено: 13:39 08-07-2009
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

    Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 3)
    Widok (17-05-2010 12:17): Лимит страниц. Продолжаем здесь.


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru