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

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

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

Widok (17-05-2010 12:17): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Часть 3 [Часть 2, Часть 1]



  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 v7.5.1006.0
Рекомендуемое дополнение: AMS PluginPowerPack by Kindly v4.0 - Зеркало
Это дополнение содержит все последние плагины, расширяющие возможности AMS, на момент его выпуска (02.08.09).

Учимся работать с AMS:
Ресурс 1 - Ресурс 2 - Ресурс 3 - Ресурс 4

Скриптовый язык LUA:
Ресурс 1 (En) - Ресурс 2 (Ru)

Ресурсы, посвященные AMS (содержат коллекции примеров, дополнений, уроков):
  • amsplugins.com
  • amsuser.com
  • azman.info
  • icynorth.com
  • gooseweb.ru   -умер, сорри...
  • warmuskerken.com

    Ответы на наиболее часто задаваемые вопросы:
  • Альтернативный перенос строки для текста (подходит и для *.ini) от Zloy_Gelud
  • Активация кнопок по информации из реестра (на примере авторана для игр) от Zloy_Gelud
  • Виды путей, используемых в AMS от GOOSE
  • Включение\отключение фоновой музыки кнопкой
  • Вывод HTML отчета с использованием SQLite плагина от IndigoRose
  • Выделение и копирование в буфер текста\части текста от GOOSE
  • Для тех, у кого русский проект с "кракозяблами"
  • Запуск WinRAR'a для распаковки архивов от Reineke
  • Запуск файлов из Web объекта
  • Запуск/открытие файлов из Web объекта от tavria2
  • Запускаем экзешник по информации из реестра от Lexua
  • Пример бегущей строки (более красивый способ) от tavria2
  • Из окна в полноэкранный режим и обратно  
  • Изменяем иконку приложения от Lexua
  • Изменяем курсор в приложении от GOOSE
  • Изменяем скроллинг ListBox-у от GOOSE
  • Используем таймер
  • Отображение процесса распаковки файла из ZIP-архива + общий прогресс распаковки от Zloy_Gelud
  • Отправка данных из форм по e-mail от GOOSE
  • Перенос строки во всплывающей подсказке от GOOSE
  • Показ\скрытие объектов по действиям мыши
  • Полноэкранный режим для приложения
  • Последовательный запуск нескольких файлов
  • Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke
  • Проверка на существование копии проекта aka запрет повторного запуска от tavria2
  • Проигрвывание MP3 из ListBox-а подряд от UMode
  • Простой пример бегущей строки от GOOSE
  • Работаем с запароленными архивами от GOOSE
  • Работаем с объектом дерева от GOOSE
  • Ряд вопросов и ответов по созданию меню для DVD от tavria2
  • Реализация Play-листов для Винампа от BOObastis
  • Таблица дисков системы от Lexua
  • Изменение стиля границ окна проекта от tavria2
  • Многострочная подсказка (tooltip) от tavria2

    Обсуждение оформления шапки
    Старая версия шапки

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:11 30-01-2009 | Исправлено: Maz, 12:31 25-09-2017
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, созрел вопрос такой: есть вордовский шаблон (DOT). Можно ли как-нить средствами АМС заполнять его содержимое (расчетами, формулами, текстами и т.п.). Видел в одной программе подобное..
    З.Ы. Пробывал работать через плаг SendKeys - возможно, но не удобно.

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 00:48 23-06-2009
    AleksTrin

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

    Всего записей: 95 | Зарегистр. 18-05-2009 | Отправлено: 06:43 23-06-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не подскажите как можно сделать проверку соединения, если соединения нет, повторить попытку?

    Код:
    IsConnected = HTTP.TestConnection("http://www.google.com", 20, 80, nil, nil);
    if (IsConnected == false) then
        result = Dialog.Message("Ошибка", "Приложение не смогло получить доступ к интернету.\r\nВы хотите повторить попытку?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
        if (result == IDYES) then
        --Возвращаемся к первой строчке
        else
            Window.Close(DialogEx.GetWndHandle(), CLOSEWND_SENDMESSAGE);
            Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE);
        end
    else
     
    end

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 15:52 23-06-2009 | Исправлено: lorents, 16:57 23-06-2009
    UMode



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    lorents
    Вроде бы так:

    Код:
    while HTTP.TestConnection("http://www.google.com", 20, 80, nil, nil) == false do
        result = Dialog.Message("Ошибка", "Приложение не смогло получить доступ к интернету.\r\nВы хотите повторить попытку?", MB_YESNO, MB_ICONQUESTION, MB_DEFBUTTON1);
        if (result == IDNO) then
            Window.Close(DialogEx.GetWndHandle(), CLOSEWND_SENDMESSAGE);  
            Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE);  
        end
    end

    Всего записей: 30 | Зарегистр. 03-05-2006 | Отправлено: 17:46 23-06-2009 | Исправлено: UMode, 18:27 23-06-2009
    lorents



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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 18:12 23-06-2009
    AleksTrin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mars803
    Конечно, чтение из таблицы это круто, но все рано не переводятся остальные страницы и диалоги, а переводится тока первая страница!
    Люди подскажите пожалуйста, как сделать так, чтобы можно было заменять текст в объектах нажатием одной кнопки или меню, на всех страницах и диалогах?

    Всего записей: 95 | Зарегистр. 18-05-2009 | Отправлено: 21:21 23-06-2009
    Zloy_Gelud



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AleksTrin 21:21 23-06-2009
    Цитата:
    Люди подскажите пожалуйста, как сделать так, чтобы можно было заменять текст в объектах нажатием одной кнопки или меню, на всех страницах и диалогах?

    Времени особо нету, поэтому сваял на скорую руку. Вроде работает, правда комментариев практически нет. Надеюсь разберешься.
    lng.apz ~ 10.59 kB
    Не забудь про вкладку On Shutdown

    Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 01:28 24-06-2009
    AleksTrin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Это все канеш хорошо, но это как то муторно, а по проще нету? А как быть на счет диалогов?
    Ведь в них тож надо менять текст
     
    Добавлено:
    и меню надо тоже менять с русского на английский и наоборот!
    И мне больше нравится когда в языковом файле не просто идут друг за другом слова, а например, вот так:
     
    MenuFile = "Файл"; - эта строчка находится в языковом файле Russian.ini
    ----
    Application.LoadScript ("Lang\\Russian.ini")
    tblMenu = {};
    tblMenu[1] ={};
    tblMenu[1].Text = MenuFile;
     
    Добавлено:
    Нужно сделать намного меньше кода, так как много страниц и много объектов и много разного текста!
     
    Добавлено:
    Вот код, который мне дали здесь, вот он малой и норм.
    On Preload:
    strText = TextFile.ReadToString("AutoPlay\\Docs\\lang.txt");
    strMAC = String.Mid(strText, 1, 3);
    if (strMAC == "rus") then
        Application.LoadScript("Lang\\Russian.ini");
    elseif (strMAC == "eng") then
        Application.LoadScript("Lang\\English.ini");
    end
     
     
    On Menu:
    if e_ID==2 then
        Application.LoadScript("Lang\\Russian.ini");
        TextFile.WriteFromString("AutoPlay\\Docs\\lang.txt", "rus", false);
    elseif e_ID==3 then
        Application.LoadScript("Lang\\English.ini");
        TextFile.WriteFromString("AutoPlay\\Docs\\lang.txt", "eng", false);
    end
     
    Мож его можно как нибудь изменить, добавить, чтобы на всех страницах и диалогах заменялся текст!

    Всего записей: 95 | Зарегистр. 18-05-2009 | Отправлено: 11:30 24-06-2009 | Исправлено: AleksTrin, 15:18 24-06-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Заметил одну интересную особенность связанная с HTTP.TestConnection, пока не выяснил причины, например идет проверка на соединение с интернетом и если интернета нет, то выводится сообщение через Dialog.Message, по идеи, появившееся, окно должно быть всегда поверх окна проекта, но почему-то так не проиходит
     
    Добавлено:
    Не подскажите, как можно сделать следующее:
    сделать проверку наличие все ли файлы есть в проекте, если да то продолжить работы, если нет то выдать ошибку. сделал проверку на наличие фалов, но вот у меня появилась проблема, а если пользователь добавил какой-то файл в проект, просто так, то проект выдаст ложную ошибку. Как сделать, чтобы проект как бы сверял таблицу t2 с t1, и если он не нашел какую-ту строчку в t1, которая есть в t2, то только потом выдал бы ошибку.

    Код:
    t1 = File.Find("AutoPlay", "*.*", true, false, nil, nil);
    t2 = TextFile.ReadToTable("file.cdd")
     
    if Table.Count(t1) == Table.Count(t2) then
       equal = true;
       Table.Sort(t1, nil);
       Table.Sort(t2, nil);
       for nIdx, sValue in t1 do
          if sValue ~= t2[nIdx] then
             equal = false;
             break;
          end
       end
    else
       equal = false;
    end
     
    if equal then
       Dialog.Message("", "Данные в таблицах не отличаются.");
    else
       Dialog.Message("", "Данные в таблицах отличаются.");
    end

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 16:47 24-06-2009 | Исправлено: lorents, 17:40 24-06-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Попробуй так:
    Код:
    t1 = File.Find("AutoPlay", "*.*", true, false, nil, nil);  
    t2 = TextFile.ReadToTable("file.cdd")  
     
    -- if Table.Count(t1) == Table.Count(t2) then
       equal = true;  
       Table.Sort(t1, nil);  
       Table.Sort(t2, nil);  
       for nIdx, sValue in t2 do  
          if sValue ~= t1[nIdx] then  
             equal = false;  
             break;  
          end  
       end  
    -- else  
       -- equal = false;  
    -- end  
     
    if equal then  
       Dialog.Message("", "OK");  
    else  
       Dialog.Message("", "Error");  
    end

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 17:52 24-06-2009 | Исправлено: tavria2, 17:53 24-06-2009
    lorents



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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 18:05 24-06-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как можно сделать, чтобы объект Input имел тот стиль, который задает тема у пользователя?  
    и еще как сделать плавное появление  и исчезание диалоговый окон, не используя таймер или плагин AMSWTimer?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 16:28 25-06-2009 | Исправлено: lorents, 16:57 25-06-2009
    tavria2



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

    Цитата:
    Как можно сделать, чтобы объект Input имел тот стиль, который задает тема у пользователя?

    Код:
    function Sys_Input(ObjecName)
        local GWL_STYLE = -16
        local GWL_EXSTYLE = -20
     
        local WS_CHILD = 1073741824;
        local WS_VISIBLE = 268435456;
        local WS_TABSTOP = 65536;
        local WS_DISABLED = 134217728;
        local WS_VSCROLL = 2097152;
        local WS_HSCROLL = 1048576;
     
        local WS_EX_NOPARENTNOTIFY = 4;
        local WS_EX_CLIENTEDGE = 512;
     
        local ES_AUTOVSCROLL = 64;
        local ES_READONLY = 2048;
        local ES_MULTILINE = 4;
        local ES_WANTRETURN = 4096;
     
        local nStyle = WS_CHILD.."|"..WS_TABSTOP.."|"..ES_AUTOVSCROLL;
        local nExStyle = WS_EX_CLIENTEDGE.."|"..WS_EX_NOPARENTNOTIFY;
        
        local tProp = Input.GetProperties(ObjecName); -- св-ва объекта
        tProp.Border = BORDER_NONE; -- изменяем св-во рамки объекта
        Input.SetProperties(ObjecName, tProp); -- применяем св-во к объекту
        local hWnd = Input.GetProperties(ObjecName).WindowHandle; -- дескриптор объекта
     
        if Input.GetProperties(ObjecName).Visible then nStyle = nStyle.."|"..WS_VISIBLE end
        if not Input.GetProperties(ObjecName).Enabled then nStyle = nStyle.."|"..WS_DISABLED end
        if Input.GetProperties(ObjecName).ReadOnly then nStyle = nStyle.."|"..ES_READONLY end
        if Input.GetProperties(ObjecName).Multiline then  
            nStyle = nStyle.."|"..ES_MULTILINE.."|"..ES_WANTRETURN;
            if Input.GetProperties(ObjecName).VScrollbar then nStyle = nStyle.."|"..WS_VSCROLL end  
            if Input.GetProperties(ObjecName).HScrollbar then nStyle = nStyle.."|"..WS_HSCROLL end  
        end
        
        WinApi.SetWindowLong(hWnd, GWL_STYLE, nStyle, false);
        WinApi.SetWindowLong(hWnd, GWL_EXSTYLE, nExStyle, false);
        -- перерисовка объекта
        local tSize = Input.GetSize(ObjecName); -- получаем размер объекта
        Input.SetSize(ObjecName, tSize.Width+1, tSize.Height+1); -- изменяем размер объекта
        Input.SetSize(ObjecName, tSize.Width, tSize.Height);    -- восстанавливаем размер объекта
    end
    -----------------------------------------------------------------------------------
    Sys_Input("Input1"); -- установка системного стиля для объекта Input

    Цитата:
    как сделать плавное появление  и исчезание диалоговый окон, не используя таймер или плагин AMSWTimer?
    ИМХО никак.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 19:26 25-06-2009 | Исправлено: tavria2, 19:38 25-06-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    Спасибо. Мне стыдно просить, но все-таки, а можно еще сделать, что объект Input мог принимал стиль выключенного состоянии?

    Цитата:
    ИМХО никак.

    Понятно, просто я хотел использовать плагин AMSWTimer, но как оказалось он очень не стабильно работает с вистой

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 19:48 25-06-2009
    tavria2



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

    Цитата:
    Мне стыдно просить, но все-таки, а можно еще сделать, что объект Input мог принимал стиль выключенного состоянии?
    А, что в состоянии disable пропадает системный стиль?

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 20:36 25-06-2009
    lorents



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

    Цитата:
    А, что в состоянии disable пропадает системный стиль?

    нет, но просто не изменяется. Смотри про включенном состоянии объект Input выглядит так, как раз то что надо, и при выключенном состоянии так же выглядит, а хотелось бы так    
    по идеи здесь меняется просто задний фон. т.е. просто при выключенном состояния менять фон. через WinApi.GetSysColor получить нужный цвет, сейчас посмотрю как раз какой это цвет, и потом заменить. но это не удобно, можешь ты изменить в коде чтобы не приходилось это для каждого Input'а писать отдельно?
     
    нашел. на счет WinApi.GetSysColor, можно использовать COLOR_BTNFACE
     
    к сожалению мой способ не подходит если надо периодически включать и выключать объект Input.

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 20:44 25-06-2009 | Исправлено: lorents, 23:05 25-06-2009
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Мне не удалось привязать фон Input к схеме окна

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 00:30 26-06-2009
    lorents



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

    Цитата:
    Мне не удалось привязать фон Input к схеме окна

    у меня есть только два способа решения проблемы:
    1. найти то что отвечает за выключенное\включенное состояние объекта Input
    2. изменять отдельно задний фон и окантовку объекта Input. Задний фон мы просто изменяем, а за окантовку будет отвечать плагин Shape
    задний фон через COLOR_BTNFACE
    окантовку через COLOR_BTNSHADOW
    заодно можно и цвет текста поменять на COLOR_BTNTEXT
    Второй способ я могу сам реализовать, но для каждого объекта Input отдельно. Можно я тебя попрошу написать функцию, чтобы не приходилось для каждого случая писать отдельно?
     
    и еще один вопрос, как сделать, чтобы в объект Input можно было вводить только числа?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 10:45 26-06-2009 | Исправлено: lorents, 11:00 26-06-2009
    tavria2



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

    Цитата:
    Можно я тебя попрошу написать функцию, чтобы не приходилось для каждого случая писать отдельно?
    Не получится отслеживать изменение активности Input.

    Цитата:
     еще один вопрос, как сделать, чтобы в объект Input можно было вводить только числа?

    Код:
    GWL_STYLE = -16;
    ES_NUMBER  = 8192;  
    local hWnd = Input.GetProperties("Input1").WindowHandle; -- дескриптор объекта;
    WinApi.SetWindowLong(hWnd, GWL_STYLE, ES_NUMBER, true); -- ввод только цифр

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 12:30 26-06-2009 | Исправлено: tavria2, 12:31 26-06-2009
    lorents



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

    Цитата:
    Не получится отслеживать изменение активности Input.  

    тогда придется отдельно писать для каждого, ну это не сложно для мня
    Спасибо за код , ты всегда меня выручаешь.
     
    Добавлено:
    tavria2
    Не подскажешь. как сделать чтобы в input нельзя было бы вводить русский буквы?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 15:22 26-06-2009 | Исправлено: lorents, 15:56 26-06-2009
       

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

    Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 3)
    Widok (17-05-2010 12:17): Лимит страниц. Продолжаем здесь.


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru