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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lexua естественно что return должен быть после окончания условий...
    предпоследней строчкой функции...
    Я написал, так, для примера, что можно реализовать по разному.

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 12:50 20-09-2017 | Исправлено: CryptoUsbtor, 12:52 20-09-2017
    Lexua



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

    Всего записей: 2844 | Зарегистр. 15-10-2002 | Отправлено: 14:26 20-09-2017
    karpovukg



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет.
    Стесняюсь спросить: в AMS строка не является массивом символов? Пытаюсь обратиться с конкретному символу как к  

    Код:
    s[i]

    - возвращает пустое значение.

    Код:
    s = Input.GetText("Input1");
    ts = {};
    for i = 1, #s do
        Table.Insert(ts, i, String.Mid(s, i, 1)); -- работает
        Table.Insert(ts, i, s[i]); -- не работает
    end
    Input.SetText("Input1", Table.Concat(ts, " ; ", 1, TABLE_ALL));

    Может я неправильно обращаюсь? Давно уже висит у меня эта проблема. Хотелось бы решить ее уже.

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 12:10 21-09-2017 | Исправлено: karpovukg, 12:12 21-09-2017
    Robby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    karpovukg
    так получить конкретный символ нельзя.
    Строки в Lua индексируются с 1. Индексы могут быть отрицательными и интерпретируются как индекс с конца строки. Т.е. последний символ имеет позицию -1, и т.д.
    вот такие строковые функции могут помочь
     

    Код:
     
    -- Возвращает числовые коды символов s[i], s[i+1], ..., s[j]
    -- по умолчанию значение  i равно 1 и j равно i.
    string.byte(s [, i [, j]])
     
    -- Возвращает символ. Принимает 0 или более целых чисел.
    string.char(...)
     
    -- Пример
    S = "Текст";
    string.byte(S, 1); -- Вернет 210
     
    string.char(210); -- Вернет "Т"

     

     
    подробнее в справке
     

    Код:
    -- Используем string.gsub функцию
     
    t={}
    str="text"
    str:gsub(".",function(c) table.insert(t,c) end)
     
    -- или string.sub
     
    local str = "text"
    local t = {}
    for i = 1, #str do
        t[i] = str:sub(i, i)
    end

     
    Возможно это String Indexing будет полезным

    Всего записей: 879 | Зарегистр. 28-09-2003 | Отправлено: 13:40 21-09-2017 | Исправлено: Robby, 14:08 21-09-2017
    karpovukg



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

    Цитата:
    str:sub

    Вот это самое оно то! Спасибо.
     

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 14:33 21-09-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    karpovukg
    Если нужно индексирование, то можешь использовать этот код.

    Код:
    -- Это в глобальные функции
    local tMT = debug.getmetatable("");
    function tMT.__index(s, i)
        if (i <= #s) then
            return string.sub(s, i, i);
        end
    end
     
    -- Использование
    local s = "abcdef";
    Dialog.Message(s[2], s[6]);

    Собственно это часть того, что есть по ссылке String Indexing, которую дал тебе Robby.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 22:22 21-09-2017 | Исправлено: KerberX, 22:22 21-09-2017
    karpovukg



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Для текущей задачи не нужно, но в копилочку я положил уже. Спасибо.

    Всего записей: 81 | Зарегистр. 13-01-2016 | Отправлено: 11:14 25-09-2017
    S_a_c_s



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Парни, проблема такая: на com порту висит arduino, номер порта знаю.
    Вопрос: Как средствами APMS, API, ActiveX, DLL прочитать данные из порта COM5 и отправить туда команду "12345", пробовал командную строку, не прокатило.
     
    Google говорит можно средствами kernel32.dll, но синтаксис call dll function понять не смог, как открыть порт, как прочитать, как записать, как закрыть.
     
    Если кто юзал, киньте примитивные примеры, дальше попробую сам разобраться, заранее спасибо.

    Всего записей: 15 | Зарегистр. 27-09-2011 | Отправлено: 13:54 27-09-2017 | Исправлено: S_a_c_s, 14:10 27-09-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    S_a_c_s
    Открывается порт функцией CreateFile, команды отправляются через WriteFile. Вот небольшой пример вызова функций из DLL через плагин MemoryEx. Он удобнее чем DLL.CallFunction, но тоже не фонтан. Есть способы удобнее, но ни одного из них нет для AMS.
     
    Инструкция по работе с COM портами, на всякий случай: https://msdn.microsoft.com/en-us/library/ff802693.aspx

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 23:11 27-09-2017 | Исправлено: KerberX, 23:11 27-09-2017
    S_a_c_s



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Статьи на мелкософте читал, сильно заморочено. Спасибо за пример. Буду разбираться.
    Мне всего-то нужно две функции: COM_Read(Arg) и COM_Write(Arg), попробую изобрести.
     
    Вот бы где плагин нарыть что-то типа COM_Port_Ex было бы здорово, потому что с С и VBS не дружу, а первые свои приложения писал еще на меню студио в 90х годах начиная со второй версии.

    Всего записей: 15 | Зарегистр. 27-09-2011 | Отправлено: 10:01 28-09-2017 | Исправлено: S_a_c_s, 10:12 28-09-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    S_a_c_s
    Я не знаю таких плагинов для AMS. Откуда ты взял эти названия (COM_Read, COM_Write, COM_Port_Ex)?
     
    Статья на сайте майкрософта заморочена потому что в их примерах используется Overlapped I/O, то есть асинхронный ввод/вывод. Если использовать синхронный всё значительно упрощается. И будет примерно вызов трёх функций: CreateFile, ReadFile или WriteFile, CloseHandle.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 08:28 29-09-2017 | Исправлено: KerberX, 08:28 29-09-2017
    S_a_c_s



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Названия чисто мои, мне в приложении просто нужны эти функции, дело в том, что на майкрософте все примеры на СИ и в АПМС их не воткнешь, а с помощью плагина или другого способа это можно было-бы реализовать. В принципе функции нужно передать два аргумента (номер порта, переменная) она либо читает из порта, либо пишет в него, а каким способом это не важно был-бы результат.
     
    Дело в том, что я полгода назад вышел на пенсию и сейчас строю себе дом. Разумеется хочется сделать его "умным". В качестве ядра системы был выбран ARDUINO как самый недорогой вариант, огромное количесто входов и выходов, но не секрет что датчики подключенные к нему выдают значения в "попугаях" и поэтому для калибровки каждого датчика необходимо много раз перешивать микроконтроллер, если честно это напрягает здорово, на кажый датчик уходит от одного дня до недели. Задача создать приложение которое собирает данные с датчиков, создает таблицу поправок, и выдает уже адекватные данные, а при прошивке микроконтроллера все поправки уже экспортируются в прошивку, так намрого проще и быстрей.
     
    Вся проблема в том, что необходимо только наладить мост между APMS и ардуино используя его как драйвер для всех датчиков в доме, а реализация программного кода и портирование данных в прошивку проблем не имеет.
     
     
    В моем представлении это должно выглядеть так:
     

    Код:
    --*-------------------------------------------------------------------
    -- function Com_port_read(Arg1, Arg2);
    --?-------------------------------------------------------------------
    --[[
    Comentary :
    Функция Com_port_read(Arg1, Arg2); читает данные из COM порта получая
    в качестве аргументов:
    Arg1; -- Номер порта
    Arg2; -- Скорость передачи данных
    и возвращает
    result; -- строку данных прочитанную из порта;
    ]]
    --
    function Com_port_read(Arg1, Arg2)
        local value1 = Arg1;
        local value2 = Arg2;
        local result = "";
        -- ......................
        -- ......................
        -- ......................
        -- ......................
     
        return result;
    end
    --End function Com_port_read(Arg1, Arg2)
    --#-------------------------------------------------------------------
     
    --*-------------------------------------------------------------------
    -- function Com_port_Write(Arg1, Arg2, Arg3);
    --?-------------------------------------------------------------------
    --[[
    Comentary :
    Функция Com_port_Write(Arg1, Arg2, Arg3); записывает данные в COM порт
    получая в качестве аргументов:
    Arg1; -- Номер порта
    Arg2; -- Скорость передачи данных
    Arg3; -- Переменная с данными
    и возвращает
    true; -- если запись прошла успешно;
    ]]
    --
    function Com_port_Write(Arg1, Arg2, Arg3)
        local value1 = Arg1;
        local value2 = Arg2;
        local message = Arg3;
        -- ......................
        -- ......................
        -- ......................
        -- ......................
     
        return true;
    end
    --End function Com_port_Write(Arg1, Arg2, Arg3)
    --#-------------------------------------------------------------------
     

    Если кто сможет помочь в написании эти двух функций, буду безмерно благодарен!!!

    Всего записей: 15 | Зарегистр. 27-09-2011 | Отправлено: 13:25 29-09-2017 | Исправлено: S_a_c_s, 14:35 29-09-2017
    ctaty3



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    И снова всем привет!
     
    Кто знает, как случайно сгенерировать уникальное имя файла (аналогично методу Path.GetTempFileName ())?  
     
    Или научите пожалуйста, как использовать подобные функции в AMS?

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 17:33 29-09-2017 | Исправлено: ctaty3, 17:50 29-09-2017
    CryptoUsbtor



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ctaty3 Уникальное это с индексом, датой и временем, или от балбы?
    У меня есть функция генератора случайной строки с возможностью задать параметры, Тыц
    Нашел тут

    Всего записей: 745 | Зарегистр. 24-04-2016 | Отправлено: 18:27 29-09-2017 | Исправлено: CryptoUsbtor, 19:01 29-09-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    S_a_c_s
    Написал небольшой модуль. Никогда не работал с COM портами, так что я не знаю работает ли оно вообще. Файл поместить в папку "AutoPlay\Scripts". Требуется плагин MemoryEx (распаковать в "AutoPlay Media Studio\Plugins\Actions").
     
    Загружать так. Эту строку в глобальные функции.

    Код:
    COM = require("COM");

     
    Использование.

    Код:
    -- Открыть порт
    -- Номер порта, тип доступа [GENERIC_READ, GENERIC_WRITE, GENERIC_READWRITE]
    -- Возвращает объект инкапсулирующий порт, nil если порт открыть не удалось
    local tPort = COM(50, GENERIC_READWRITE);
     
    -- Запись в порт
    -- Строка с данными, смещение относительно начала, таймаут операции в миллисекундах (INFINITE - ждать до скончания века)
    -- Возвращает true если успешно, false в противном случае
    local b = tPort:Write("Test", 0, 1000);
     
    -- Читает строку из порта
    -- Размер данных (сколько прочитать), таймаут (аналогично предыдущему)
    -- Возвращает строку с прочитанными данными или nil, если ничего не прочитано
    local s = tPort:Read(32, 1000);
     
    -- Закрывает порт
    tPort:Close();

     
    https://yadi.sk/d/M4-6SAq23NLCb5
     
    Тут есть кое-какая информация по работе с COM портами на русском. Вроде бы яснее чем у майкрософта.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 20:09 29-09-2017 | Исправлено: KerberX, 08:45 13-10-2017
    S_a_c_s



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

    Всего записей: 15 | Зарегистр. 27-09-2011 | Отправлено: 01:34 30-09-2017
    ctaty3



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

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 10:23 02-10-2017 | Исправлено: ctaty3, 10:44 02-10-2017
    S_a_c_s



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX извини, пока не пробовал машина в сервисе, как проверю обязательно отпишусь.

    Всего записей: 15 | Зарегистр. 27-09-2011 | Отправлено: 14:59 02-10-2017
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    S_a_c_s
    Как будто я куда-то тороплюсь.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 21:12 02-10-2017
    ctaty3



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Парни, может вопрос будет странным, но скажите пожалуйста, может ли функция File.Find() осуществлять поиск нескольких типов файлов одновременно?  
     
    Например, если нужно найти avi, mp3, m4a? В описании сказано, что чтобы найти файлы, соответствующие определённому шаблону, то нужно использовать символы подстановки, а как правильно то их использовать? Примеров так и не нашёл в справке...

    Всего записей: 75 | Зарегистр. 17-04-2016 | Отправлено: 17:36 16-10-2017
    Открыть новую тему     Написать ответ в эту тему

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