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

» Autoplay Media Studio

Автор: Stalkersof
Дата сообщения: 19.10.2011 01:19
Объект создан с помощью Page.CreateObject. Возможно к этому объекту привязать действие. Надо чтоб при наведении, или при клике что то выполнялось.

PS. Уже не надо сделал по другому. Теперь точно показывает какая ошибка в строке. Но все таки ответ те на вопрос. Возможно полностью создать объект в коде и назначить на него действие.
Автор: Zloy_Gelud
Дата сообщения: 19.10.2011 12:19
Stalkersof

Код: -- имя нового объекта
local sNameNewObject = "rTgxyjUjc";

-- Image object properties table.
local tblImageProps = {};
tblImageProps.ImageFile = "AutoPlay\\Images\\630A01257.jpg";
tblImageProps.Height = 150;
tblImageProps.Width = 150;
tblImageProps.Y = 100;
tblImageProps.X = 100;
tblImageProps.UseTransColor = false;
tblImageProps.TransparentColor = Math.HexColorToNumber("FFFFFF");
tblImageProps.Opacity = 100;
tblImageProps.Tolerance = 10;
tblImageProps.HitTest = HITTEST_STANDARD;
tblImageProps.Cursor = CURSOR_ARROW;
tblImageProps.TooltipText = "";
tblImageProps.Visible = true;
tblImageProps.Enabled = true;
tblImageProps.ResizeLeft = false;
tblImageProps.ResizeRight = false;
tblImageProps.ResizeTop = false;
tblImageProps.ResizeBottom = false;
tblImageProps.ClickSound = SND_NONE;
tblImageProps.ClickSoundFile = "";
tblImageProps.HighlightSound = SND_NONE;
tblImageProps.HighlightSoundFile = "";

-- создаем объект
Page.CreateObject(OBJECT_IMAGE, sNameNewObject, tblImageProps);
-- скрипт
local sScript = [[Dialog.Message("Notice", "Your message here.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);]]
-- назначаем выполнение скрипта на событие On Click
Page.SetObjectScript(sNameNewObject, "On Click",sScript);
Автор: Stalkersof
Дата сообщения: 19.10.2011 12:46
Zloy_Gelud Спасибо. Интересовало только последние две строчки.
Автор: Zloy_Gelud
Дата сообщения: 19.10.2011 14:06
ubian

См. http://www.indigorose.com/webhelp/ams/Program_Reference/Actions/Database_Actions.htm
Автор: heatline2007
Дата сообщения: 19.10.2011 15:39
Уважаемые! Помогите, пжл, решить задачку: есть каталог, довольно объемный, нужно сделать фильтр по каталогу - чтобы юзер мог выбрать, что ему показывать из каталога, а что нет. Пробую реализовать фильтр с помощью checkbox. Можно реализовать такое: чтобы при выборе одного или нескольких checkbox остальные (не относящиеся по параметрам к этому checkbox) скрывались? А при снятии метки снова были видны все checkbox?
Автор: ubian
Дата сообщения: 19.10.2011 16:30
можно ли отделить записи. например в Input1 написано you;are;5565;name нужно сделать чтобы в Input2 было написано you в Input3 are и тд.. (Слова будут другие и с разным кол-во букв каждый раз)
Автор: Zloy_Gelud
Дата сообщения: 19.10.2011 17:32
ubian

Сначала подключи скрипт DelimitedStringFunctions.lua, например, в Глоб. функциях.
Затем скопируй куда необходимо:

Код: local strText = Input.GetText("Input1");
local tblText = DelimitedStringToTable(strText, ';');
for i = 1, #tblText do
Input.SetText("Input"..(i + 1), tblText[i]);
end
Автор: XITMAH
Дата сообщения: 20.10.2011 02:43
Подскажите какой нужно прописать код, чтоб когда один объект становился видимый, другой объект становился не видимым?

Автор: UModeL
Дата сообщения: 20.10.2011 02:59
XITMAH

Код: if Button.IsVisible("Button1") or Button.IsVisible("Button2") or Button.IsVisible("Button2") then
    Image.SetVisible("Image1", false);
else
    Image.SetVisible("Image1", true);
end
Автор: XITMAH
Дата сообщения: 20.10.2011 03:28
UModeL
Спасибо!
Автор: heatline2007
Дата сообщения: 20.10.2011 16:01
Zloy_Gelud

Цитата:
Добавлено:
heatline2007

См. действие CheckBox.SetChecked.


Мне кажется, что нужно каждому checkbox присвоить идентификатор какой-нибудь группы. И сделать так, чтобы при установке флажка в любой checkbox, все checkbox проверялись на наличие этого идентификатора, и при отсутствии его становились невидимыми. И обратно, при снятии флажка, опять проходит проверка все checkbox. Только как это сделать не пойму...
Автор: Stalkersof
Дата сообщения: 20.10.2011 21:30
heatline2007

Код: if CheckBox.GetChecked("CheckBox1")then
CheckBox.SetChecked("CheckBox2", false);
CheckBox.SetEnabled("CheckBox2", false);
CheckBox.SetChecked("CheckBox3", false);
CheckBox.SetEnabled("CheckBox3", false);
else
CheckBox.SetEnabled("CheckBox2", true);
CheckBox.SetEnabled("CheckBox3", true);
end
Автор: Zloy_Gelud
Дата сообщения: 21.10.2011 09:02
Stalkersof

Цитата:
Какой подход более правильный с точки зрения профессионалов.

Я не профессионал, но мое имхо, что вариант 3.
Автор: heatline2007
Дата сообщения: 21.10.2011 09:24
Stalkersof


Цитата:
Может так если я понял.


Да, то, что нужно. Спасибо.
Еще вопрос, а какой скрипт действует аналогично в tree с checkboxами?
Автор: Stalkersof
Дата сообщения: 21.10.2011 14:35
heatline2007

Цитата:
Еще вопрос, а какой скрипт действует аналогично в tree с checkboxами?

Так в tree не получиться. Может так.
On Check
Исправил теперь будет удалять и создавать только второй узел.

Код: if Tree.GetSelectedNode("Tree1") == "1" then
if Tree.GetNode("Tree1", "2").Text == "Item 2" then
Tree.RemoveNode("Tree1", "2");
else
Tree.InsertNode("Tree1", "2", {Text="Item 2",Data="Data for Item 2",Checked=false});
Tree.InsertNode("Tree1", "2.1", {Text="Item 2.1",Data="Data for Item 2.1",Checked=false});
Tree.InsertNode("Tree1", "2.2", {Text="Item 2.2",Data="Data for Item 2.2",Checked=false});
end
end
Автор: Zloy_Gelud
Дата сообщения: 22.10.2011 15:13
AMS Highlight - syntax highlighting AMS-code for posting on the forums v1.3



http://rghost.ru/26654541 ::: ~5.3 MB

PS. Write in PM, if you have comments or find bugs.
Автор: Stalkersof
Дата сообщения: 22.10.2011 18:08
Подскажите как сделать внешний файл с настройками.
вот для этого http://s017.radikal.ru/i407/1110/0f/8bc34b34c66c.jpg
Какой формат использовать. Желательно с возможностью писать комментарии.
Автор: Zloy_Gelud
Дата сообщения: 22.10.2011 18:18
Stalkersof

INI files.
Автор: Stalkersof
Дата сообщения: 22.10.2011 19:26
Zloy_Gelud То, что надо. Просто и не надо заморачиваться с двойными слешами Буду разбираться.
Автор: dallas page
Дата сообщения: 23.10.2011 12:01
Добрый день господа. Интересный вопрос. Как сделать так, чтобы программа определяла текущую температуру процессора, а значение вписывала в LABEL. Заранее спасибо.
Автор: Zloy_Gelud
Дата сообщения: 23.10.2011 13:06
dallas page

Если твоя материнская плата поддерживает ACPI, то должен работать такой код (подключи плаг luacom):

Код: function Escape(v)
if v == nil then return ""; end
if (type(v) == "table") then return Table.Concat(v, ";", 1, TABLE_ALL);
elseif (type(v) == "boolean") then
if v == true then return "Yes";
elseif (v == false) then return "No";
end
end
return v;
end

-- Generated by ScriptOMatic Tool for AutoPlay Media Studio

strComputer = "localhost";

OutputTitle = "";
Output = "";
OutputTitle = OutputTitle .. "Computer: " .. strComputer .. "\r\n";
OutputTitle = OutputTitle .. "==========================================\r\n\r\n";
objWMIService = luacom.GetObject("winmgmts:\\\\" .. strComputer .. "\\root\\WMI");
colItems = objWMIService:ExecQuery("SELECT * FROM MSAcpi_ThermalZoneTemperature", "WQL", 48);

if (colItems) then
local oEnum = luacom.GetEnumerator(colItems);
local objItem = oEnum:Next();
while objItem do
Output = Output .. "Active: " .. Escape(objItem:Active()) .. "\r\n";
strActiveTripPoint = Escape(objItem.ActiveTripPoint(0))
Output = Output .. "ActiveTripPoint: " .. strActiveTripPoint .. "\r\n";
Output = Output .. "ActiveTripPointCount: " .. Escape(objItem:ActiveTripPointCount()) .. "\r\n";
Output = Output .. "CriticalTripPoint: " .. Escape(objItem:CriticalTripPoint()) .. "\r\n";
Output = Output .. "CurrentTemperature: " .. Escape(objItem:CurrentTemperature()) .. "\r\n";
Output = Output .. "InstanceName: " .. Escape(objItem:InstanceName()) .. "\r\n";
Output = Output .. "PassiveTripPoint: " .. Escape(objItem:PassiveTripPoint()) .. "\r\n";
Output = Output .. "Reserved: " .. Escape(objItem:Reserved()) .. "\r\n";
Output = Output .. "SamplingPeriod: " .. Escape(objItem:SamplingPeriod()) .. "\r\n";
Output = Output .. "ThermalConstant1: " .. Escape(objItem:ThermalConstant1()) .. "\r\n";
Output = Output .. "ThermalConstant2: " .. Escape(objItem:ThermalConstant2()) .. "\r\n";
Output = Output .. "ThermalStamp: " .. Escape(objItem:ThermalStamp()) .. "\r\n";
if Dialog.Message("WMI Output", OutputTitle .. Output , MB_OKCANCEL, MB_ICONINFORMATION, MB_DEFBUTTON1) == 2 then break end
Output = "";
objItem = oEnum:Next();
end
else
Dialog.Message("WMI Output", "No WMI Objects Found for class: MSAcpi_ThermalZoneTemperature", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: dallas page
Дата сообщения: 23.10.2011 19:10
Zloy_Gelud, к сожалению не сработало. А если пойти другим путем. Если по пробовать на примере программы DriverPack solution. При запуске программы, запускается программа CPU-Z c параметрами:

-txt=C:\report
Создаст файл report.txt на диске С

--- или ---

-html=C:\report
Создаст файл report.html на диске С

В отчете есть текст:

Hardware monitor    Intel Core i5 750
    Power 0        109.03 W (Processor)
    Temperature 0    54°C (129°F) [0x2D] (Core #0)
    Temperature 1    55°C (131°F) [0x2C] (Core #1)
    Temperature 2    51°C (123°F) [0x30] (Core #2)
    Temperature 3    56°C (132°F) [0x2B] (Core #3)


Можно ли как нибудь выташить данные из файла отчета? Заранее спасибо.
Автор: Zloy_Gelud
Дата сообщения: 23.10.2011 20:35
dallas page
Можно вытащить таким кодом:

Код: local strReport = TextFile.ReadToString("C:\\report.txt");
for w in string.gmatch(strReport, "Temperature%s%d%s(.-)%s") do
Dialog.Message("Notice", w, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: dallas page
Дата сообщения: 23.10.2011 22:10
Zloy_Gelud спасибо
Автор: heatline2007
Дата сообщения: 24.10.2011 11:06
Stalkersof


Цитата:
Так в tree не получиться. Может так.


Да, в tree как-то плохо получается...


Цитата:
Исправил теперь будет удалять и создавать только второй узел.

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

Попробовал вариант просто с checkbox, наткнулся на новую проблему - если скрипт одного checkbox, противоречит скрипту другого checkbox начинается путаница. Например, когда выбираешь checkbox1, должны оставаться активированными checkbox 3 и 4, а 5 и 6 скрываться. Когда выбираешь checkbox 2 должны оставаться активированными checkbox 5 и 6, а 3 и 4 скрываться. Когда флажки ставятся и на checkbox1 и на checkbox2, то по идее все checkbox должны быть активированными, а по факту выполняется скрипт, присвоенный последнему нажатому checkbox. Это как-нибудь можно поправить?
Автор: Stalkersof
Дата сообщения: 24.10.2011 12:50
heatline2007

http://narod.ru/disk/29325464001/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80.rar.html
Автор: heatline2007
Дата сообщения: 24.10.2011 16:15
Stalkersof
Спасибо! Попробую.
А если, проверять надо больше checkbox? Правильно ли будет так написать:

Код:
if then

if not
else
end

if not
else
end

else
end
Автор: Zloy_Gelud
Дата сообщения: 24.10.2011 16:21
heatline2007


Цитата:
Программа работает с массивами?

Работает.
Tables (Arrays)
Автор: Stalkersof
Дата сообщения: 24.10.2011 16:33
heatline2007
Да сколько угодно. Тут вот в чем дело как бы не запутаться. Может надо по другому делать. Посмотри на предыдущей странице там 4 варианта может подойдет чего.
И вот подправил получше вроде.
http://narod.ru/disk/29349350001/%20ChecBoxProject2.rar.html
Для задания нескольких свойств можно сделать так.
CheckBox.SetProperties("CheckBox3", {Checked = true, Enabled = true});
В два раза меньше
Автор: heatline2007
Дата сообщения: 24.10.2011 18:30
Zloy_Gelud
Stalkersof
я тут попытался что-то типа массива из CheckBox сделать - получилась лажа - не работает конечно.

Код:
my_red = { "CheckBox1"};
my_round = { "CheckBox1", "CheckBox2", "CheckBox3"};
my_green = { "CheckBox1", "CheckBox3"};
if CheckBox.GetChecked("CheckBox_green")then
    CheckBox.SetChecked("my_red", false);
    CheckBox.SetChecked("my_round", false);
    CheckBox.SetChecked("my_green", true);
    else
    CheckBox.SetChecked("my_red", true);
    CheckBox.SetChecked("my_round", true);
    CheckBox.SetChecked("my_green", false);
end

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

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


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