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

» Autoplay Media Studio

Автор: ExtremeAsror
Дата сообщения: 09.05.2010 21:25
Здраствуйте !

А как мне создать ленту - Ribbon подобной Microsft Office 2007 с помошью проги AMS ?

Например в Ms Visual Studio это делается с помошью плагина DevExpress .

Помогите с решением.
Автор: Kindly
Дата сообщения: 07.02.2010 14:19
tavria2
Цитата:
Новая версия WaterMark 1.1.apz
Спасибо, можно еще firectrl.dll прикрутить А вообще там в шапке темы коллекции dll выкладывали, если есть интересные, то тоже можно прикрутить
Автор: sanya 007
Дата сообщения: 10.05.2010 11:29
Господа профессионалы, подскажите пожалуйста. Например запускаю я кнопкой Ехе-файл.

Цитата:
File.Run(_ProgramFilesFolder.."\\PackTool\\7za.exe", "", "", SW_SHOWNORMAL, true);

Выставил ожидания завершения, по другому никак.)) Есно весь авторан висит. Вопрос: можно как-нить обмануть Авторан? Подвязать например какой-нить объект, который будет оставаться активным, или что-то подобное, во общем надо сделать возможность, чтоб можно было прервать процесс через Авторан. Поставить в File.Run, false вместо true нельзя, так как используется цепочка распаковщиков, и по любому надо дождаться выполнения первого анпакера.
Заранее огромное спасибо.
Автор: tavria2
Дата сообщения: 07.02.2010 15:45
Kindly

Цитата:
А вообще там в шапке темы коллекции dll выкладывали, если есть интересные, то тоже можно прикрутить

Прикрутить то можно, а вот на счет интересные или нет - мне трудно судить об этом, т.к. с InnoSetup я не работал и посмотреть в действии работу этих DLL - нет возможности, да и описаний DLL-ок маловато.

Если есть интересующие DLL-ки - список в студию с коротким описанием.
Автор: lerik2703
Дата сообщения: 10.05.2010 13:37
sanya 007
т.е. тебе надо отследить завершение распаковки?
Автор: sanya 007
Дата сообщения: 10.05.2010 14:01
lerik2703 Да нет.))
File.Run(_ProgramFilesFolder.."\\PackTool\\7za.exe", "", "", SW_SHOWNORMAL, true);
Оно заставляет замёрзнуть авторан на время выполнения ЕХЕ. А я хотел сделать, чтоб пока ЕХЕ выполняется(а это может быть иногда очень долго), какой-нить объект авторана всё равно оставался активным, чтоб можно было например нажать "Отмена", и перескочить на другую страницу, которая в свою очередь убьёт запущенный процесс распаковки и т.п.
Бывает иногда лоханёшся))) не туда поставишь распаковку, и чтож теперь ждать пол часа, пока всякие Репы и Прекомпы сделают своё дело?)) Можно убивать процесс через Диспетчер конечно, но всё-таки хочется реализовать это в окне Авторана))

P.S. Хм я так подумал, а можно ведь запустить ЕХЕ, авторан не будет его ждать, а будет циклически проверять, не завершилась ли распаковка, а после завершения, уже будет запускать второй ЕХЕ и т.д., или такое реализовать не реально?

P.S.S.
И последний вопрос на засыпачку)))
Допустим:

Цитата:

folder = Input.GetText("Input1"); --Задаём переменную "folder" беря путь из Input1
FinishFolder = "x ".."GameData\\zone.7zp".." -o"..folder --Создаём параметр ком строки для архиватора
File.Run(_ProgramFilesFolder.."\\PackTool\\7za.exe", FinishFolder, "", SW_SHOWNORMAL, true); --Запускаем архиватор

Не работает. Всё дело в переменной "folder", Если её взять в кавычки, то всё работает, но распаковка ведётся в корень проекта. Текст в Input1 есно есть.
Автор: tavria2
Дата сообщения: 07.02.2010 21:10
Kindly

Цитата:
можно еще firectrl.dll прикрутить

попробовал прикрутить - не очень стабильная dll, т.е первый раз запускается все ОК, а при последующем вызове происходит ошибка записи в память.
Возможно, автор dll допустил ошибку при работе с памятью.

P.S. Со своей стороны, освобождение ресурсов сделал и проконтролировал.
Автор: goFRyS
Дата сообщения: 08.02.2010 06:46
Уважаемые знатоки, у меня простой вопрос, на который не могу сообразить решение. Как сделать чтобы при отсутствии музыки был видим рисунок, и наоборот, когда музыка играет его не должно быть видно? На кнопку повесить нельзя, нужна именно реакция на присутствие играющей музыки (CHANNEL_BACKGROUND). Спасибо.
Автор: tavria2
Дата сообщения: 10.05.2010 16:18
sanya 007

Цитата:
Не работает. Всё дело в переменной "folder", Если её взять в кавычки, то всё работает, но распаковка ведётся в корень проекта. Текст в Input1 есно есть.

попробуй так:
Код:
FinishFolder = "x ".."GameData\\zone.7zp".." -o".."\""..folder.."\""; --Создаём параметр ком строки для архиватора
Автор: tavria2
Дата сообщения: 08.02.2010 09:16
goFRyS
Нужно использовать таймер для отслеживания текущей позиции трека. Время таймера установить ~100 ms.
В событии таймера сравнивать текущую позицию трека с длиной трека, если позиция меньше длины, то скрыть рисунок, иначе отобразить.
Автор: sanya 007
Дата сообщения: 10.05.2010 16:51
tavria2 Огромное спасибо! Всё сработало как часики))

Только вот всплыла другая проблема, если подвязать этот код, на кнопку следующей страницы авторана, на которой нет объекта Input1, то данным неоткуда браться.(( Как сделать чтоб данные считались с соседней страницы? Или это вообще не возможно?
Автор: goFRyS
Дата сообщения: 08.02.2010 10:39
tavria2
Мысль понятна, но я плохо разбираюсь в скриптах , если можно, поподробнее второе предложение, допустим Track1 длиной 60 секунд, как это будет выглядеть?
Автор: lerik2703
Дата сообщения: 10.05.2010 18:44
sanya 007

Цитата:
Можно убивать процесс через Диспетчер конечно, но всё-таки хочется реализовать это в окне Авторана))

можно воспользуйся действиями
System.EnumerateProcesses или Window.EnumerateTitles в первом случаи ты получаешь PID процесса во втором дискрептор окна в том или другом случаи ты можешь завершить любую программу из AMS!
Цитата:
Как сделать чтоб данные считались с соседней страницы? Или это вообще не возможно?
возможно как правило переменная несет свою ношу по всему проекту если она не являеться локальной!
Автор: tavria2
Дата сообщения: 08.02.2010 10:53
goFRyS
См. Справку:
Page.StartTimer
Audio.GetLenght
Audio.GetCurrentPos
Автор: berik81
Дата сообщения: 08.02.2010 12:31
Подскажите, как сделать, чтобы autoplay поддерживал казахский язык.
Автор: sanya 007
Дата сообщения: 10.05.2010 19:09

Цитата:
возможно как правило переменная несет свою ношу по всему проекту если она не являеться локальной!

Ситуация такая
folder = Input.GetText("Input1");
FinishFolder = "x ".."GameData\\zone.7zp".." -o".."\""..folder.."\""
File.Run(_ProgramFilesFolder.."\\PackTool\\7za.exe", FinishFolder, "", SW_SHOWNORMAL, true);
Код выполняется на странице №4, а объект Input1 находится на странице №2, как сделать, чтоб данные считались со страницы №2?
Автор: goFRyS
Дата сообщения: 08.02.2010 13:20
tavria2
Не получается. Как только не сравнивал, делает что-то одно - либо скрывает но не отображает либо отображает но не скрывает . Может как-то еще можно? Через On Audio например?
Автор: lerik2703
Дата сообщения: 10.05.2010 20:04
sanya 007
в событии on Close 2-й странице
Код: folder = Input.GetText("Input1");
if folder ~= "" then
FinishFolder = "x ".."GameData\\zone.7zp".." -o".."\""..folder.."\""
end
Автор: lerik2703
Дата сообщения: 08.02.2010 13:25

tavria2


Цитата:
В событии таймера сравнивать текущую позицию трека с длиной трека, если позиция меньше длины, то скрыть рисунок, иначе отобразить.


Ради интереса решил посмотреть , что получиться кодик такой

Код:
Pos=Math.Round(Audio.GetCurrentPos(CHANNEL_BACKGROUND),0)+1
Length=Math.Round(Audio.GetLength(CHANNEL_BACKGROUND),0)
if (Pos<Length) then
Image.SetVisible("Image1", false);
else
Image.SetVisible("Image1", true);
end
Автор: sanya 007
Дата сообщения: 10.05.2010 20:27
lerik2703
Благодарю, всё отлично работает.
Автор: dallas page
Дата сообщения: 11.05.2010 15:53
Господа, помогите с решением новой проблемы. Необходимо чтобы в объекте listbox появился список установленных на компьютере программ и при выборе какой нибудь ее можно было удалить. Простыми словами, необходимо создать uninstaller.

В инете накопал подобный:
http://narod.ru/disk/20616507000/Unistaller%20AMS.apz.html

Все хорошо, но есть проблема. Он выдает не весь список программ. К примеру, смотрел на ноуте, не показывает в списке программ Microsoft Office.

Была еще проблема, при удалении некоторых программ он писал: не возможно найти C:\Program Files. Но я ее решил. Осталось только сделать так, чтобы он выводил весь список программ.

Помогите, плиз. Мозг завис, не понимаю, что не так...

Заранее спасибо!!!

P.S. AutoPlay Media Studio 8 выдает ошибку
Автор: goFRyS
Дата сообщения: 08.02.2010 13:40
Все понятно. У меня и не получилось бы ничего . Вопрос не поняли. Нужно чтобы картинка появлялась не когда музыка закончится САМА а когда ее ОСТАНОВЯТ. Например запущенный процесс, при котором срабатывает выключение музыки Audio.Stop(CHANNEL_BACKGROUND). Т.е. длина аудиотрека тут ни при чем, тем более она у меня на LOOP стоит. Есть предложения по этому поводу?
Автор: lerik2703
Дата сообщения: 08.02.2010 13:48
goFRyS
А что мешает сразу после Audio.Stop(CHANNEL_BACKGROUND) задать действие Image.SetVisible("Image1", true); в таком случаи?
Автор: BlackMaestro1983
Дата сообщения: 11.05.2010 23:25
Маленький вопросик как сделать чтоб в зависимости от выбора 1 и 2 комбобокса чтото открывалось к примеру картинки
Тыкаем на 1 комбобокс выбираем РАСТЕНИЯ откываеться картинка опредленная
тыкаем во 2 комбобокс выбираем ПРИКОЛЫ открываеться другая картинки исходя
из того что выбор был РАСТЕНИЯ
Те выбираем РАСТЕНИЯ и чтото во 2 комбобоксе и изходя из этого открывались определнные картинки
Автор: goFRyS
Дата сообщения: 08.02.2010 13:54
А мешает то, что на другой странице есть такая же кнопка, она активирована не будет. Поэтому я и хочу привязать это к выключению аудио, чтобы на всех страницах один и тот же код включал картинку, если музыка остановится.
Автор: BLACK ROZE
Дата сообщения: 12.05.2010 01:34
Создаю МР3-плеер с пятью альбомами. Трэки из альбовом загружаются в ListBox.
Не могу решить следующую проблему: при загрузке треков из следующего альбома (нажатием кнопки) они просто добавляются в ListBox, а мне нужно чтобы он обновлялся (удаление предыдущих трэков и показ новых). Такой код на каждой кнопке, только папки с трэками разные:

Цитата:
-- Find all the files in the directory
    tFiles = File.Find("AutoPlay\\Audio\\HP&SK", "*.*", false, false, nil);
        -- If tFiles contains something
    if tFiles then
        -- Traverse the table containing the selected file paths
        for nIndex, sFilePath in tFiles do
            -- Assign the desired text and data to variables
            sData = sFilePath;
            -- Set sText to the filename (without extension) using String.SplitPath
            sText = String.SplitPath(sFilePath).Filename;
            -- Add the item to the ListBox        
                ListBox.AddItem("ListBox1", sText, sData);
        end
end

Заранее спасибо.
Автор: tavria2
Дата сообщения: 08.02.2010 14:12
lerik2703

Цитата:
а у тебя ни где не завалялся справочник по АПИшкам на русском языке?

Нет, вся инфа через поиск в инете.

goFRyS

Используй переменную, как флаг. Например bPlay = true - когда запускается музыка и bPlay = false - когда останавливаешь музыку. В таймере отображаешь или скрываешь картинку в зависимости от флага bPlay.

Добавлено:
Мда, что то я перемудрил
Достаточно добавить в событие On Audio следующий код:

Код: if e_State == "Play" then
Image.SetVisible("Image1", false);
elseif e_State == "Stop" then
Image.SetVisible("Image1", true);
end
Автор: tavria2
Дата сообщения: 12.05.2010 19:10
BLACK ROZE

Цитата:
при загрузке треков из следующего альбома (нажатием кнопки) они просто добавляются в ListBox, а мне нужно чтобы он обновлялся (удаление предыдущих трэков и показ новых).

Перед заполнением ListBox, очищай его с помощью ListBox.DeleteItem.

Цитата:
Такой код на каждой кнопке, только папки с трэками разные

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

Событие Global Functions:
Код: function FillListBox(sPath)
-- Find all the files in the directory
tFiles = File.Find(sPath, "*.*", false, false, nil);
-- If tFiles contains something
if tFiles then
-- Remove all items from the listbox
ListBox.DeleteItem("ListBox1", LB_ALLITEMS);
-- Traverse the table containing the selected file paths
for nIndex, sFilePath in tFiles do
-- Assign the desired text and data to variables
sData = sFilePath;
-- Set sText to the filename (without extension) using String.SplitPath
sText = String.SplitPath(sFilePath).Filename;
-- Add the item to the ListBox
ListBox.AddItem("ListBox1", sText, sData);
end
end
end
Автор: goFRyS
Дата сообщения: 08.02.2010 14:43
tavria2
Все работает! Спасибо!
Автор: GutMen
Дата сообщения: 08.02.2010 17:26
Всем привет! В AutoPlay Media Studio 7.0 (русифицированное) я сделал проект, в котором есть объект дерево.

Например, в папке Catalog\Chillers лежит много файлов *.*pdf.

Как сделать, чтобы при нажатии на название любого файла он открывался?
Я пробовал как сказано здесь http://forum.ru-board.com/topic.cgi?forum=5&bm=1&topic=5609&start=540#2 Но не разобрался, где находится это поле Item data.
Буду признателен за дельные советы.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: PHP RapidGet Pro V


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