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

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

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

articlebot (05-08-2012 06:20): Лимит страниц, переезжаем сюда  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211

   

Widok



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






  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 Commerical Trial  8.1.0.0


Скриптовый язык LUA:
на Lua.Org (Official) - на Lua.Ru

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

    Ответы на наиболее часто задаваемые вопросы


    Онлайн версия раскраски AMS-кода для публикации на форуме от UModeL

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:17 17-05-2010 | Исправлено: Maz, 12:30 25-09-2017
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pabloo13
     
    Сделай первоначально объект Progress невидимым.
    И добавь в On Click кнопки:

    Код:
    Progress.SetVisible("Progress1", true);
    Folder.Copy('C:\\test', sDir, ProgressCopy);  
    Progress.SetVisible("Progress1", false);

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 17:56 18-12-2011
    ubian



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Robby,
    По имени файлы думаю подойдет. Если можно по названию шрифта было бы лучше...

    Всего записей: 623 | Зарегистр. 22-07-2011 | Отправлено: 18:49 18-12-2011
    pabloo13



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

    Всего записей: 5 | Зарегистр. 14-12-2011 | Отправлено: 01:12 19-12-2011
    skorp1k



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    спасиба за помоч но всеже не сработало толе сделал не так.....
    вот так должно выглядеть
    http://imageshack.us/photo/my-images/263/44278904.jpg/[/img]
    прописал то что вы посоветовали
    http://imageshack.us/photo/my-images/201/25214855.jpg/[/img]
    в итоге таже ошыбка
    http://imageshack.us/photo/my-images/864/25836639.jpg/[/img]

    Всего записей: 2 | Зарегистр. 16-12-2011 | Отправлено: 05:41 19-12-2011
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ubian
    Robby
     
    Функа для получения названия шрифта.

    Код:
    -- #FUNCTION# ====================================================================================================================
    -- Name...........: System.GetFontName
    -- Description....: Возвращает индексированную числами таблицу
    -- Syntax.........: System.GetFontName (tFontsPath)
    -- Parameters.....: tFontsPath  - таблица, содержащая полные пути шрифтов
    -- Return values..: tRet[i].Name - Название шрифта.
    --                  tRet[i].Path - Путь к шрифту.
    -- ===============================================================================================================================
    System.GetFontsName = function (tFontsPath)
        local tFontsName = {};
        if type(tFontsPath) ~= "table" then return nil; end
        Memory.OpenLibrary(0, _SystemFolder.."\\kernel32.dll");
        Memory.OpenLibrary(1, _SystemFolder.."\\gdi32.dll");
        local nF1 = Memory.OpenFunction(0, "MultiByteToWideChar", DLL_CALL_STDCALL, DLL_RETURN_INT);
        local nF2 = Memory.OpenFunction(1, "GetFontResourceInfoW", DLL_CALL_STDCALL, DLL_RETURN_INT);
        for i = 1, #tFontsPath do
            local pTmp, pTmp2 = Memory.Allocate(4), Memory.Allocate(4);
            if DLL.CallFunction("gdi32.dll", "AddFontResourceExA", "\""..tFontsPath[i].."\",32,0", 0, 1) ~= "0" then
                local nBuffersize = Memory.CallFunction(nF1, 0, 1, tFontsPath[i], -1, 0, 0);
                local pWideString = Memory.Allocate(2 * nBuffersize);
                Memory.CallFunction(nF1, 0, 1, tFontsPath[i], -1, pWideString, nBuffersize);
                ---------------------------------------------------
               Memory.CallFunction(nF2, pWideString, pTmp, 0, 1);
                local pBuffer = Memory.Allocate(2 * Memory.GetInt(pTmp));
                Memory.PutLong(pTmp2, Memory.GetInt(pTmp));
                Memory.CallFunction(nF2, pWideString, pTmp2, pBuffer, 1);    
                tFontsName[Table.Count(tFontsName) + 1] = {Name = Memory.GetString(pBuffer, -1, "Unicode"), Path = tFontsPath[i]};
                Memory.Free(pTmp); Memory.Free(pTmp2); Memory.Free(pBuffer); Memory.Free(pWideString);
                DLL.CallFunction("gdi32.dll", "RemoveFontResourceEx", "\""..tFontsPath[i].."\",32,0", 0, 1);
            end
        end
        Memory.CloseLibrary(1);
        Memory.CloseLibrary(0);
        return tFontsName;
    end
     
    -- Sample
    local tSystemFonts = File.Find(Shell.GetFolder(SHF_FONTS), "*.*", false, false, nil, nil);
    if tSystemFonts then
        local tFonts = System.GetFontsName(tSystemFonts);
        for i = 1, #tFonts do        
            ListBox.AddItem("ListBox1", tFonts[i].Name.." - "..tFonts[i].Path, tFonts[i].Path);
        end
    end

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 10:13 19-12-2011
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    это круто! Я даже не думал что это возможно сделать. Плагин Memory нужено подключить как я понимаю.

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 11:21 19-12-2011
    Zloy_Gelud



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

    Цитата:
    это круто! Я даже не думал что это возможно сделать.

    ГАЗПРОМ.. Мечты сбываются.

    Цитата:
    Плагин Memory нужено подключить как я понимаю.

    Ну да. Куда сейчас без него.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 11:35 19-12-2011
    Stalkersof

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    skorp1k
    Тут кабы два варианта если нужно показывать видео в проекте AMS то нужно добавить объект Video на страницу. Ну и тот код.
    Если просматривать видео во внешней программе то см.
     Shell.Execute("AutoPlay\\Videos\\Magnolia.mpg", "open");
    Файл будет открыт в плеере установленом по умолчанию в системе пользователя.
     
    Еще можно в шапке посмотреть пример.
    Ряд вопросов и ответов по созданию меню для DVD от tavria2

    Всего записей: 263 | Зарегистр. 20-03-2011 | Отправлено: 14:48 19-12-2011 | Исправлено: Stalkersof, 15:04 19-12-2011
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lua 5.2 was released on 16 Dec 2011. The main features in Lua 5.2 are yieldable pcall and metamethods, new lexical scheme for globals, ephemeron tables, new library for bitwise operations, light C functions, emergency garbage collector, goto statement, and finalizers for tables. The current release is Lua 5.2.0, released on 16 Dec 2011.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 20:03 19-12-2011
    ubian



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Zloy_Gelud
    Радуемся!)
     
    Добавлено:
    Я уже скомпилировал.
    http://narod.ru/disk/34883840001/lua-5.2-win32.zip.html

    Всего записей: 623 | Зарегистр. 22-07-2011 | Отправлено: 20:51 19-12-2011
    tavria2



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

    Цитата:
    Я уже скомпилировал.

    А смысл?
     
    Нововведения в языке привели к несовместимости Lua 5.2 и 5.1.
     
    Как ты собираешься связывать Lua 5.2 с AMS?

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 02:17 20-12-2011 | Исправлено: tavria2, 02:17 20-12-2011
    big gnome

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В процессе работы над проектом возникла проблема - неожиданно перестала срабатывать кнопка. Причем при предварительном просмотре проекта, она срабатывает, но только один раз, потом не работает. Пробовал заново скрипт вставлять и быстрое действие включать...бес толку - кнопка работает только единожды. Подскажите, откуда у проблемы ноги растут?

    Всего записей: 38 | Зарегистр. 25-11-2011 | Отправлено: 12:51 20-12-2011
    Stalkersof

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    big gnome
    Попробуй переустановить AMS. И желательно поставить английскую версию.
    Не помню что было но как то парился над одной ошибкой. Оказалось просто глючная версия перевода.

    Всего записей: 263 | Зарегистр. 20-03-2011 | Отправлено: 13:31 20-12-2011
    big gnome

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

    Цитата:
    Stalkersof

    Спасибо, попробую.
    А еще вопрос. Почему при работе с диалогом Tree Properties появился такой глюк? После предварительного просчета выбираю в дереве нужную ветку - после нее еще одну ветку и т.д. так вот после возврата на первую страницу  прога начинает сама перелистывать страницы. Т.е. как бы запоминает путь и проматывает его занова.

    Всего записей: 38 | Зарегистр. 25-11-2011 | Отправлено: 14:39 20-12-2011
    Stalkersof

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    big gnome
    Дерево используется для перехода страниц.
    Просто оно запоминает последнюю выбранную страницу.
     
    При переходе на страницу с деревом(на первой) Нужно в коде выбрать первый элемент дерева(обнулить его- ввернуть в начальное состояние) Думаю по этому.
     
    On Preload стр 1
     
    Tree.SetSelectedNode("Tree1", "");

    Всего записей: 263 | Зарегистр. 20-03-2011 | Отправлено: 15:09 20-12-2011 | Исправлено: Stalkersof, 15:30 20-12-2011
    big gnome

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

    Всего записей: 38 | Зарегистр. 25-11-2011 | Отправлено: 15:57 20-12-2011
    Stalkersof

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    big gnome  
    На скорую руку. Попробуй http://narod.ru/disk/34978104001/Project.apz.html

    Всего записей: 263 | Зарегистр. 20-03-2011 | Отправлено: 17:13 20-12-2011 | Исправлено: Stalkersof, 17:22 20-12-2011
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ubian
    сравнивать шрифты по имени получается не очень хорошая идея, потому что попадаються разные файлы с одинаковым именем шрифта
    вот код со сравением, удаляются шрифты с одинаковым именем файла и именем шрифта
     

    Код:
     
    -- #FUNCTION# ============================================================
    -- Name...........: System.GetFontName  
    -- Description....: Возвращает индексированную числами таблицу  
    -- Syntax.........: System.GetFontName (tFontsPath)  
    -- Parameters.....: tFontsPath  - таблица, содержащая полные пути шрифтов  
    -- Return values..: tRet[i].Name - Название шрифта.  
    --                  tRet[i].Path - Путь к шрифту.  
    -- ==================================================================
     
    System.GetFontsName = function (tFontsPath)  
        local tFontsName = {};
        local tFontsLink = {};
        if type(tFontsPath) ~= "table" then return nil; end  
        Memory.OpenLibrary(0, _SystemFolder.."\\kernel32.dll");  
        Memory.OpenLibrary(1, _SystemFolder.."\\gdi32.dll");  
        local nF1 = Memory.OpenFunction(0, "MultiByteToWideChar", DLL_CALL_STDCALL, DLL_RETURN_INT);  
        local nF2 = Memory.OpenFunction(1, "GetFontResourceInfoW", DLL_CALL_STDCALL, DLL_RETURN_INT);  
        for i = 1, #tFontsPath do  
            local pTmp, pTmp2 = Memory.Allocate(4), Memory.Allocate(4);  
            if DLL.CallFunction("gdi32.dll", "AddFontResourceExA", "\""..tFontsPath[i].."\",32,0", 0, 1) ~= "0" then  
                local nBuffersize = Memory.CallFunction(nF1, 0, 1, tFontsPath[i], -1, 0, 0);  
                local pWideString = Memory.Allocate(2 * nBuffersize);  
                Memory.CallFunction(nF1, 0, 1, tFontsPath[i], -1, pWideString, nBuffersize);  
                ---------------------------------------------------  
               Memory.CallFunction(nF2, pWideString, pTmp, 0, 1);  
                local pBuffer = Memory.Allocate(2 * Memory.GetInt(pTmp));  
                Memory.PutLong(pTmp2, Memory.GetInt(pTmp));  
                Memory.CallFunction(nF2, pWideString, pTmp2, pBuffer, 1);      
                local key = String.Mid(tFontsPath[i], String.ReverseFind(tFontsPath[i], "\\") + 1, -1).."_"..Memory.GetString(pBuffer, -1, "Unicode");
                tFontsName[Table.Count(tFontsName) + 1] = {Name = Memory.GetString(pBuffer, -1, "Unicode"), Path = tFontsPath[i], Key = key};
                tFontsLink[key] = Table.Count(tFontsName); -- сохраняем в таблице индексы таблицы tFontsName
                Memory.Free(pTmp); Memory.Free(pTmp2); Memory.Free(pBuffer); Memory.Free(pWideString);  
                DLL.CallFunction("gdi32.dll", "RemoveFontResourceEx", "\""..tFontsPath[i].."\",32,0", 0, 1);  
            end  
        end  
        Memory.CloseLibrary(1);  
        Memory.CloseLibrary(0);  
        return tFontsName, tFontsLink; -- возвращаем две таблицы tFontsName - свойствва шрифтов, tFontsLink - ключ (имя файла) = индексу tFontsName
    end  
     
    -- Sample  
    local tSystemFonts = File.Find(Shell.GetFolder(SHF_FONTS), "*.*", false, false, nil, nil);  
    if tSystemFonts then  
        tFonts = System.GetFontsName(tSystemFonts);  
        for i = 1, #tFonts do          
            ListBox.AddItem("ListBox1", i..". "..tFonts[i].Name.." - "..tFonts[i].Path, tFonts[i].Path);  
        end  
    end  
    Debug.ShowWindow(true);
     
    local tUserFont = File.Find("Fonts", "*.*", false, false, nil, nil);
    if tUserFont then
    local tFontsUser, tFontsCompare = System.GetFontsName(tUserFont);
        for i=1, #tFonts do
            if tFontsCompare[tFonts[i].Key] then
        --File.Delete(tFontsUser[tFontsCompare[tFonts[i].Key]].Path, false, false, true, nil);
                 Debug.Print(i..". Удалены: "..tFontsUser[tFontsCompare[tFonts[i].Key]].Path.."\r\n");
            end
        end
     
    end
     
     
     
    А теперь вопрос!
    Есть две таблицы: в первой содержаться индексы для удаления из второй таблицы, вторая содержит собственно данные.
    Нужно получая номер индекса из первой таблицы удалить данные из второй

    Код:
    Table.Remove(t2, t1[i]);

    Проблема в том что после первого удаления все индексы во второй таблице смещаются и уже не соответсвуют индексам из первой.  Как можно это скомпенсировать? Что-то ничеего путевого не выходит.

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 18:09 20-12-2011 | Исправлено: Robby, 19:32 20-12-2011
    ubian



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    "Любой дурак может написать код, который поймет компилятор. Только программист напишет код, который поймет человек"
     
    Но все равно спасибо.  
    Т.е. придется на Java писать модуль сторонний от программы. Хотя может кто сделает. Вся работа опять висит)

    Всего записей: 623 | Зарегистр. 22-07-2011 | Отправлено: 19:10 20-12-2011
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ubian
    непонятно с чем у тебя проблемы? Выше работающий код,
    раскоментируй строчку

    Код:
     
    File.Delete(tFontsUser[tFontsCompare[tFonts[i].Key]].Path, false, false, true, nil);
     

    фйлы, наверное лучше сравнивать по конрольной сумме

    Код:
    File.GetCRC

    тогда можно будет отвязаться от имени файла или имени шрифта.

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 19:37 20-12-2011
       

    Страницы: 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211

    Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » Indigo Rose AutoPlay Media Studio (часть 4)
    articlebot (05-08-2012 06:20): Лимит страниц, переезжаем сюда


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru