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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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.6


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

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

    Инструменты:
  • ScriptOMatic Tool - создает скрипт обращения ко всем свойствам выбранного WMI-класса

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


    Раскраска AMS-кода для публикации на форуме от UModeL: версия 1 и версия 2.

  • Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 06:17 05-08-2012 | Исправлено: Komandor, 12:11 30-03-2024
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pahuchiy1
    Попробуй вот такой способ. Не забудь про локали.

    Код:
    -- Находит первое вхождение любой из строк в шаблоне в исходной строке. Возвращает nil если не ничего находит.
    function IsInString(sSource, tPattern)
        local sSourceLower = string.lower(sSource);
     
        for x, y in ipairs(tPattern) do
            local sPattern = string.lower(y);
            local n1, n2 = string.find(sSourceLower, string.format("()%s()", sPattern));
            if n1 ~= nil and n2 ~= nil then
                return string.sub(sSource, n1, n2);
            end
        end
    end
     
    local sSource = "Я прода. дом, но она продаст гараж и квартиру"; -- Рандомно придуманный текст
    local tPattern = {"я", "он", "она", "прода. дом", "гараж", "квартиру"}; -- Список слов
    Dialog.Message(sSource, IsInString(sSource, tPattern));

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 02:33 28-08-2016 | Исправлено: KerberX, 05:52 28-08-2016
    Pahuchiy1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX спасибо
    проблема:  
    в String.Find есть CaseSensitive но нет возможности вернуть найденную подстроку
    в string.match всё наоборот
    Вопрос: как объединить достоинства этих функций? То есть нужна функция которая бы возвращала найденное и при этом поиск по шабону вёлся бы без учёта регистра?

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 13:57 31-08-2016
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pahuchiy1
    А посмотреть мой код ты не пробовал? Приведи исходную строку и шаблон поиска к одному регистру и используй на новой версии исходной строки функцию string.find. Эта функция возвращает два числа - номера символов если подстрока найдена или nil если ничего не найдено. Это будет результатом String.Find - номер символа соответствующего шаблону. Потом можешь использовать string.sub чтобы извлечь нужный фрагмент из оригинальной строки чтобы имитировать поведение string.match. Пример кода смотри в моём предыдущем сообщении.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 14:05 31-08-2016 | Исправлено: KerberX, 22:18 04-09-2016
    Pahuchiy1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberXда, ты прав, нужно было просто немного подумать...
    но вот теперь , думаю, задачка посложнее будет
    не знаю как правильно изобразить таблицу, попробую так: t={{a1,b1,c1,...},{a2,b2,c2,...},...}
    то есть таблица содержащая неопределённое количество вложенных таблиц, каждая из которых, в свою очередь, содержит неопределённое количество элементов (то есть дальше второго уровня не идём)
    На выходе должна получиться таблица, содержащая  подтаблицы, каждая из которых, содержит #t количество элементов, каждый из которых берётся по одному из t[n]
    Проще говоря, нужна матрица всех возможных вариаций, ...примерно так: tRet={{a1,a2,...},{a1,b2,...},{a1,c2,...},{b1,a2,...},...}
     

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 21:43 31-08-2016 | Исправлено: Pahuchiy1, 21:45 31-08-2016
    Pahuchiy1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    function f()
    return 1,2
    end
     
    как на её основе сделать цикл такого вида: for i in f() dо...?
    то есть нужно чтобы в тело цикла передавалось одно из значений, генерируемых функцией f()
    то есть по аналогии с циклом string.gmatch

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 14:36 04-09-2016 | Исправлено: Pahuchiy1, 18:13 04-09-2016
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pahuchiy1
    Не уверен по какому алгоритму нужно рекомбинировать таблицу. По второму вопросу тебе может помочь чтение главы 7.1 в книге "Programming in Lua": Ссылка. Только эта книга писалась для Lua 5.0, а в AMS используется 5.1. Так что в примерах вместо table.getn(t) используй #t.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 22:34 04-09-2016 | Исправлено: KerberX, 22:35 04-09-2016
    Pahuchiy1

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

    Цитата:
    Не уверен по какому алгоритму нужно рекомбинировать таблицу

    Попытаюсь поподробнее о том что нужно:
    Дано:  
    t ={{t[1][1],t[1][2],...t[1][x1]},{t[2][1],t[2][2],...t[2][x2]},{t[3][1],t[3[2],...t[3][x3]},...{t[n][xx],t[n][xx],t[n][xx]...}} - исходная таблица
    #t[n]>0  
    Нужно найти: tRet - искомая таблица  
    #tRet - количество всех возможных комбинаций
    tRet[k]={t[1][x1],t[2][x2],t[3][x3],...t[n][xx]}
    #tRet[k]=#t
     
    мне кажется сейчас на много понятнее

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 00:40 05-09-2016 | Исправлено: Pahuchiy1, 00:58 05-09-2016
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pahuchiy1
    Я ещё больше запутался. Давай так, есть таблица:

    Код:
    t = {{a1, b1, c1}, {a2, b2, c2}, {a3, b3, c3}};

    Что должно получится в результате? Только без расширения на n элементов, для этого одного конкретного случая.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 01:01 05-09-2016
    Pahuchiy1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    плохо что #t=3 и #t[n]=3
    нагляднее так:
    t = {{a1, b1}, {a2, b2, c2}, {a3}}
    tRet={
    {a1,a2,a3},
    {a1,b2,a3},
    {a1,c2,a3},
    {b1,a2,a3},
    {b1,b2,a3},
    {b1,c2,a3},
    {b1,c2,a3},
    }

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 01:21 05-09-2016 | Исправлено: Pahuchiy1, 01:37 05-09-2016
    Pahuchiy1

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

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 08:12 06-09-2016 | Исправлено: Pahuchiy1, 08:29 06-09-2016
    UModeL



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Pahuchiy1
    Цитата:
    есть таблица содержащая неопределённое количество вложенных таблиц, каждая из которых, в свою очередь, содержит неопределённое количество элементов (то есть дальше второго уровня не идём)

    Если я правильно всё понял, то решение такое:
    Код:
    function fAllTablesVariant(tSource)
        nNumSrc = 1;
        for i = 1, #tSource do
            nNumSrc = nNumSrc * #tSource[i];
        end
        tResult = {};
        for j = 1, nNumSrc do
            tSubTab = {};
            nNumSub = 1;
            for k = 1, #tSource do
                tSubTab[#tSubTab + 1] = tSource[k][1 + Math.Mod(Math.Floor((j - 1) / nNumSub), #tSource[k])];
                nNumSub = nNumSub * #tSource[k];
            end
            tResult[#tResult + 1] = tSubTab;
        end
        return tResult;
    end
     
    tM = {{1, 2, 3}, {4}, {6, 7, 8, "c"}, {"a", "b"}};
    tR = fAllTablesVariant(tM);
    -- Preview
    sPrint = "";
    for b = 1, Table.Count(tR) do
        sPrint = sPrint .. Table.Concat(tR[b], ",", 1, TABLE_ALL) .. "\r\n";
    end
    Dialog.Message("New Table", "Combinations quantity: " .. #tR .. "\r\n\r\n" .. sPrint, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

    Всего записей: 37 | Зарегистр. 09-04-2008 | Отправлено: 05:43 08-09-2016 | Исправлено: UModeL, 18:42 08-09-2016
    Pahuchiy1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    UModeL спасибо, конечно, но это совсем не то что мне нужно.
    А вот что нужно:  

    Цитата:
    t = {{a1, b1}, {a2, b2, c2}, {a3}}  
    tRet={  
    {a1,a2,a3},  
    {a1,b2,a3},  
    {a1,c2,a3},  
    {b1,a2,a3},  
    {b1,b2,a3},  
    {b1,c2,a3}
    }

    #tRet[1]=#tRet[2]=#tRet[3]=#tRet[4]=#tRet[5]=#tRet[6]=#t - то есть из каждой подтаблицы (t[1],t[2],t[3]) берём по одному элементу за раз.

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 07:33 08-09-2016 | Исправлено: Pahuchiy1, 11:09 08-09-2016
    Pahuchiy1

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

    Цитата:
    function match(s,sPatt) -- та же string.match  только отключеным CaseSensetive     
        local p=string.match(string.lower(s),string.lower(sPatt))
        local sSourceLower = string.lower(s)
        if p ~= nil then
            local sPattern = string.lower(sPatt)
            local n1, n2 = string.find(sSourceLower, string.format("()%s()", sPattern))
            if n1 ~= nil and n2 ~= nil then  
                return string.sub(s, n1, n2)  
            end  
        end    
    end
     
    match("dfg/u","(%w)/") -->"g/"
    string.match("dfg/u","(%w)/") -->"g"

    Почему такая разница? Моя функция не верна?

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 15:11 08-09-2016 | Исправлено: Pahuchiy1, 15:13 08-09-2016
    UModeL



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

    Извиняюсь, но постоянно забываю, что массивы в Lua с 1 начинаются, а не с 0
    Код поправил, добавил предпросмотр.

    Всего записей: 37 | Зарегистр. 09-04-2008 | Отправлено: 18:46 08-09-2016
    Pahuchiy1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    UModeL
    спасибо, то что нужно
     
    Добавлено:
    Страницу, объект и событие узнаю с помощью Debug.GetEventContext  
    а как узнать номер текущей строки кода?

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 19:07 08-09-2016
    KerberX



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

    Цитата:
    Страницу, объект и событие узнаю с помощью Debug.GetEventContext  
    а как узнать номер текущей строки кода?


    Код:
    local tInfo = debug.getinfo(1);
    Dialog.Message("", tInfo.currentline); -- Номер строки, где была вызвана функция debug.getinfo

     

    Цитата:
    Почему такая разница? Моя функция не верна?

    Функции string.find и string.match не точно эквивалентны, так что лучше найди конкретный случай и под него напиши функцию, вместо общей функции. Так надёжнее.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 00:41 09-09-2016 | Исправлено: KerberX, 02:05 09-09-2016
    Pahuchiy1

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

    Цитата:
    local tInfo = debug.getinfo(1);  
    Dialog.Message("", tInfo.currentline); -- Номер строки, где была вызвана функция debug.getinfo

    это номер строки "в общем коде"  
    А как найти номер строки в редакторе скрипта конкретного объекта и конкретного события? То есть в AMS -интерфейсе

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 03:12 09-09-2016
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pahuchiy1
    Это номер строки в текущем чанке. Код, который в AMS пишется для событий, не исполняется как отдельный чанк, он встраивается куда-то ещё и там номер строки будет уже другой.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 15:45 09-09-2016
    CryptoUsbtor



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

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 08:55 10-09-2016 | Исправлено: CryptoUsbtor, 16:13 10-09-2016
    KerberX



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

    Цитата:
    высокосортных годов

    Автозамена?
     
    У меня нет готовой функции, но я подумаю над этим.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 15:34 10-09-2016
    Открыть новую тему     Написать ответ в эту тему

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » Активные темы » Indigo Rose AutoPlay Media Studio (часть 5)


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru