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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может есть DLL какая-нибудь для этого? Или ещё что? Не очень мне хочется внешний архиватор использовать.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 18:44 18-07-2012
    Zloy_Gelud



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

    Цитата:
    Не очень мне хочется внешний архиватор использовать.

    В данном случаем проще поступить именно так, чем написать работающий код..

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 23:58 18-07-2012
    Daem0n7



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Robby
    Большое спасибо! Все работает, кроме прочтения пункта "разрешение" из ини, ну думаю разберусь. Еще раз спасибо за помощь.

    Всего записей: 12 | Зарегистр. 17-07-2012 | Отправлено: 01:34 19-07-2012
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Тогда не поможете ли мне в использовании 7z.exe от 7-Zip'а? Никак не получается написать нужную команду для архивации моего списка.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 20:26 20-07-2012
    Lexua



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Код:
    Shell.Execute("AutoPlay\\Docs\\7zg.exe", "open", " a -t7z -y \""Путьдля архива\\имя_архива.7z\" \""Путь к папке с файлами\\*\"", "", SW_HIDE, true);

     
    Вместо 7zg.exe можно использовать консольный 7za.exe если не нужен GUI при распаковке

    Всего записей: 2844 | Зарегистр. 15-10-2002 | Отправлено: 11:07 21-07-2012 | Исправлено: Lexua, 11:09 21-07-2012
    SuperDimon007



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

    Всего записей: 51 | Зарегистр. 12-06-2012 | Отправлено: 14:48 21-07-2012
    Zloy_Gelud



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

    Код:
    local tFilesName = {};
    local tDirsName  = {};
     
    local tFounded = File.Find("C:\\Program Files\\AutoPlay Media Studio 8 Trial", "*.*", false, true, nil, nil);
    if tFounded then
        local tPaths
        for i = 1, #tFounded do
            if File.GetAttributes(tFounded[i]).Directory then
                tDirsName[#tDirsName + 1] = String.Mid(tFounded[i], String.ReverseFind(tFounded[i], "\\") + 1, -1);
            else
                tPaths = String.SplitPath(tFounded[i]);
                tFilesName[#tFilesName + 1] = tPaths.Filename..tPaths.Extension;
            end
        end
    end
     
    Dialog.Message("Notice", Table.Concat(tFilesName, "\r\n", 1, TABLE_ALL).."\r\n\r\n"..Table.Concat(tDirsName, "\r\n", 1, TABLE_ALL));

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 15:04 21-07-2012
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Хоть ты тресни не понимаю как мой список архивировать правильно. Есть такой список (это пример, не обязательно такой):
    Список
     
    Есть команда:
    s7zG = Путь к этому 7zg.exe
    sArchive - Полный путь к создаваемому архиву
    sFilesList - Полный путь к списку файлов
    sQuote - это у меня кавычка, чтобы не писать вручную.
     

    Код:
    local nRet = Shell.Execute(s7zG, "open", " a -tzip -y "..sQuote..sArchive..sQuote.." -ir@"..sFilesList.." -scsWIN", "", SW_SHOWNORMAL, true);

     
    Всё равно все файлы лезут в корень архива.
     
    Я вроде понял почему в корень все файлы лезут. При таком создании архива, программа не знает откуда ей начинать создавать структуру. Надо дальше экспериментировать.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 17:08 22-07-2012 | Исправлено: KerberX, 12:19 23-07-2012
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    7zip действительно как-то своебразно работает со списком файлов... Rar все нормально архивирует с сохранением путей. Тебе нужно чтобы архив обязательно был zip?

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 14:50 23-07-2012
    Zloy_Gelud



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

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 15:24 23-07-2012
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Robby, да обязательно zip. Zloy_Gelud, надеюсь получится.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 18:45 23-07-2012
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Мда. Вообщем, что получается... как ни крути, хоть используй WinApi, хоть COM-интефейс, получается, что придется использовать дополнительное копирование необходимых файлов из таблицы в отдельную папку. Ну а уж потом, файлы из этой папки архивировать. Т.е.получаем лишнее копирование. Неудобно конечо, но другого способа, к сожалению, я больше не вижу. Если тебя такая затея устраивает, то можно и набросать код.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 21:28 23-07-2012 | Исправлено: Zloy_Gelud, 21:54 23-07-2012
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я могу и сам такой код сделать, но набросай, вдруг твой способ лучше. У меня была идея удалять из имени файла один символ и заменять его на символ маски (?). Но у меня с этим что-то не получилось.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 21:48 23-07-2012
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    а если не использовать список в командной строке, а просто в цикле пройтись по таблице добавляя по одному файлу в архив. Да уж 7-zip разочаровал несохранение путей это большой минус.

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 22:34 23-07-2012
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всё равно в корень лезут. Один раз даже фатальную ошибку выдал: "Move file error". Думал что если в качестве рабочей папки указать папку с обрабатываемым файлом, то выйдет, а нет.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 00:06 24-07-2012
    Zloy_Gelud



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

    Код:
    Zip.AddEx = function (sZipFile, tFiles)
        --------------------------------------
       -- создание временной папки
       local sTempFolderName = "";
        repeat
            sTempFolderName = "";
            while #sTempFolderName < 7 do
                sTempFolderName = sTempFolderName .. String.Char(Math.Random(97, 122));
            end
            sTempFolderName = _TempFolder.."\\~"..sTempFolderName..".tmp";
        until not Folder.DoesExist(sTempFolderName);
        if not Folder.DoesExist(sTempFolderName) then Folder.Create(sTempFolderName); end
        --------------------------------------
       local tPaths, sNewPath
        for i = 1, #tFiles do
            tPaths = String.SplitPath(tFiles[i]);
            sNewPath = sTempFolderName.."\\"..tPaths.Folder;
            Folder.Create(sNewPath);
            File.Copy(tFiles[i], sNewPath, false, true, false, false, nil);
        end
        Zip.Add(sZipFile, {sTempFolderName.."\\*.*"}, true, "", 5, nil, true);
        Folder.DeleteTree(sTempFolderName, nil);
    end
     
     
    local t = {};
    t[1] = "C:\\1.txt";
    t[2] = "C:\\Folder1\\2.txt";
    t[3] = "C:\\Folder2\\3.txt";
     
    Zip.AddEx("C:\\123.zip", t);

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 09:48 24-07-2012
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо! Вот только если файл большой то долго будет копироваться. А можно как-нибудь создавать структуру архива относительно какой нибудь папки, а не корня диска?

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 12:24 24-07-2012
    Zloy_Gelud



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

    Цитата:
    Вот только если файл большой то долго будет копироваться.

    Это да.

    Цитата:
    А можно как-нибудь создавать структуру архива относительно какой нибудь папки, а не корня диска?

    Не понял. Сейчас вся структура создается во временной папки Windows.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 12:35 24-07-2012 | Исправлено: Zloy_Gelud, 12:36 24-07-2012
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Видишь ли у меня в архиве была структура от C:\Users\...\Desktop. Если на примере с моим списком мне нужно чтобы в корне были файлы: ExtExport.exe, hmmapi.dll, ... sqmapi.dll и папки en-US, ru-RU. Надеюсь понятно.
    Подробнее...
     
    Вот так:

     
    Сейчас у меня так:


    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 12:40 24-07-2012 | Исправлено: KerberX, 12:46 24-07-2012
    Zloy_Gelud



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

    Цитата:
    Надеюсь понятно.  

    Понятно. Сейчас попробую поправить.
     
    Добавлено:

    Код:
    -- sZipFile  - полный путь к архиву
    -- tFiles    - таблица файлов
    -- nWorkDir  - уровень рабочей папки (0 - корень диска)

    Zip.AddEx = function (sZipFile, tFiles, nWorkDir)
        nWorkDir = nWorkDir or 0;
        --------------------------------------
       -- создание временной папки
       local sTempFolderName = "";
        repeat
            sTempFolderName = "";
            while #sTempFolderName < 7 do
                sTempFolderName = sTempFolderName .. String.Char(Math.Random(97, 122));
            end
            sTempFolderName = _TempFolder.."\\~"..sTempFolderName..".tmp";
        until not Folder.DoesExist(sTempFolderName);
        if not Folder.DoesExist(sTempFolderName) then Folder.Create(sTempFolderName); end
        --------------------------------------
       local tPaths, sNewPath, sFolder, nInd, nPos
        for i = 1, #tFiles do
            if File.DoesExist(tFiles[i]) then
                tPaths = String.SplitPath(tFiles[i]);
                sFolder = String.TrimLeft(tPaths.Folder, "\\");
                if nWorkDir > 0 then
                    nInd = nWorkDir;
                    nPos = String.Find(sFolder, "\\", 1, false);
                    while (nPos ~= -1 and nInd ~= 0) do
                        sFolder = String.Mid(sFolder, nPos + 1, -1);
                        nInd = nInd - 1;
                        nPos = String.Find(sFolder, "\\", 1, false);
                    end
                end                        
                sNewPath = sTempFolderName.."\\"..sFolder;
                Folder.Create(sNewPath);
                File.Copy(tFiles[i], sNewPath, false, true, false, false, nil);
            end
        end
        Zip.Add(sZipFile, {sTempFolderName.."\\*.*"}, true, "", 5, nil, true);
        Folder.DeleteTree(sTempFolderName, nil);
    end
     
    Zip.AddEx("C:\\123.zip", t, 2);

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 12:49 24-07-2012
       

    Страницы: 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