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

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



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

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 13:04 04-09-2010 | Исправлено: lorents, 13:06 04-09-2010
    a59rn

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    скачал с ОФ сайта установил так как там написано, скопировал папку GIF в папку Плагин/Объект, перезапустил программу но изменений не замечаю
     
    Добавлено:
    в чем может быть проблемма с этим Gif плагином? там еще в архиве папка Examples есть, ее надо куда-то копировать?
     
    Добавлено:
    Разобрался.
    Проблема была в том что версия стояла RUS переставил не ENG и все плагины стали отображаться где надо.
    Теперь другой вопрос, как через этот плагин вставить гиф? что в свойствах Гифа или еще где надо прописать?
     
    Добавлено:
    Разобрался и тут не дождавшись помощи.
    Сам с собой короче поговорил тут на форуме)))
     Прописал следущее в OnLoad страницы, затем попробовал давать это значения кнопкам на вкладку OnEnter... все вроде ничего, да вот только тормозит GIF страшно, и имеет лишь одну функцию - GIF.Load.
    Или я дурак или Plugin никакой!
    Не смог я разобраться с тем, как воспроизводить GIF не циклично а один раз.
     
    result = GIF.Load("Plugin1", "AutoPlay\\Images\\kartinka.gif");
     
    Это ФсЁ что осилил мой деревянный мозг за сегодня)))
     
    Добавлено:
    Парни, а кто знает как объекту Flash придать прозрачность фона, в браузере через "wmode = transparent"
    а тут как добиться такого же эффекта?
    Кпримеру нарисовал я анимированный круг а внутри круга серый фон, который поставил во Flash фоном при создании, так вот этот фон нужно сделать прозрачным.
    Если кто то знает подскажите пожалуйста.

    Всего записей: 6 | Зарегистр. 03-08-2010 | Отправлено: 13:14 04-09-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    a59rn
    если не ошибаюсь сделать прозрачным фон flash никак. Но можно через маску.
    если ты сам задаешь маску когда тебе надо, т о вот код

    Код:
    hWnd = Flash.GetProperties("Flash1").WindowHandle;
    Window.SetMask(hWnd, "AutoPlay\\Images\\630_17.png", true, 0);

    если тебе надо сразу на страницу
     
    On Preload

    Код:
    Page.StartTimer(10, 1);  

    On Timer

    Код:
    if (e_ID == 1) then
        hWnd = Flash.GetProperties("Flash1").WindowHandle;
        if (hWnd ~= 0) then
            Page.StopTimer(1);
            Window.SetMask(hWnd, "AutoPlay\\Images\\630_17.png", true, 0);
        end
    end  


    Цитата:
    Разобрался и тут не дождавшись помощи.  

    тебе ни кто не должен, поэтому не пиши в следующий раз так.
     
    У самого одни вопрос появился, есть bat-файл, я его запускаю в скрытом режиме, как можно его отключить через AMS?

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 12:26 05-09-2010 | Исправлено: lorents, 12:26 05-09-2010
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите как можно решить следующую проблему. Нужно из файлов формата name.ext и name.ext.ext получить только имя файла. Обработка идет в цикле перебором из массива. Имя файла может содержать точки, а расширение может быть как 3 знаковое так и 4. Самый простой способ использловать String.SplitPath (Path).Filename
    в первом случае из name.ext получим name а во втором - из name.ext.ext получим name.ext. Проверить есть ли расширение и если есть - применить String.SplitPath (Path).Filename еще раз для извлечения имени. Но все это сработает если в имени нет точек. А вот если есть точки то такой алгоритм не сработает. В голову приходят только варианты с несколькими громоздкимим проверками. Может кто подскажет? Можно либо логику обработки или готовый код.
     

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 13:06 05-09-2010
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Robby
    Попробуй через регулярные выражения:
    Код:
    sName = "C:\\MyFolder\\name.ext.ext.ext"
    sName = String.SplitPath(sName).Filename;
    sName = string.gsub (sName, "(.-)(%..*)", "%1");


    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 13:43 05-09-2010
    Robby

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

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 14:02 05-09-2010
    Zloy_Gelud



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

    Цитата:
    а регулярные выражения это из восьмой версии?

    Регулярные выражения можно применять к любой версии, используя оригинальный синтаксис LUA, разница только в том, что более старые версии АМС используют соответственно более старые версии движка (LUA), которые не поддерживают некоторые действия.
    Попробуй такой код:

    Код:
     
    function GetFileName(sPath)
        local sFilename = String.SplitPath(sPath).Filename..String.SplitPath(sPath).Extension;
        local sExt = String.SplitPath(sPath).Extension;
        if sExt ~= "" then
            while String.ReverseFind(sFilename, sExt, false) ~= -1 do
                sFilename = String.Mid(sFilename, 1, String.Length(sFilename) - String.Length(sExt));
            end
        end
        return sFilename;
    end
     
    Dialog.Message("Notice", GetFileName("C:\\MyFolder\\name.ext.ext.ext"), MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
     

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 15:40 05-09-2010
    tavria2



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

    Цитата:
    а регулярные выражения это из восьмой версии?

    Регулярные выражения в AMS не документированы, нужно смотреть справку по Lua 5.0 для AMS ниже 8-й версии или Lua 5.1 для 8-й версии.
    Теоретически вышеуказанный код должен работать и в 7-й и в 8-й версии AMS.
    Попробуй еще такой вариант:
    Код:
    sName = "C:\\MyFolder\\name.ext.ext.ext"  
    sName = String.SplitPath(sName).Filename;  
    sName = string.gsub (sName, "%..*", "");

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 15:42 05-09-2010 | Исправлено: tavria2, 11:24 06-09-2010
    Sanchos145

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ок, тогда так, перед запуском программа проверяет разрешение екрана, если разрешение не равно 1024-768 то вылетает следующий диалог : Разрешение вашего монитора не пригодно для запуска программы, измените его на 1024-768 и перезапустите программу. -- в окне только одна кнопка "Ок" после чего окно закрывается и вылетает следующее: Сейчас произойдет выход из программы, если вы желаете ею воспользоваться установите разрешение 1024-768 сделать ето можно так то так то ... И внизу тоже кнопочка "Ок" .
     
    Я просто начинающий прог, учусь на втором курсе, да и кстати у меня АMS 7.5 перевод русский с кракозябрами. Делаю интерактивную обучающую программу.

    Всего записей: 18 | Зарегистр. 09-04-2010 | Отправлено: 19:10 05-09-2010
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    tavria2
    коды работают но результат дают не тот что надо.
    Читать дальше результаты работы..
     
    Смысл в том чтобы отсечь расширение и двойное расширение но оставить всю часть имени целой. Я делал это так

    Цитата:
    sFileName=String.Mid(file_path, String.ReverseFind(file_path, "\\") + 1, -1); -- получаем имя файла c расширением
    sFolderName = String.Mid(sFileName, 1, (String.Find(sFileName, ".", 1, false)-1)); -- извлекаем часть имени файла до первой точки  

    результат аналогичный использованию регулярного выраженния, тут вроде бы все нормально пока не попадуться файлы с одинаковой частью до точки, например:
    a.bbb.ext
    a.bbb.ext.ext
    a.ccc.ext
    a.ccc.ext.ext
    В результате эти раные файлы при копировании попадут в одну папку с именем a, а нужно чтобы в разные первые два файла в папку a.bbb а вторые два в папку a.ccc.
    Регулярные выражения скорей всего будут работать, но патерн для поиска нужен другой.  

    Цитата:
     
    string.gsub (s, pattern, repl [, n])
    Returns a copy of s in which all (or the first n, if given) occurrences of the pattern have been replaced by a replacement string specified by repl, which can be a string, a table, or a function. gsub also returns, as its second value, the total number of matches that occurred.  
    If repl is a string, then its value is used for replacement. The character % works as an escape character: any sequence in repl of the form %n, with n between 1 and 9, stands for the value of the n-th captured substring (see below). The sequence %0 stands for the whole match. The sequence %% stands for a single %.  
     
    If repl is a table, then the table is queried for every match, using the first capture as the key; if the pattern specifies no captures, then the whole match is used as the key.  
     
    If repl is a function, then this function is called every time a match occurs, with all captured substrings passed as arguments, in order; if the pattern specifies no captures, then the whole match is passed as a sole argument.  
     
    If the value returned by the table query or by the function call is a string or a number, then it is used as the replacement string; otherwise, if it is false or nil, then there is no replacement (that is, the original match is kept in the string).  
     

    Я правильно понял, что % используетя для экранировки чтобы найти спецсимвол, например точку? А весь синтаксис должен быть Perl? Есть ли документация по Lua на русском? Сайт http://www.lua.ru/doc/ не работает.
     
    Добавлено:
    http://www.lua.ru/doc/ заработал, пойду пока почитаю...

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 10:49 06-09-2010 | Исправлено: Robby, 11:00 06-09-2010
    tavria2



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

    Цитата:
    Смысл в том чтобы отсечь расширение и двойное расширение но оставить всю часть имени целой.

    Не понятно, по каким признакам ты собираешся различать, чему принадлежит точка, к имени или расширению?

    Цитата:
    Я правильно понял, что % используетя для экранировки чтобы найти спецсимвол, например точку?

    Да.

    Цитата:
    А весь синтаксис должен быть Perl?

    Нет, у луа свой синтаксис.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 11:22 06-09-2010 | Исправлено: tavria2, 11:26 06-09-2010
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    да точки в именах файлов это зло
    если так: (%.???)|(%.????)%.???$  
    Lua такой синтаксис поддерживает?

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 11:44 06-09-2010
    tavria2



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

    Цитата:
    Lua такой синтаксис поддерживает?

    Нет.
    Шаблоны  

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 11:51 06-09-2010 | Исправлено: tavria2, 12:09 06-09-2010
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    мы знаем что расширение это последние 4 или 3 символа после точки. Получаем список всех используемых расширений. Выделяем имя файла сравниваем последние 5  символов со списком расширений, если не совпадает сравниваем 4 последних символа. Если снова не совпадает это и есть имя файла, если совпадет 4 или 5 последних символов то от имени отрезаем расширение.  
    так вроде должно сработать но громоздко. Может есть еще какие идеи?

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 11:52 06-09-2010
    tavria2



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

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 12:13 06-09-2010 | Исправлено: tavria2, 12:13 06-09-2010
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    файл может иметь как одно так и два расширения. Вроде решение найдено

    Код:
     
    sName = string.gsub (sName, "%.%a*%a*$", "");
     

    вот результат:
    Читать дальше..

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 12:32 06-09-2010 | Исправлено: Robby, 12:32 06-09-2010
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Robby
    Вариант с перечислением расширений.
    Для AMS8:
    Код:
    sName="a.bbb.ext.ext";
    t = {ext="", rar="", zip=""}; -- все возможные расширения
    sText = string.gsub(sName, "%.(%w+)", t);

    Для AMS7:
    Код:
    sName="a.bbb.ext.ext";
    t = {ext="", rar="", zip=""}; -- все возможные расширения
    sText = string.gsub(sName, "%.(%w+)", function (v) return t[v] end);

     
     
    Добавлено:
    Robby

    Цитата:
     Вроде решение найдено  

    "a.b.c.zip.rar" - твой код выдаст "a.b.c.zip", а должен "a.b.c"

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 12:44 06-09-2010 | Исправлено: tavria2, 12:46 06-09-2010
    Robby

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

    Цитата:
    "a.b.c.zip.rar" - твой код выдаст "a.b.c.zip", а должен "a.b.c"

    да выдаст, я просто привел не весь код а такая последовательность выводит все правильно потому, что в имени уже нет одного расширения

    Код:
     
    for a,file_path in tblFiles do
    sFile = String.SplitPath(file_path).Filename..String.SplitPath(file_path).Extension;
    sName = String.SplitPath(file_path).Filename;  
    sName = string.gsub (sName, "%.%w*$", "");  
    TextFile.WriteFromString("C:\\tеst.txt", sFile.." >> "..sName.."\r\n", true); -- проверка результатов
    end
     

    Спасибо за помощь.  
    Разобраться бы еще почему AMS8 не работает, переставлять систему из-за одной проги как-то не хочется

     
    Добавлено:

    Код:
     
    for a,file_path in tblFiles do  
    sFile = String.SplitPath(file_path).Filename..String.SplitPath(file_path).Extension;  
    sName = String.SplitPath(file_path).Filename;    
    sName = string.gsub (sName, "%.%w*$", "");  
    TextFile.WriteFromString("C:\\tеst.txt", sFile.." >> "..sName.."\r\n", true); -- проверка результатов  
    end  
     

    проверил на большом количестве файлов, есть проблемы с некоторыми именами (это я подозревал)  но и

    Код:
     
    sName="a.bbb.ext.ext";  
    t = {ext="", rar="", zip=""}; -- все возможные расширения  
    sText = string.gsub(sName, "%.(%w+)", function (v) return t[v] end);  
     

    тоже дает ошибки
    пример:
    7129.01.rar>>7129
    7129.01.rar.txt>>7129
    7129.03.rar>>7129
    7129.03.rar.txt>>7129
    7129.05.rar>>7129
    7129.05.rar.txt>>7129
    7129.07.rar>>7129
    7129.07.rar.txt>>7129
    7129.11.rar>>7129
    7129.11.rar.txt>>7129
    A-PDF.Scan.Optimizer.1.8.1_2b.rar>>A-PDF_2b
    A-PDF.Scan.Optimizer.1.8.1_2b.rar.txt>>A-PDF_2b
     
     
    Добавлено:
    sText = string.gsub(sName, "%.(%w+)", function (v) return t[v] end); <- не могу въехать как это работает

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 13:24 06-09-2010 | Исправлено: Robby, 14:02 06-09-2010
    tavria2



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

    Цитата:
    тоже дает ошибки  
    пример:  
    7129.01.rar>>7129

    У меня результат: 7129.01

    Цитата:
    sText = string.gsub(sName, "%.(%w+)", function (v) return t[v] end); <- не могу въехать как это работает  

    (%w+) - алфавитно-цифровое выражение после точки, которое будет передано в функцию и в последствии заменено результатом функции.
    В функции делается попытка веруть значение индекса таблицы. В качестве индекса таблицы выступает параметр переданный в функцию, т.е. (%w+).
     
    Добавлено:

    Цитата:
    У меня результат: 7129.01  

    Мда, в AMS7: 7129, а в AMS8: 7129.01
     
    Добавлено:
    Попробуй следующее:
    Код:
    sName="a.bbb.ext.ext";  
    t = {ext="", rar="", zip=""}; -- все возможные расширения  
    sText = string.gsub(sName, "%.(%w+)", function (v) if t[v] then  v="" else v="."..v  end return v end);

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 17:40 06-09-2010 | Исправлено: tavria2, 18:18 06-09-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый вечер!
    Хочу сделать GUI версии, для одной программы (программа работает через командную строку) и сейчас пытаюсь понять, как можно остановить процесс работы данной программы через AMS, убивать процесс мне не хочется. Мне посоветовали попробовать отослать окну консоли сообщение WM_CLOSE, как я понимаю это средства Win API. Но у меня не выходит, есть идеи как это сделать?

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 22:01 06-09-2010 | Исправлено: lorents, 22:33 06-09-2010
       

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