Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   AutoPlay Media Studio (http://forum.oszone.net/showthread.php?t=121099)

lorents 26-10-2008 20:40 934328

AutoPlay Media Studio
 
помогите пожалуйста решить проблемы
1. нужно сделать проверку на наличие Adobe Reader (в частности проверка на версию) на компьютере
для начала был взят код lua с самой программы
C:\Program Files\AutoPlay Media Studio 7.0\Plugins\Detect, где файлы .DET представляют собой архивы с необходимыми мне LUA файлами. (открываются архивом работающий с zip), и вот код
Код:

Application.LoadScript("AutoPlay\\Scripts\\Acrobat.lua");
и

Код:

strAcrobatVer = ir_GetAcrobatVersion();
if (strAcrobatVer == "0.0.0.0") or (String.CompareFileVersions(strAcrobatVer, "7.0.0.0") == -1) then
    Page.Jump("Page2");
end

но проблема в том что код работает почему-то только на проверку на наличие или отсутствие Adobe Reader а при проверки на версию винда выдает ошибку

2 как сделать чтобы при нажатии на кнопку у меня окно проекта из standard становилось Kiosk-color (и окно проекта нельзя было быперемещать)?

3 как запустить диалоговое окно печати в Web (а если через web открывать pdf-файл то и pdf-файл можно вызвать функцию печать)

задумка такая
ставим фокус на Web
потом проект должен нажать на кнопки Ctrl+P
и у нас запускается диалоговые окно печати

и так приступим

устанавливаем фокус
Page.SetFocus("Web1");
а вот дальше проблема я не знаю как сделать чтобы проект сам нажимал на эти две эти кнопки просто так
знаю код клавиш только
e_Modifiers.ctrl and e_Key == 50

___oj 27-10-2008 08:01 934610

Цитата:

Цитата lorents
винда выдает ошибку »

Почему думаешь что Windows выдает ошибку? Скрипт берет данные из реестра и Windows может ругаться в случае, если у программы нет прав читать реестр??

Тем не менее я протестил скрипт Acrobat.lua и оказалось что он работает. По выполнении скрипта в переменной strAcrobatVer версия Акробата врлне корректно.

lorents 27-10-2008 08:17 934622

___oj, так у тебя работает?
я не ограничивал доступ к реестру, у меня в начале при запуске проекта стоит проверка на наличие и версию adobe reader и все корректно работает, и еще код работает только на проверку наличия программы на компьютере

и еще в самом начале я сделал только проверку на наличие adobe reader и все работало
Код:

if (not Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\Adobe\\Acrobat Reader")) then
Page.Jump("Page2");
end

так что на реестре нет ограничения доступа

mardoplias 29-12-2009 13:51 1306912

Можно ли :

За архивировать файл SFX с паролем что бы запуская его с диска он просил пароль а если запускать из Autorun то пароль вводить не надо было бы ? Может там кокой то скрипт чтобы он при нажатии на кнопку запускал приложение и сам вводил пароль?

rawowa 01-12-2014 00:11 2437803

Вложений: 1
помогите пожалуйста решить проблему с AutoPlay Media Studio стандартный шаблон pdf document wiewer, раскрывает список дерево папка, файл,что нужно прописать или изменить чтоб раскрывалось папка,папка,файл или папка,папка,папка,файл.

Скрытый текст
-- 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);

Iska 01-12-2014 07:39 2437855

rawowa, Ваш вопрос непонятен.

rawowa 02-12-2014 00:26 2438317

Вложений: 2
Вот первое фото, это то что у нас есть.

а на втором надо добавить.
в етом скрипте
-- 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);

Iska 02-12-2014 05:58 2438361

Никак, коллега. Вы можете «подклеить» ветвь к корню или к другой ветви, но не к листу ветви.

Опишите подробно, что Вы хотите получить в глобальном плане (повторять «что нужно прописать или изменить чтоб раскрывалось папка,папка,файл или папка,папка,папка,файл» не стоит).

rawowa 02-12-2014 12:51 2438556

Вложений: 1
Очень сильно хочу извинится за не правильные вопросы и неправильное фото.
Скорей всего «подклеить»к другой ветви если я не ошибаюсь то это фото теперь правильное.

Iska 02-12-2014 13:08 2438565

Цитата:

Цитата Iska
Опишите подробно, что Вы хотите получить в глобальном плане »


rawowa 02-12-2014 16:35 2438672

подклеить еще ветвь к каждой другой ветви!

rawowa 03-12-2014 13:09 2439031

Снова здравствуйте!
Суть этого авторана такова, закидаеш папку с pdf файлами в корневую папку диска, и при запуске авторана о сканирует корневую папку на наличие папок и файлов, и вставляет их в дерево,проблема в том что дерево раскрывается так : ветвь,лист, а надо з делать так : ветвь,ветвь,лист, а именно «подклеить» ветвь к каждой другой ветви,а на фото в верху это получается так; категория,
категория,документ а не категория,документ.и чтоб в каждой категории бил документ.


Время: 17:10.

Время: 17:10.
© OSzone.net 2001-