Ru-Board.club
← Вернуться в раздел «Программы»

» Autoplay Media Studio

Автор: Zloy_Gelud
Дата сообщения: 09.10.2007 19:49
firstdock
В предыдущей ветке это уже обсуждалось, но чтоб ты не искал...вот:
пример от tavria2:

Код: function CallBack (sPath, nPercent, nStatus)
if nStatus == ZIP_STATUS_MAJOR then
StatusDlg.SetTitle("Подготовка просмотра");
StatusDlg.SetMessage("Пожалуйста подождите...");
StatusDlg.SetStatusText("Выполнено: ".. nPercent .."%");
StatusDlg.SetMeterPos(nPercent);
StatusDlg.SetMeterRange(1, 100);
end
end

StatusDlg.Show(MB_ICONINFORMATION, false);
Zip.Extract(cZipFileName, {playmovie}, _TempFolder, true, false, "*********", 0, CallBack);
StatusDlg.Hide();
Автор: firstdock
Дата сообщения: 09.10.2007 20:07
Zloy_Gelud
огромное спасибо
Автор: Andrey_Wlodimirovich
Дата сообщения: 09.10.2007 20:54
По поводу Установить/играть кнопки.
Попытался разобраться:
Логика такая:
Если есть ключ реестра, то имя такое-то, действие такое-то, иначе имя другое, дейтсвие другое.

Я тут побегал по ветке, посмотрел готовые решения и вот шо нарисовал:

В свойства кнопки в секцию онклик:

Код: if Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Prog.exe") then
GameRunPath = Registry.GetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Prog.exe", "Path", true);
File.Run(GameRunPath.."\\Prog.bat", "", "", SW_SHOWNORMAL, false);
else
File.Open("AutoPlay\\setup.exe", "", SW_SHOWNORMAL);
end
Автор: Drusus
Дата сообщения: 09.10.2007 21:29
tavria2

Цитата:
Ты меня не так понял, я имел ввиду диалог выбора файлов встроенный в действия:
...
Ну и это не проблема, обходится правкой файла _res_types.xml, находящегося:

Ясно теперь. Благодарю. Инфа ценная

All
С кнопками next-previous в wmp-плагине удалось разобраться. Остались мелкие недоработки. На днях выложу готовый проект
Автор: Andrey_Wlodimirovich
Дата сообщения: 09.10.2007 21:47
Справа, на старицне авторана поместилось только два обьекта (изображение + параграф) а как добавить еще 10 штук чтоб они аккуратненько скролились вниз .


Автор: firstdock
Дата сообщения: 09.10.2007 22:27
ну вот опять загвостка

проблема в том что я хочу чтобы перед изорхивацией архив был указан через менеджен файлов а не сразу в коде


Код: function CallBack (sPath, nPercent, nStatus)
if nStatus == ZIP_STATUS_MAJOR then
StatusDlg.SetTitle("Подготовка просмотра");
StatusDlg.SetMessage("Пожалуйста подождите...");
StatusDlg.SetStatusText("Выполнено: ".. nPercent .."%");
StatusDlg.SetMeterPos(nPercent);
StatusDlg.SetMeterRange(1, 100);
end
end

StatusDlg.Show(MB_ICONINFORMATION, false);
Zip.Extract(Dialog.FileBrowse(true, "Locate File", "AutoPlay\\Docs", "All Files (*.*)|*.*|", "", "", true, true) , {"*.*"},Dialog.FolderBrowse("Введи назначение изорхивации:", ""), true, true, Dialog.PasswordInput("Запрос пароля", "Введи пароль:", MB_ICONQUESTION), MB_ICONQUESTION);
StatusDlg.Hide();
Автор: Zloy_Gelud
Дата сообщения: 09.10.2007 22:56
firstdock
.. м-да..справку совсем никак не хотим читать?
Вот держи:

Код: function CallBack (sPath, nPercent, nStatus)
if nStatus == ZIP_STATUS_MAJOR then
StatusDlg.SetTitle("Подготовка просмотра");
StatusDlg.SetMessage("Пожалуйста подождите...");
StatusDlg.SetStatusText("Выполнено: ".. nPercent .."%");
StatusDlg.SetMeterPos(nPercent);
StatusDlg.SetMeterRange(1, 100);
end
end

sCorrectPass = "123456789";
tZIPPaths = Dialog.FileBrowse(true, "Открыть файл:", _DesktopFolder, "ZIP Files (*.zip)|*.zip|", "", "zip", false, true);
    if (tZIPPaths ~= nil and tZIPPaths[1] ~= "CANCEL") then
        sPathFolder = Dialog.FolderBrowse("Папка изорхивации:", "AutoPlay\\Docs");
            if (sPathFolder ~= "CANCEL" and sPathFolder ~= "") then
                sPass = Dialog.PasswordInput("Запрос пароля", "Введи пароль:", MB_ICONQUESTION);
                    if (sPass == sCorrectPass) then
                        StatusDlg.Show(MB_ICONINFORMATION, false);
                        Zip.Extract(tZIPPaths[1], {"*.*"}, sPathFolder, true, false, sPass, 0, CallBack);
                        StatusDlg.Hide();
                    else
                        result = Dialog.Message("Запрос пароля", "Пароль введен неправильно.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
                    end
            end
    end
Автор: firstdock
Дата сообщения: 09.10.2007 23:05
Да это конечно правильно просто прогу только вчера скачал и вот уже 2-й день нет покоя.
да и язык програмирования учить не приходилось.. а жаль.

Добавлено:
Небольшая карректировка..

Код: function CallBack (sPath, nPercent, nStatus)
if nStatus == ZIP_STATUS_MAJOR then
StatusDlg.SetTitle("Подготовка просмотра");
StatusDlg.SetMessage("Пожалуйста подождите...");
StatusDlg.SetStatusText("Выполнено: ".. nPercent .."%");
StatusDlg.SetMeterPos(nPercent);
StatusDlg.SetMeterRange(1, 100);
end
end

sCorrectPass = "123";
tZIPPaths = Dialog.FileBrowse(true, "Открыть файл:", _DesktopFolder, "ZIP Files (*.zip)|*.zip|", "", "zip", false, true);
if (tZIPPaths ~= nil and tZIPPaths[1] ~= "CANCEL") then
sPathFolder = Dialog.FolderBrowse("Папка изорхивации:", "AutoPlay\\Docs");
if (sPathFolder ~= "CANCEL" and sPathFolder ~= "") then
sPass = Dialog.PasswordInput("Запрос пароля", "Введи пароль:", MB_ICONQUESTION);
if (sPass == sCorrectPass) then
StatusDlg.Show(MB_ICONINFORMATION, false);
Zip.Extract(tZIPPaths[1], {"*.*"}, sPathFolder, true, true, sPass, ZIP_OVERWRITE_NEVER, nil);
StatusDlg.Hide();
else
if (sPathFolder ~= "CANCEL" and sPathFolder ~= "") then
result = Dialog.Message("Запрос пароля", "Пароль введен неправильно.", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
end
end
end
end
Автор: GOOSE
Дата сообщения: 10.10.2007 07:50
OFF: а мне кто нибудь объяснит, что такое "изорхивация"?
...ладно бы еще при разговоре употребляли, а то ведь пишем в диалогах программы...
Автор: Lexua
Дата сообщения: 10.10.2007 11:26
Andrey_Wlodimirovich

Цитата:
Справа, на старицне авторана поместилось только два обьекта (изображение + параграф) а как добавить еще 10 штук чтоб они аккуратненько скролились вниз .

Ну таким способом врядли. Нужно использовать веб объект а описание с картинками в формат нтмл...
Автор: wilylizard
Дата сообщения: 10.10.2007 15:11
Уважаемые!!!
Прошу не ругать если что....\
я новичек в этой проге, и ни как не могу найти,
можно ли флэш объект сделать кнопкой...?
т.е. нажимая флэшку происходило действие, напр. переход на след. станицу??????
Или хотябы тыкните где искать, перерыл весь форум..........
СПС!!!
Автор: oumser
Дата сообщения: 10.10.2007 15:55
Zloy_Gelud
Все получилось спасибо!!! Но есть одно но,всегда загружается одна песня. Я думаю это связано с моим double click-ом в listbox...подскажи что тут надо изменить?
LB = "ListBox1";
-- Get the selected items
tSelected = ListBox.GetSelected(LB);

-- Because we are not allowing multiple select in the
-- ListBox object, we are only concerned with tSelected[1]

if tSelected then
    -- There is an item selected, get the data!
    sFileName = ListBox.GetItemText(LB, tSelected[1]);
    sFileToOpen = ListBox.GetItemData(LB, tSelected[1]);
    -- Load the audio File
Audio.Load(CHANNEL_BACKGROUND, _SourceFolder..INIFile.GetValue("AutoPlay\\Docs\\test.ini", "Playlist", tValueNames[n]), true, false);

-- Play the audio File
Audio.Play(CHANNEL_BACKGROUND);

    

else
    -- Display an error message
    -- Dialog.Message("Error", "There is no item selected.");
end

И еще звучание плохое до невозможности, жутко хрипит почемуто,ЦП вроде тока на 50%,память конечно сверх идет моих 256ти,но у меня и при 400 нормально играла,что думаешь по этому поводу,взаранее благодарствую
Автор: vistadimix
Дата сообщения: 10.10.2007 17:45
Здравствуйте!
У меня такой вопрос: есть функция закачки файла с HTTP. А можно ли сделать докачку файла при обрыве связи?
Автор: Zloy_Gelud
Дата сообщения: 10.10.2007 20:45
vistadimix

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

увы =(
oumser

Цитата:
подскажи что тут надо изменить?

Здесь пришлось и подумать .. и вот что получилось..
Global Functions

Код: nTrack = 1;                                                    -- номер трека
sPath = _SourceFolder.."\\AutoPlay\\Docs\\test2.txt";        -- путь к плэйлисту
bPlay = false;                                                -- флаг по-умолчанию
function GetPlayList(sPath)
    tPlayList = TextFile.ReadToTable(sPath);
        if (Table.Count(tPlayList) == 0) then
            return nil;
        else
            return tPlayList;
        end
end
Автор: Andrey_Wlodimirovich
Дата сообщения: 10.10.2007 23:09
Lexua
Все гениальное - просто ) Сенк за совет, получилось имено так как хотелось.
Автор: oumser
Дата сообщения: 11.10.2007 06:43
Zloy_Gelud
УРА!!! Все работаетСпасибо
Автор: vistadimix
Дата сообщения: 11.10.2007 10:36
Тогда еще такой вопрос... Можно ли как-то подконектится к ICQ? Сделать чёто наподобии квипа...
Автор: Drusus
Дата сообщения: 11.10.2007 11:02
Вывожу в ListBox список файлов с нужными расширениями из папки. В свойствах объекта стоит "Sort", судя по хелпу - это сортировка итемов по алфавиту. Но сортировка глючит.
Если файлы в папке пронумерованы, то всё путём, идут по-порядку. Если без нумерации, то идут криво. Сейчас дал на вход папку с таким списком видеоклипов:

Bear.mpg
hands.avi
Jeans.avi
Mercedes.mpg
socks.mpg
tiger.avi
Каратэ.AVI
кошки.avi
Отжимание.AVI
Пьяный сверчок.mpg

а в ListBox список получился:

Bear.mpg
Jeans.avi
Mercedes.mpg
hands.avi
socks.mpg
tiger.avi
Каратэ.AVI
Отжимание.AVI
Пьяный сверчок.mpg
кошки.avi

т.е. неправильно отсортированы hands.avi и кошки.avi.
С большим списком файлов вообще каша получается.
В чём причина? Как победить?
Автор: servint
Дата сообщения: 11.10.2007 14:12
tavria2


Цитата:
Что за действие? Манипуляция с окнами? Подробнее...


Программа проигрывает маленький плейлист (3 песни). При выполнении кода из onAudio т.е при проигрывании следующей композиции убирается активность с активного окна...


Добавлено:
Drusus

Разные языки, сделай всё на агл. и всё будет ок...
Автор: Slon_U
Дата сообщения: 11.10.2007 15:53
Drusus
Сортировка выполняется правильно. Проверь коды символов - сперва идут "АБВГ....", после "абвг". Поэтому (как вариант) приведи все названия к одному виду (выбирай уж сам) - или все в верхнем регистре, или все в нижнем регистре, или все капиталайзед.
Автор: Drusus
Дата сообщения: 11.10.2007 17:21
Slon_U
Спасиб! Точно, дело было в регистрах. Настолько привык, что Винде регистры безразличны, что об этом даже не подумал.
ALL
При воспроизведении видеофайла в WMP-плагине двойной клик по окну плагина открывает видео на FullScreen. Фактически файл открывается во внешнем WMP, но у которого отсутствуют кнопки кнопки Свернуть-Развернуть-Закрыть. Возврат к окну плагина (не прерывая воспроизведение файла) возможен либо по двойному клику, либо по Alt-F4 (или дублирующего способа, у меня, например, закрытие активного окна настроено на клик колеса мышки). Второй способ выхода часто приводит к глюкам (долго объяснять каким). Как оставить выход из FullScreen только по двойному клику? Предложенная недавна блокировка сочетания Alt-F4 на OnKey страницы здесь не подойдёт.
Автор: tavria2
Дата сообщения: 11.10.2007 20:47
servint
Цитата:
Программа проигрывает маленький плейлист (3 песни). При выполнении кода из onAudio т.е при проигрывании следующей композиции убирается активность с активного окна...
Вызов события On Audio не может никак повлиять на активность окна, это что-то в самом коде. Выкладывай код или проект, для разбора полетов.
Автор: firstdock
Дата сообщения: 12.10.2007 05:37

Цитата:
что такое "изорхивация"?

извлечение архива
Автор: Drusus
Дата сообщения: 12.10.2007 23:31
Есть готовый плейлист, в котором только имена файлов с расширениями. Папка с элементами плейлиста, соответственно, тоже известна. Нужно загрузить объекты в ListBox. Через команду FileFind всё прекрасно грузится, но это, по-моему, не рационально. Зачем искать, если список известен?
ItemText в листбокс вывожу, а с ItemData не получается. Надо как-то объединить folder и name_table[i]. Попробовал несколько вариантов с точками и кавычками , не выходит. И заодно, как в ItemText расширения не отображать?

Код:
folder = _SourceFolder.."\\Autoplay\\Videos";
playlist = folder.. "\\playlist.m3u";
name_table = TextFile.ReadToTable(playlist);
name_count = Table.Count(name_table);
for i = 1, name_count do
ListBox.AddItem("ListBox1", name_table[i], ......ItemData-???..........);    
end
Автор: tavria2
Дата сообщения: 13.10.2007 07:11
Drusus
Исправлено
Код: folder = _SourceFolder.."\\Autoplay\\Videos";
playlist = folder.. "\\playlist.m3u";
name_table = TextFile.ReadToTable(playlist);
for i, file in name_table do
ListBox.AddItem("ListBox1", String.SplitPath(file).Filename, folder.."\\"..file);
end
Автор: Drusus
Дата сообщения: 13.10.2007 08:17
tavria2
Благодарю за ответ, но в твоём виде не работает. Поначалу ругается, что в строке с листбоксом не хватает запятой, но, по-моему, после .Filename стоит лишняя скобка. Её убрал, теперь ругается на строку с for i, говорит "attempt to call a number value"

Заработало в таком виде, но расширения отображаются.

Код: name_table = TextFile.ReadToTable(playlist);
name_count = Table.Count(name_table);
for i = 1, name_count do
    ListBox.AddItem("ListBox1", name_table[i], folder.."\\"..name_table[i]);    
end
Автор: tavria2
Дата сообщения: 13.10.2007 10:07
Drusus

Цитата:
но, по-моему, после .Filename стоит лишняя скобка
Да, действительно лишняя.

Цитата:
Её убрал, теперь ругается на строку с for i, говорит "attempt to call a number value"
Я вместо таблицы подсунул кол-во в цикл

Цитата:
String.SplitPath, думаю, не может найти имя файла, ведь команда заточена для выдергивания элементов из полного пути, а не из обрезка: имя + расширение.
Нормально работает с "обрезком".

См. выше исправленный код.
Автор: Drusus
Дата сообщения: 13.10.2007 10:54
tavria2
Большой фенкс! Всё работает, как надо.

Добавлено:
tavria2, GOOSE, Zloy_Gelud
Выкладываю свой проект медиапроигрывателя. Как я уже писал, он предназначен для работы с известными списками файлов, информация о воспроизводимом файле берётся из плагина на основании длительности файла. Особенность – полная реализация функций кнопок previous-next.

Предварительно надо заготовить 2 файла: плейлист и таймлист (список длительностей). Для их создания написан отдельный проект Play&TimeList Maker.

Прошу посмотреть проект проигрывателя, проанализировать, может, найдёте какие-нибудь ошибки или предложите варианты оптимизации кода. Буду очень признателен.

Замеченные и неустранённые проблемы:
- прыгающий список листбокса: если была сделана вертикальная прокрутка и выбран какой-то элемент, то список прыгает вниз;
- глюки с выходом по Alt-F4 из FullScreen (подробно писал выше).

MediaPlayerPlugin with All Buttons
Play&TimeList Maker
Автор: oumser
Дата сообщения: 13.10.2007 13:31
Народ! Подскажите как создать условие if...then, если запускается проект (Page1) выполняется к примеру Page.StartTimer(1),но если мы переходим на эту же станицу с других (Page2,Page3,любая страница), то данная команда Page.StartTimer(1), не выполняется P.S. Вместо Page.StartTimer(1) может быть любой код
Автор: tavria2
Дата сообщения: 13.10.2007 14:09
oumser
Цитата:
Подскажите как создать условие,if...then ...

Код: if (not lStarted) then
Page.StartTimer(1);
lStarted = true;
end

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Symantec Endpoint Protection - SEP


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.