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

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

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

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 Trial 9.0

Скриптовый язык 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, 13:51 03-08-2024
    Pahuchiy1

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

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



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pahuchiy1
    Имя переменной, которая ссылается на эту таблицу? То есть local t = {"ds", "qwerty", 54}; и имя это "t"?

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 21:12 14-11-2015
    Pahuchiy1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Имя переменной, которая ссылается на эту таблицу? - вобщем, да
    То есть local t = {"ds", "qwerty", 54}; и имя это "t"? - честно говоря, не понял смысла этой записи. Ты же просто присвоил значения таблице t, верно? Но, ведь не важно какие у неё значения, важно то, каким образом можно вывести эти значения, введя имя переменной в Input1

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 21:55 14-11-2015
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pahuchiy1
    Здесь есть тег цитирования. Используй его.
     
    [q]Текст цитаты[/q]
     
     

    Цитата:
    local t = {"ds", "qwerty", 54};

    Эта запись была чтобы убедиться что я понял что ты хочешь.
    Простой вариант, отображает всего один уровень.

    Код:
    local sName = Input.GetText("Input1");
    for x, y in pairs(_G[sName]) do
        ListBox.AddItem("ListBox1", string.format("Key: \"%s\". Value: \"%s\"", tostring(x), tostring(y)));
    end

     
    Более сложный вариант, количество отображаемых уровней практически неограниченно.
    Подробнее...

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 22:07 14-11-2015 | Исправлено: KerberX, 22:08 14-11-2015
    Pahuchiy1

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

    Цитата:
    И ещё вопрос: как получить список всех переменных?
     
    Где и каких?  

    Все переменные, объявленные мной в проекте (или на текущей странице), вывести в том же Listbox1.
     
    Новая проблема:
    f={1,2,"sfg"}
    Input.SetText("Input1", unpack(f));
    выдаёт только "1", (в инпуте в свойствах/многострочность я поставил галку "включено")

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



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

    Цитата:
    Все переменные, объявленные мной в проекте (или на текущей странице), вывести в том же Listbox1

    Глобальные переменные хранятся в той же глобальной таблице _G. Их покажет такой код:

    Код:
    for x, y in pairs(_G) do
        ListBox.AddItem("ListBox1", string.format("Key: \"%s\". Value: \"%s\"", tostring(x), tostring(y)));
    end

     
    Или такой:

    Код:
    local sData = Table.Inspect(_G);
    local tData = String.ToTable(sData, "\r\n");
    for x, y in pairs(tData) do
        ListBox.AddItem("ListBox1", tostring(y));
    end

     
    Но нет возможности определить что за данные ты вытащишь, так как в этой таблице хранится абсолютно всё в Lua. А получить список локальных переменных какой-нибудь функции мне кажется вообще невозможно. И вообще, зачем тебе это?
     

    Цитата:
    Новая проблема:  
    f={1,2,"sfg"}  
    Input.SetText("Input1", unpack(f));  
    выдаёт только "1", (в инпуте в свойствах/многострочность я поставил галку "включено")  

    Ты не понимаешь как работает язык. После применения unpack(f) функция для записи текста будет действовать как Input.SetText("Input1", 1, 2, "sfg"); в то время как Input.SetText(); принимает только два аргумента - имя объекта и текст, все остальные аргументы отбрасываются.
     
    Советую почитать: http://www.lua.org/pil/contents.html

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 16:59 15-11-2015 | Исправлено: KerberX, 17:01 15-11-2015
    Pahuchiy1

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

    Цитата:
    И вообще, зачем тебе это?
     
    отладочные скрипты себе мастерю. Захочу проверить свойства какой нибудь переменной - и не надо вводить имя, достаточно выбрать из списка.

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 20:46 15-11-2015
    KerberX



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

    Цитата:
    Захочу проверить свойства какой нибудь переменной - и не надо вводить имя, достаточно выбрать из списка.

    Есть более удобный способ. Существует такой GUI инструментарий - wxLua и там помимо GUI есть ещё всякие полезности. Подключи wx.dll к проекту AMS и вызови функцию wxlua.LuaStackDialog(); и увидишь красивое окно со списком всего что есть в скриптовом движке.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 20:53 15-11-2015
    Pahuchiy1

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

    Цитата:
     -- Сам код  
    local sName = Input.GetText("Input1");  
    local sData = Table.Inspect(_G[sName]);  
    local tData = String.ToTable(sData, "\r\n");  
    for x, y in pairs(tData) do  
        ListBox.AddItem("ListBox1", tostring(y));  
    end
     
    Спасибо, а как будет выглядеть код для grid?

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



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Pahuchiy1
    Почти также. Только с небольшой оптимизацией, так как Grid это позволяет.
     

    Код:
    local sName = Input.GetText("Input1");
    local sData = Table.Inspect(_G[sName]);
    local tData = String.ToTable(sData, "\r\n");
    for x, y in pairs(tData) do
        local nRow = Grid.InsertRow("Grid1", -1, false);
        Grid.SetCellText("Grid1", nRow, 0, tostring(y), false);
    end
    Grid.AutoSizeColumns("Grid1", false);
    Grid.Refresh("Grid1");

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 01:31 20-11-2015 | Исправлено: KerberX, 23:28 20-11-2015
    Pahuchiy1

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

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 12:31 22-11-2015 | Исправлено: Pahuchiy1, 12:44 22-11-2015
    Pahuchiy1

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите, плиз, нужен аналог ThumbList, но  для mp4 видео

    Всего записей: 168 | Зарегистр. 11-01-2015 | Отправлено: 12:57 23-11-2015 | Исправлено: Pahuchiy1, 19:20 23-11-2015
    sjdb45



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята нужна помощь.
    Имеется страничка с Радиобутонами.  
    "RadioButtonA"
    "RadioButtonB"
    "RadioButtonC"
    и так далее до:
    "RadioButtonZ"
    В свойствах страницы on show у всех стоит RadioButton.SetEnabled("название", false);
    Если на компе имеется жестких диск например с буквой (D)
    то нужно  сделать  

    Код:
    RadioButton.SetEnabled("RadioButtonD", true);

    Если на компе имеется 4 жестких диска например (C,D,H,L)
    то нужно  сделать  

    Код:
     
    RadioButton.SetEnabled("RadioButtonC", true);
    RadioButton.SetEnabled("RadioButtonD", true);
    RadioButton.SetEnabled("RadioButtonH", true);
    RadioButton.SetEnabled("RadioButtonL", true);
     

    Далее кнопкой в зависимости от найденных на компе дисков и  
    путём выставления галочек на них хочу произвести действия:

    Код:
     
    Chk_BtnA = RadioButton.GetChecked("RadioButtonA");
    if (Chk_BtnA == true) then
    --ДЕЙСТВИЕ
    end
    Chk_BtnB = RadioButton.GetChecked("RadioButtonB");
    if (Chk_BtnB == true) then
    --ДЕЙСТВИЕ
    end
    Chk_BtnC =RadioButton.GetChecked("RadioButtonC");
    if (Chk_BtnC == true) then
    --ДЕЙСТВИЕ
    end
    Chk_BtnD = RadioButton.GetChecked("RadioButtonD");
    if (Chk_BtnD == true) then
    --ДЕЙСТВИЕ
    end
     

    и так далее ...
     
    В справке нашел эту инфу, но при этом коде так-же задействуется  
    и поиск CDROM-ов то что мне не нужно.
    ----------

    Код:
     
    -- Get a list of the available drives.
    drives = Drive.Enumerate();
     
    -- Determine if an error occurred.
    error = Application.GetLastError();
     
    -- If an error occurred, display the error message.
    -- If no error occurred, display the available drives in a dialog.
    if (error ~= 0) then
        Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
    else
     
        -- Create a string consisting of all of the drive letters and display them.
        all_drives = Table.Concat(drives, "\r\n");
        Dialog.Message("Notice", "Below is a list of all of your current drives:\r\n"..all_drives);
    end
     

    Помогите составить код для имеющихся дисков на компьютере.

    Всего записей: 136 | Зарегистр. 17-07-2011 | Отправлено: 18:27 24-11-2015 | Исправлено: sjdb45, 18:39 24-11-2015
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sjdb45
    Готово. Это в глобальные функции.

    Код:
    function UncheckAllButtons()
        local tObjects = Page.EnumerateObjects();
        if tObjects ~= nil then
            local sObjectName = "RadioButton";
            local sObjectNameLength = #sObjectName;
            for x, y in pairs(tObjects) do
                if Page.GetObjectType(y) == OBJECT_RADIOBUTTON and String.Left(y, sObjectNameLength) == sObjectName then
                    RadioButton.SetChecked(y, false);
                end
            end
        end
    end
    function CheckFoundDrives()
        local tDrives = Drive.Enumerate();
        if tDrives ~= nil then
            for x, y in pairs(tDrives) do
                if Drive.GetType(y) == DRIVE_FIXED then
                    local sObjectName = string.format("RadioButton%s", String.Left(y, 1));
                    RadioButton.SetChecked(sObjectName, true);
                end
            end
        end
    end
    function RunActions()
        local tSelectedObjects = {};
        --
        local tObjects = Page.EnumerateObjects();
        if tObjects ~= nil then
            local sObjectName = "RadioButton";
            local sObjectNameLength = #sObjectName;
            for x, y in pairs(tObjects) do
                if Page.GetObjectType(y) == OBJECT_RADIOBUTTON and String.Left(y, sObjectNameLength) == sObjectName then
                    if RadioButton.GetChecked(y) == true then
                        tSelectedObjects[#tSelectedObjects+1] = String.Right(y, 1);
                    end
                end
            end
        end
        --
        for x, y in pairs(tSelectedObjects) do
            DrivesFunctionList[y]();
        end
    end
    --
    DrivesFunctionList = {};
    function DrivesFunctionList.A()
        Dialog.Message("", "Drive A selected");
    end
    function DrivesFunctionList.B()
        Dialog.Message("", "Drive B selected");
    end
    function DrivesFunctionList.C()
        Dialog.Message("", "Drive C selected");
    end
    function DrivesFunctionList.D()
        Dialog.Message("", "Drive D selected");
    end

    Предполагается что радио-кнопки находятся на странице, а не на диалоге (Иначе нужно заменить некоторые функции на их аналоги для DialogEx) и радио-кнопки находятся в разных группах.
     
    UncheckAllButtons();
    Эта функция позволяет заменить вот это.

    Цитата:
    В свойствах страницы on show у всех стоит RadioButton.SetEnabled("название", false);

     
    CheckFoundDrives();
    Отмечает найденные локальные диски.
     
    RunActions();
    Выполняет нужное действие в зависимости от выбранных кнопок. Просто заполни до конца таблицу DrivesFunctionList в соответствии с шаблоном.

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 22:42 24-11-2015
    sjdb45



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Спасибо огромное за код. Мне как раз такой вариант и был нужен. Но к сожалению не работает.
    Не знаю точную причину почему, скорее всего мой проект где в глобальных функциях имеются различные другие коды.
    Я решил отказатья от радиобутонов и поступил иначе.
    Создал "ComboBox1"
    и в settings/Combobox items заполнил A:\, B:\, C:\, и так далее до Z:\
    В Item Data последовательно 10, 02, 03 и т.д.
    Затем в Button Properties on click:
    ----------
    local nSel = ComboBox.GetSelected("ComboBox1");
    if nSel == 01 then
    --Действие
    elseif nSel == 02 then
    --Действие
    elseif nSel == 03 then
    --Действие
    end
    и т.д.
    ----------
    Всё работает, но только при развёртывании Combobox идут все буквы диска  
    и пользователь сам должен выбрать диск с нужной буквой.
     
     
    Тут как раз то что было мне нужно, но это сделано с AMS6 версии и при его запуске в AMS8.5 происходит ошибка во время его конвертирования из 6 в 8 версию. там строчка в линии 31 не совместима и к сожалению я не смог разобраться в проекте.  
    Может быть вы сможете раскопать эту информацию?
    тут
    http://www79.zippyshare.com/v/TMUASkL3/file.html

    Всего записей: 136 | Зарегистр. 17-07-2011 | Отправлено: 18:57 25-11-2015 | Исправлено: sjdb45, 18:57 25-11-2015
    KerberX



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sjdb45
    Ты тогда уже определить что именно тебе нужно, а то писать ненужный код мне не хочется.
     
    А в том проекте нужно всего лишь поменять одну строчку чтобы работало в AMS 8.x. У кнопки "Button4" в "On Click" на строке 31 нужно заменить это:

    Код:
    for i,sDrive in tDrives do

    На это:

    Код:
    for i,sDrive in pairs(tDrives) do

    Вот исправленный проект. https://yadi.sk/d/PlN0TruOkj9HZ

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 19:05 25-11-2015 | Исправлено: KerberX, 19:06 25-11-2015
    sjdb45



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Вот отлично! В этом проекте все так как надо! Спасибо огромное.  
    Выручил без всяких сомнений. А я блин никак не мог запустить этот проект.
     
    Добавлено:
    KerberX
    Пожалуйста выручи на последок с одним кодом..
    Вот в исправленном проекте всё хорошо и я хотел бы добиться позледнего результата и вот какого:
    Например кнопка "Delete Item" мне не нужна и я ее хочу переделать в кнопку Install. И нужен в нём другой код.
    После того когда кликнешь на кнопку "Get drives" то заполняются все имеющиеся диски с компа. Потом пользователь выбирает нужный ему диск и давит на кнопку "Install" и код из кнопки  Install выполняет действие.
    Но вся беда в том, что у пользователя будет другая последовательность дисков, у всех ведь и разное количество дисков и их буквы. Так вот, в моём проекте уже готовые для каждой буквы диска exe-шники (В корне проекта в папке Install)
    c.exe, d.exe, e.exe и т.д.
    Теперь для выбранного диска нужно выбрать соответствующий букве диска exe-шник.
    Пожалуйста помоги в этом, а дальше я смог бы сам добить начатый проект.
    Спасибо!

    Всего записей: 136 | Зарегистр. 17-07-2011 | Отправлено: 19:25 25-11-2015 | Исправлено: sjdb45, 23:45 25-11-2015
    KerberX



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

    Код:
    local sExePath = _SourceFolder.."\\Data"
    --
    local tSelected = ListBox.GetSelected("LB_Drive");
    if tSelected ~= nil then
        local sDriveLetter = String.Left(ListBox.GetItemText("LB_Drive", tSelected[1]), 1);
        local sPath = string.format("%s\\%s.exe", sExePath, sDriveLetter);
        File.Run(sPath, "", "", SW_SHOWNORMAL, false);
        --
        Paragraph.SetText("Para_DriveProps", sPath);
    else
        Dialog.Message("Error", "There is no item selected.");
    end

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 23:55 25-11-2015 | Исправлено: KerberX, 23:58 25-11-2015
    sjdb45



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KerberX
    Не работает
    Вписал код в бутон INSTALL.
    папку вписал сюда local sExePath = _SourceFolder.."\\INSTALL"
    В папке совершенно простые exe-шники с именами дисков C.EXE, D.EXE, E.EXE...
    Выделяю в листбоксе например диск E:\ и жму на инсталл, ничего в итоге не происходит...

    Всего записей: 136 | Зарегистр. 17-07-2011 | Отправлено: 00:25 26-11-2015
    KerberX



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

    Всего записей: 597 | Зарегистр. 08-09-2011 | Отправлено: 00:27 26-11-2015
    Открыть новую тему     Написать ответ в эту тему

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

    Компьютерный форум 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