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

» Autoplay Media Studio

Автор: maxakul
Дата сообщения: 30.08.2011 11:59
Добрый день. Помогите пожалуйста советом, многое уже нашел в 4 темах, спасибо всем за разжевывание многие вопросы отпали автоматом.
Осталась проблема, смешная думаю для многих, есть например 2 страницы (ну страниц будет больше) страница визуально делится на две колонки в одной колонке объект пдф-ка в другом столбике объект Каталог. Суть вопроса: как именно прописать в свойтсвах каталога чтобы при нажатии например на пункт 1.2. осуществлялся переход на страницу с именем 1.2. ну и т.д. Тоесть использовать этот объект как содержание.
На кнопку делал с помощью быстрого действия шовпейдж ну и выбирал какую как зделать в каталоге так и не понял.

Заранее спасибо.
Автор: Zloy_Gelud
Дата сообщения: 30.08.2011 18:58
maxakul

Цитата:
объект Каталог

Ох уж эти руссификаторы. Что это за объект такой?!
Автор: Vadim021X
Дата сообщения: 30.08.2011 20:59
Каталог - это объект каталог...
К примеру, помнишь стандартное окно для выбора папки, вот это каталог, примерно это такой объект.

***меня тоже эта тема интересует...
Автор: Zloy_Gelud
Дата сообщения: 30.08.2011 21:11
Vadim021X
Что-то мне подсказывает что это объект Tree.

maxakul

Цитата:
как именно прописать в свойтсвах каталога чтобы при нажатии например на пункт 1.2. осуществлялся переход на страницу с именем 1.2. ну и т.д. Тоесть использовать этот объект как содержание.

Сделать можно, но работает довольно-таки криво. Это уже несколько раз обсуждалось. По-новой обсуждать у меня честно желания нет. Можете заюзать версию для печати.
Автор: Vadim021X
Дата сообщения: 30.08.2011 21:28
Да, объект тот, а не подскажешь где это обсуждалось?
Нужно, чтобы в объекте tree, отображался список файлов и папок (например по адресу С:\\papka и в этой папке файлы) и при выделении файла в каталоге (например текстового файла), оно отображалось в rich.text (его содержимое). Помойму такой же пример в шаблоне в AutoPlay Media Studio  8, но пытаюсь переделать на нужный лад, ни чего не выходит.
Автор: Vadim021X
Дата сообщения: 31.08.2011 10:46
Этот сценарий работает так: (На странице слева объект tree, справа объект pdf)
В объекте tree выводятся файлы в папке C:\\Line, файлы формата pdf, при нажатии (выделении) одного из файла в объекте tree, его содержимое появляется в объекте pdf, т.е. Просмотр.
Как его переделать так, чтобы вместо pdf файлов были txt файлы и при выделении txt файла в объекте tree, его содержимое выводилось в объекте rich.text, а имя текстового файла выводилось в объект imput. ??? (если названия объектов введены некоректны, извините точные названия непомню, комп не рядом).
Буду очень очень очень очень признателен за помощь!!! Когда пытаюсь переделовать пишет ошибку с строке 77...

On Preload


Код: -- PDF Root Folder Defined in Global Functions
-- Variable: sPDFRootFolder

sFirstPDFToLoad = "";

function AddToTree(sFullPath)
    if (sFirstPDFToLoad == '') then
        sFirstPDFToLoad = sFullPath;
    end
    
    -- Split the path
    tPathParts = String.SplitPath(sFullPath);
    
    -- Get length of root folder (so we know how many chars to skip)
    nRootLength = String.Length(sPDFRootFolder);
    
    -- sFullPath minus last character
    sFullFolderPath = tPathParts.Drive .. tPathParts.Folder;
    nFullFolderPathLength = String.Length(sFullFolderPath);
    sFullFolderPath = String.Mid(sFullFolderPath, 1, nFullFolderPathLength - 1);
    
    -- Check of PDF should be inserted into root of tree
    if(String.Compare(sPDFRootFolder, sFullFolderPath)  == 0) then
        -- We're inserting this PDF into the root, configure node values
        tNodeData = {};
        tNodeData['Text']=tPathParts.Filename;
        tNodeData['Data']=sFullPath;
        tNodeData['ImageIndex']="0";
        
        -- Insert the node
        Tree.InsertNode("Tree1", Tree.GetChildCount("Tree1", "0") + 1, tNodeData);
    else
        -- We need to search for an existing node by 'folder' value (ie sub folder) ... so let's create the search string
        
        -- Initialize
        sSearchString = tPathParts.Folder;
        
        -- Strip the last slash off
        sSearchString = String.TrimRight(sSearchString, '\\');
        
        -- Find the last occuring slash (will be before the final folder name        
        nPosLastSlash = String.ReverseFind(sSearchString, '\\');
        
        -- Get rid of all the stuff before the last occuring slash
        sSearchString = String.Mid(sSearchString, nPosLastSlash + 1, -1);
        
        -- Search the tree by node name (folder name)
        sFoundNodeIndex = Tree.FindNodeByText("Tree1", "0", sSearchString);
        
        if sFoundNodeIndex == "" then
            -- Node wasn't found, create it

            -- Create node data (data part is left blank ... this is a 'category', not a document)
            tNodeData = {};
            tNodeData['Text']=sSearchString;
            tNodeData['Data']="";
            tNodeData['ImageIndex']="1";
            sParentIndex = Tree.GetChildCount("Tree1", "0") + 1;
            Tree.InsertNode("Tree1", sParentIndex, tNodeData);
        else
            sParentIndex = sFoundNodeIndex;
        end
        
        -- Insert actual file
        tNodeData = {};
        tNodeData['Text']=tPathParts.Filename;
        tNodeData['Data']=sFullPath;
        tNodeData['ImageIndex']="0";
        Tree.InsertNode("Tree1", sParentIndex .. "." .. (Tree.GetChildCount("Tree1", sParentIndex) + 1), tNodeData);
    end

    return true;
end


-- Find all PDF's in the folder
File.Find(sPDFRootFolder, "*.pdf", true, false, nil, AddToTree);

-- Load the first PDF
PDF.LoadFile("PDF1", sFirstPDFToLoad);

-- Test for error
error = Application.GetLastError();
if (error ~= 0) then
    Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
end
Автор: maxakul
Дата сообщения: 31.08.2011 10:50
Да обект тот. Я просто думал его использовать как содержание.
Спасибо за ответ кстати). Подскажите плиз как можно тогда реализовать. Задум такой что слева выводиться контейнер с подфником или штмл а справа идет содержание. на выходе получиться должно что-то типа електронной энциклопедии с видео/текстом/изображениями. Возможно проще сделать в дургой программе подскажите плиз.
Заранее благодарен.

Добавлено:
У меня выходит похожее только мне надо в списке не имена файлов а названия от себя какбы оглавления. В каком примере реализовано перерыл так и не нашел(((
Ну или может как я писал выше реализовывать в другой программе нужно.
Спасибо.
Автор: Zloy_Gelud
Дата сообщения: 31.08.2011 10:59
Vadim021X

Как ты считаешь, какое событие выполняется раньше, On Preload или On Show?
Автор: Vadim021X
Дата сообщения: 31.08.2011 11:41
Помойму первым выполняется On Preload
И...
Автор: Zloy_Gelud
Дата сообщения: 31.08.2011 11:45
Vadim021X

Правильно, так почему ты устанавливаешь значение переменной

Цитата:
sPDFRootFolder = "C:\\Line";

в On Show, когда основной код выполняется в On Preload. WTF?
Автор: Vadim021X
Дата сообщения: 31.08.2011 11:49
То есть как я правильно понял, это
sPDFRootFolder = "C:\\Line";  
Надо в on show.
Правильно?

***сорри, еще не совсем разобрался, сценарий взял из шаблона программы, пытался переделать...
Автор: maxakul
Дата сообщения: 31.08.2011 11:53
Zloy_Gelud помоги плиз как или в чем правильнее реализовать. Пост выше чуток. плиз.
Спасибо.

Добавлено:
Начинаю думать про Adobe® Captivate хотя она потяжелее будет.
Автор: Zloy_Gelud
Дата сообщения: 31.08.2011 12:09
Vadim021X

Цитата:
То есть как я правильно понял, это
sPDFRootFolder = "C:\\Line";
Надо в on show.
Правильно?

Нет же! У тебя это и так сейчас. Ты, наверное, не понимаешь происходящего.. Ты пытаешься выполнить

Цитата:
File.Find(sPDFRootFolder, "*.pdf", true, false, nil, AddToTree);

в On Preload. А саму переменную sPDFRootFolder ты назначаешь в On Show, т.е. переменная у тебя назначается после выполнения кода заполнения объекта Tree. Поэтому и ошибка появляется, ибо переменная равна nil.
Перенеси

Цитата:
sPDFRootFolder = "C:\\Line";

в On Preload первой строчкой и будет тебе счастье.


maxakul

Цитата:
помоги плиз как или в чем правильнее реализовать.

"Как" - решать только тебе. . "В чем" - увы я не знаю. Но уверен, что и в АМС можно.
Автор: Vadim021X
Дата сообщения: 31.08.2011 12:17
Все почти работает!
Только как при выделении текстового файла в tree его содержимое появлялось в richtext?
И название файла при выделении в input отображалось?
Автор: maxakul
Дата сообщения: 31.08.2011 13:32
Zloy_Gelud спс за ответ. Как тогда еще можно реализовать содержание если не обектом tree чето не лезут идеи.. кнопками жестко как как еще непойму..
Автор: maxakul
Дата сообщения: 08.09.2011 13:11
Добрый день. Подскажите пожалуйста по такому вопросу.
На странице идет несколько обектов Label и контейнер пдф.
Какую обработку записать в событие клик для того чтобы отобразить в контейнере пдф-файл.
Тоесть. есть папка в корне проекта например PDF. в ней подпапки. Какой код должен быть чтобы при клике на label1 например отобразился в контейнере файл \\PDF\pres\opisanie.pdf
При клике на label2 например \\PDF\pres\instrukciya.pdf и т.д.
Заранее блгодарен.
Автор: Zloy_Gelud
Дата сообщения: 08.09.2011 13:17
maxakul

Код: PDF.LoadFile("PDF1", _SourceFolder.."\\PDF\\pres\\instrukciya.pdf");
Автор: maxakul
Дата сообщения: 08.09.2011 17:54
Огромнейшее спасибо заработало!!! Насилу понял как пути вставлять там потом при двойном нажатии выскочило окно стандартное путь указал))

Спасибо за своевременную помощь
Автор: Stalkersof
Дата сообщения: 13.09.2011 14:15
Всем здрасти.
А как указать путь к папке меню пуск все программы.
Желательно использовать встроенные константы путей. Т.к Доступ к этой папке должен осуществлятся на разных компах.
Автор: Zloy_Gelud
Дата сообщения: 13.09.2011 15:09
Stalkersof

Код: result = Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON);
Автор: Stalkersof
Дата сообщения: 13.09.2011 15:14

Код: InstallProgramGroup = Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON);

Dialog.FolderBrowse("Select a Folder", InstallProgramGroup);
if (InstallProgramGroup ~= "CANCEL") then
Input.SetText("Input1", InstallProgramGroup);
--InstallProgramGroup = Input.GetText("Input1");
end
Автор: lerik2703
Дата сообщения: 14.09.2011 08:14
Stalkersof

Цитата:
Programs + папка устанавливаемой программы


Код: local InstallProgramGroup = Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON);
local sProgram = String.Right(InstallProgramGroup, (String.Length(InstallProgramGroup) - String.ReverseFind(InstallProgramGroup, "\\", false)))
local InstallProgramGroup = Dialog.FolderBrowse("Select a Folder", InstallProgramGroup);
if (InstallProgramGroup ~= "CANCEL") then
local sNameFol = String.Right(InstallProgramGroup, (String.Length(InstallProgramGroup) - String.ReverseFind(InstallProgramGroup,sProgram ,false))+1)
Input.SetText("Input1", sNameFol);
--InstallProgramGroup = Input.GetText("Input1");
end
Автор: Stalkersof
Дата сообщения: 14.09.2011 12:54
lerik2703
То что надо.
С кодом конечно надо поработать надо как то проверку сделать чтоб невозможно было выбрать другую папку кроме все программы. Попробую сам. Спасибо.


Добавлено:
Господа подскажите.
Еще не придумали как прикрутить 7zip к APMS с отображением процесса распаковки в прогрес баре.
И вообще возможно прикрутить к APMS другой архиватор кроме zip'a с процесом распаковки.
Установщик леплю для программы наверняка уже делали.
Автор: Zloy_Gelud
Дата сообщения: 14.09.2011 19:48
Stalkersof

Цитата:
Еще не придумали как прикрутить 7zip к APMS с отображением процесса распаковки в прогрес баре.

Придумали.

Цитата:
И вообще возможно прикрутить к APMS другой архиватор кроме zip'a с процесом распаковки.

Если нужно RAR распаковывать - см. ZipEx Actions Plugin от Улрича.
Автор: Stalkersof
Дата сообщения: 15.09.2011 12:50
Zloy_Gelud
Отличная идея использовать DLL Inno Setup для APMS.
У Inno Setup огромное количество библиотек расширяющее возможности программы.
Если можно в шапку добавьте примеры и сами DLL которые удалось прикрутить к APMS.
Без подсказки не нашел бы. Да и ссылки с dll умерли.
Огромное спасибо.
Автор: Vania
Дата сообщения: 17.09.2011 13:01
Эта программа умеет редактировать уже готовый диски с автозапуском? Например есть скопированный диск с автозапуском, запускаю autorun.exe а в меню кракозябры. Можно как то открыть этот autorun.exe или autorun.cdd даже не знаю где там это всё хранится и поменять шрифт например или что то ещё изменить что бы слова нормально отображались. Ещё можно ли этой программой менять текст в меню автозапуска или картинки. Именно не у вновь создаваемого диска, а уже у готового. И если эта не может такое, то может кто нибудь подскажет программу которая это может делать.
Автор: lerik2703
Дата сообщения: 17.09.2011 14:58
Stalkersof
Лови, пример комменте архива
Vania

Цитата:
Эта программа умеет редактировать уже готовый диски с автозапуском?

нет эта программа не может редактировать уже готовый проект!но разархивировать autorun.cdd можно восстановить исходный скрипт перенеся в новый проект!
Автор: Vania
Дата сообщения: 17.09.2011 15:14
autorun.cdd Autoplay Media Studio может разархивировать? Я в 7-Zip открываю autorun.cdd, там файллы _detect.dat, _proj.dat, _fonts.dat можно выбрать разархивировать, но когда выбираю распаковать запрашивается пароль. Как их правильно распаковывать, и чем потом редактировать файлы с расширением .dat? Мне много раз встречались диски с официальным автозапуском в котором кто то добавил что то, или дописал что то. Какие программы могут редактировать готовые autorun на дисках?
Автор: mezi
Дата сообщения: 17.09.2011 15:19
Здравствуйте!
Ребята почему когда я вставляю кнопку(она имеет чуть прозрачности) то немозножно почти наклацать кнопку ?
Автор: lerik2703
Дата сообщения: 17.09.2011 16:42
Vania

Цитата:
запрашивается пароль. Как их правильно распаковывать

воспользуйся утилитой от Kindly
AutoPlay Media Studio Password Tool

Цитата:
чем потом редактировать файлы с расширением .dat?

их не за чам редактировать это файлы звуков,картинок с измененным расширением!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

Предыдущая тема: Media Player Classic - Home Cinema (MPC-HC)


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