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

» Autoplay Media Studio

Автор: Zloy_Gelud
Дата сообщения: 08.01.2011 23:01
XITMAH -- отвечу за себя: если б знал чем помочь, или вопрос был бы более конкретнее сформулирован, то я бы помог, чем смог.
З.Ы. Дубли постов не помогут..
Автор: XITMAH
Дата сообщения: 09.01.2011 00:08
Zloy_Gelud
Я думал понятно свою проблему расписал, ладно спрошу по другому.
Мне нужно в объекте "Tree1", на каждую его ветку дерева, задать определенную функцию.
Пример:

При нажатии на "Matrix" загружается изображение (тоесть запускается вот этот код "Image.Load("Image1", "AutoPlay\\Images\\1.png");"), когда нажимаю на "Matrix Reloaded" загружается другое изображение (тоесть запускается вот этот код "Image.Load("Image1", "AutoPlay\\Images\\2.png");") и дт.
Подскажите как это реализовать?

P.S. Вроде как не дублировал, а переспросил.
Автор: Zloy_Gelud
Дата сообщения: 09.01.2011 13:27
XITMAH -- вот сейчас хорошее описание проблемы, я все понял.
On Select объекта Tree:

Код: local sSel = Tree.GetSelectedNode("Tree1");
if sSel ~= "" then
local bIsOneRoot = (String.Find(sSel, ".") ~= -1) and (String.Left(sSel, String.Find(sSel, ".") - 1) == "1") or false;
if bIsOneRoot then
local sPosterName = String.Mid(sSel, String.ReverseFind(sSel, ".") + 1, -1) .. ".png";
local sPosterPath = "AutoPlay\\Images\\"..sPosterName;
Image.Load("Image1", sPosterPath);
end
if sSel == "2.1" then
Paragraph.SetText("Paragraph1", "New paragraph text...");
end

end
Автор: XITMAH
Дата сообщения: 09.01.2011 13:44
Zloy_Gelud
А если нужно чтоб на отдельную ветку дерева не только загружалось изображение, но и еще появлялся текст, вот к примеру этот код «Paragraph.SetText("Paragraph1", "New paragraph text...");», подскажи как это можно реализовать?
Автор: Zloy_Gelud
Дата сообщения: 09.01.2011 14:03
XITMAH -- подправил код в посте выше.
Автор: XITMAH
Дата сообщения: 09.01.2011 16:38
Zloy_Gelud
Большое спасибо!
Автор: torkea
Дата сообщения: 09.01.2011 18:57
Не подскажите, можно ли использовать в одном проекте несколько масок?
Например, страница один одной формы, а страница два другой
Автор: VASYAKRN
Дата сообщения: 10.01.2011 00:43
падскажите как пользоватса стандартним listbox abo combobox d v ams8 как у Inno Setup Scripting 5.1 от Kindly
или дайте пример Inno Setup Scripting 5.1
Автор: Zloy_Gelud
Дата сообщения: 10.01.2011 07:26
torkea --можно. См. действие Window.SetMask.
Автор: torkea
Дата сообщения: 10.01.2011 09:30
Zloy_Gelud
Спасибо огромное!
Автор: torkea
Дата сообщения: 10.01.2011 18:12
Подскажите пожалуйста, как сделать следующее:
Мы развернули первую страницу, как сделать так, что при переходе на следующую страницу, сохранялись размеры первого окна.

P.S.
сам разобрался - вопрос снимается.
Автор: KRAUSER0993
Дата сообщения: 12.01.2011 12:33
Помогите, пожайлуста, решить такую проблему:
При нажатии на изображение открывается Dialog, а как сделать так, чтобы при закрытии диалога выполнялся определенный скрипт на той странице с которой был запущен Dialog?
Автор: Zloy_Gelud
Дата сообщения: 12.01.2011 12:41
KRAUSER0993 -- Dialog или DialogEx?
Автор: KRAUSER0993
Дата сообщения: 12.01.2011 15:51
Zloy_Gelud

DialogEx
Автор: XITMAH
Дата сообщения: 12.01.2011 16:02
Возможно каким-то образом создать каталог, который всю основную информацию «название», «описание», «постер» будет брать с внешних файлов?

Примерно чтоб это выглядело так:

Когда по адресу "*\AutoPlay\Docs\" кидаю три файла:
1) "1.txt" - в средине файла написано только название, к примеру "Matrix"
2) "01.txt" - в средине файла написано описание, к примеру "фильм фантастика…"
3) "1.png" - постер.
После чего, объект "ListBox1" автоматически загружает информацию с файла "1.txt", выглядит это так:

При нажатии на "Matrix" происходит загрузка постера(1.png) и описания(01.txt).


P.S. Надеюсь понятно описал)
Автор: Zloy_Gelud
Дата сообщения: 12.01.2011 18:13
KRAUSER0993 -- честно даже и не знаю в чем проблема.. Вроде все элементарно.

Код: local cRes = DialogEx.Show("Dialog1", true, nil, nil);
-- если нажали на кнопку закрытия окна (крестик в правом верхнем углу)
if cRes == 2 then
-- здесь любые действия
Dialog.Message("Notice", "Закрыли диалоговое окно.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: KRAUSER0993
Дата сообщения: 13.01.2011 08:28

Цитата:
local cRes = DialogEx.Show("Dialog1", true, nil, nil);
-- если нажали на кнопку закрытия окна (крестик в правом верхнем углу)


У меня закрывается окно не с помощью крестика, а с помощью изображения.Что тогда нужно поменять?
Автор: Zloy_Gelud
Дата сообщения: 13.01.2011 08:45
KRAUSER0993
Во-первых, необходимо посмотреть, какое значение у тебя стоит в аргументах действия, которое закрывает диалоговое окно - DialogEx.Close(4) (в данном случае 4). Затем поправь код на этот:

Код: local cRes = DialogEx.Show("Dialog1", true, nil, nil);
-- если нажали на кнопку закрытия окна (крестик в правом верхнем углу)
if cRes == 2 or cRes == 4 then
-- здесь любые действия
Dialog.Message("Notice", "Закрыли диалоговое окно.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: KRAUSER0993
Дата сообщения: 13.01.2011 10:20
Zloy_Gelud

Большое спасибо!Получилось!

Добавлено:
У меня возник еще один вопрос:
Как сделать так, чтобы несколько CheckBox выделяли программы, которые хочется установить и через одну кнопку все выделенные проги устанавливались по очереди, по порядку, как в софтах?
Автор: VASYAKRN
Дата сообщения: 14.01.2011 00:52
падскажите как пользоватса стандартним listbox abo combobox d v ams8 как у Inno Setup Scripting 5.1 от Kindly
или дайте пример Inno Setup Scripting 5.1
Автор: lerik2703
Дата сообщения: 14.01.2011 17:59

Цитата:
Как сделать так, чтобы несколько CheckBox выделяли программы, которые хочется установить и через одну кнопку все выделенные проги устанавливались по очереди, по порядку, как в софтах?

Ну если файлов не много тогда можно так

Код: sFolderInstall=_SourceFolder.."\\Install\\"
tFileInstall={"Сократ\\SPERS41.EXE","CheMax\\chemaxrus105.exe","OceanRange2\\OceanRange2Rus_5910.exe","UPXShell\\Upx_Shell.exe"}
for x,sFileInstall in pairs(tFileInstall)do
if CheckBox.GetChecked("CheckBox"..x) then
sFolder = String.SplitPath(sFolderInstall..sFileInstall);
File.Run(sFolderInstall..sFileInstall, "", sFolder.Drive..sFolder.Folder, SW_SHOWNORMAL, true);
--Application.Sleep(50);
end
end
Автор: KRAUSER0993
Дата сообщения: 15.01.2011 05:41
lerik2703

А куда это написать?


Цитата:
Ну если файлов не много тогда можно так


А если файлов много, то какой скрипт?
Автор: lerik2703
Дата сообщения: 15.01.2011 08:57
KRAUSER0993
просто в собитие кнопки!

Цитата:
А если файлов много

а если много то тогда лучше будет воспользоваться внешней базой данных XML например вечером напишу!
Автор: Zloy_Gelud
Дата сообщения: 15.01.2011 10:21
KRAUSER0993 -- тоже пример.

On Preload страницы:

Код: --[[ Описание: Функция создает вертикальный список чекбоксов,
формируя их названия согласно названиям найденных папок
в папке Soft, находящейся рядом с исполняемым файлом.
Параметры: x - позиция по оси X
y - начальная позиция по оси Y]]

_MakeList = function(x, y)
local tblCheckBoxProps = {};
tblCheckBoxProps.FontName = "Verdana"; -- тип начертания
tblCheckBoxProps.FontSize = 8; -- размер шрифта
tblCheckBoxProps.FontScript = 204; -- кирил. набор символов
local nHeight = 15; -- высота чекбокса
tblCheckBoxProps.Height = nHeight ;
local nWidth = 200; -- ширина чекбокса
tblCheckBoxProps.Width = nWidth;
tblCheckBoxProps.X = x; -- отступ по оси Х
local tDirs = Folder.Find(_SourceFolder.."\\Soft", "*", false, nil);
if tDirs then
for i = 1, #tDirs do
local sDirPath = String.TrimRight(tDirs[i], "\\");
local sFoldername = String.Mid(sDirPath, (String.ReverseFind(sDirPath, "\\") + 1), -1);
tblCheckBoxProps.Text = sFoldername;
if i == 1 then
nY = y;
else
nY = y + (i - 1) * (nHeight + 2);
end
tblCheckBoxProps.Y = nY;
Page.CreateObject(OBJECT_CHECKBOX, "Chk_"..i, tblCheckBoxProps);
end
end
end

_MakeList(10, 10);
Автор: Elfog
Дата сообщения: 15.01.2011 14:51
Добрый день, я пользуюсь этой программой недавно - так вот у меня вопрос: при создании лист бокса, как сделать так чтобы на нажатие строчки в лист боксе меня переносило на страницу?
Там ведь в пунктах окна списка можно указывать только путь к файлу, а не к странице?
Автор: KRAUSER0993
Дата сообщения: 15.01.2011 16:06
Zloy_Gelud

У меня стоит AutoPlay Media Studio 7.5 может ли скрипт отличаться от 8 версии? А то мне написанные выше скрипты не подходят

1 код -создает только один CheckBox, хотя подпапок в папке Soft больше одной
2-код -нажимаю на кнопку, но ничего не происходит

И то это результат после исправления скриптов, без исправления выдает ошибки
Автор: Zloy_Gelud
Дата сообщения: 15.01.2011 18:29
Zloy_Gelud

Цитата:
У меня стоит AutoPlay Media Studio 7.5 может ли скрипт отличаться от 8 версии? А то мне написанные выше скрипты не подходят

Может и отличается.. У меня АМС 8.0.0.3.

Цитата:
1 код -создает только один CheckBox, хотя подпапок в папке Soft больше одной

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

Цитата:
2-код -нажимаю на кнопку, но ничего не происходит

Должно работать.

Для АМС 7.5 вроде так должно быть (не тестировал):
Изменение в первом коде:

Код: if tDirs then
for i = 1, Table.Count(tDirs) do
local sDirPath = String.TrimRight(tDirs[i], "\\");
Автор: Elfog
Дата сообщения: 15.01.2011 18:44
А мне помочь? Очень надо...
Автор: Zloy_Gelud
Дата сообщения: 15.01.2011 18:51
Elfog [Исправлено]

Цитата:
Там ведь в пунктах окна списка можно указывать только путь к файлу, а не к странице?

Можно вводить все что угодно.

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

Сначала в настройках объекта ListBox в столбце Item Data укажите названия ваших страниц, например, Page1, Page2 и т. д.

On Select ListBox'a:

Код: local tSel = ListBox.GetSelected("ListBox1");
if tSel then Page.Jump(ListBox.GetItemData(this, tSel[1])); end
Автор: Elfog
Дата сообщения: 15.01.2011 19:08
Zloy_Gelud, Ураа! Спасибо, помог! Вот только моя любознательность не даёт мне покоя, что означает

Код: (ListBox.GetItemData(this, tSel[1])

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

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


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