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

» Autoplay Media Studio

Автор: Zloy_Gelud
Дата сообщения: 22.11.2011 12:15
davidgray
Можно попробовать сделать автообновление Рабочего стола, если только изображения в формате BMP. Если у тебя есть проект, который устанавливает в качестве рисунка Рабочего стола изображение не в формате BMP - можешь скинуть этот проект мне, я посмарю что там к чему.
Автор: davidgray
Дата сообщения: 22.11.2011 12:32
Zloy_Gelud

Что за функция автообновления рабочего стола?)) Проект на СД диске. Обои там в формате BMP. Но применяются они там сразу, без перезагрузок.

А можно сделать, что бы при клике на картинку, она сначала увеличивалась не много, а при следующем клике уменьшалась в исходный размер... )

ЗЫ: Обои сейчас применяются, но после перезагрузки только.
Автор: Zloy_Gelud
Дата сообщения: 22.11.2011 13:03
davidgray -- сделаем, даже лучше.

Добавлено:

Цитата:
Но применяются они там сразу, без перезагрузок.

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

Код: local tProp = Image.GetProperties(this);
local sImagePath = tProp.ImageFile;

Registry.SetValue(HKEY_CURRENT_USER, "Control Panel\\Desktop", "Wallpaper", sImagePath, REG_SZ);

-- Расположение: "По центру"
Registry.SetValue(HKEY_CURRENT_USER, "Control Panel\\Desktop", "TileWallpaper", "0", REG_SZ);
Registry.SetValue(HKEY_CURRENT_USER, "Control Panel\\Desktop", "WallpaperStyle", "0", REG_SZ);

local sAppPath = Shell.GetFolder(SHF_APPLICATIONDATA_LOCAL).."\\Microsoft";
local sRet = WinApi.ImageConvertTo(sImagePath, sAppPath.."\\_wallpaper.bmp");
if sRet == "OK" then
DLL.CallFunction("user32.dll", "SystemParametersInfoA", "20,0,\""..sAppPath.."\\_wallpaper.bmp\",1", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
end
Автор: davidgray
Дата сообщения: 22.11.2011 14:04
Zloy_Gelud

Ты гений) "Progressive trance" действительно рулит)

Все теперь работает, даже не верится)) Чуть позже скину архив с проектом (заливается), как пример организации просмотра изображения и установки его на рабочий стол.

Автор: ubian
Дата сообщения: 22.11.2011 18:04
кэк бы мне зделать функцию. Т.е. есть код, но как мне его не вставлять каждый раз. Этот код выравнивает любой обьект (зависит от переменных) в центр программы. Как мне его быстро вызывать ну по типу я выставляю переменную и данный код выполняется
Код

Код:
-----------------------------------------
--Please input object and o. type--------
local object = "window1"
local ObjectType = Image
local ObjectHeight = ObjectType.GetSize(object)
local ObjectWidht = ObjectType.GetSize(object)
-----------------------------------------
-------ObjectToCenter(function)----------
-----------------------------------------
local adispa = display.Height - 1014
local adispb = adispa / 2
local adispc = adispb - ObjectHeight.Height
local adispd = adispc / 2 --Get Y
local bdispa = display.Width - 1014;
local bdispb = bdispa / 2;
local bdispc = bdispb - ObjectWidht.Width
local bdispd = bdispc / 2; --Get x
ObjectType.SetPos(object, adispd, bdispd)
-----------------------------------------
-----------------------------------------
Автор: maxakul
Дата сообщения: 22.11.2011 22:07


Добрый вечер.
помогите плиз с проблемой пробовал делать как сказали

Цитата:
свой файл ххх.HTML закинь в корне проекта в папку Docs

потом в свойствах Label On click
Web.LoadURL("Web1", _SourceFolder.."\\AutoPlay\\Docs\\README.HTML#intro");

README.HTML <-замени на свой


скопировал в папку докс запускаю результат тотже к сожалению.
на скриншоте видно путь к файлу PROSTO.HTML, код и ошибку(((

подсобите плз что делаю не так...
у меня подозрение что _SourceFolder.. надо гдето прописывать чему равно, но не уверен...
пробовал просто Web.LoadURL("Web1", "\\AutoPlay\\Docs\\PROSTO.HTML");
результат к сожалению аналогичный.
ЗЫЫ у меня папка с проектом находится не по стандартному пути (см. скрин) может быть из-за этого проблема?
Спс за советы.
С уважением.
Автор: ubian
Дата сообщения: 23.11.2011 12:40
maxakul, попробуй

Код:
Web.LoadURL("WebObject", "AutoPlay\\Docs\\YourFile.HTML")
--YourFile.HTML change to your filename
--WebObject change to web object name
Автор: Stalkersof
Дата сообщения: 23.11.2011 13:10
ubian
http://narod.ru/disk/32234382001/My%20Project.apz.html
На первый вопрос частично. Только для Image и по центру окна программы.
Автор: ubian
Дата сообщения: 23.11.2011 13:33
Я в принцепе разобрался
В Global Functions

Код:
function ObjectCenter(ObjectName, ObjectType)
local ObjectHeight = ObjectType.GetSize(ObjectName)
local ObjectWidht = ObjectType.GetSize(ObjectType)
local WinSize = Window.GetSize(Application.GetWndHandle())
local adispc = WinSize.Height - ObjectHeight.Height
local adispd = adispc / 2 --Get Y
local bdispc = WinSize.Width - ObjectWidth.Width
local bdispd = bdispc / 2; --Get X
ObjectType.SetPos(ObjectName, adispd, bdispd)
end
Автор: lerik2703
Дата сообщения: 23.11.2011 13:41
Stalkersof

Цитата:
На первый вопрос частично

а если так!

Код: function g_CntImage(ObjectType,Name)
local t_WnSize, t_ObSize, ObX , ObY
t_WnSize = Window.GetSize(Application.GetWndHandle());
t_ObSize = ObjectType.GetSize(Name);
ObX = (t_WnSize.Width - t_ObSize.Width)/2;
ObY = (t_WnSize.Height - t_ObSize.Height)/2;
ObjectType.SetPos(Name, ObX, ObY);
end


g_CntImage(Image,"window1")
Автор: Stalkersof
Дата сообщения: 23.11.2011 13:58
lerik2703
Автор: ubian
Дата сообщения: 23.11.2011 14:21
lerik2703, It simply works!

Добавлено:
Просто

Код:
ObjectCenter("Label1", Label)
Автор: Stalkersof
Дата сообщения: 23.11.2011 14:34
ubian
function ObjectCenter(ObjectName, ObjectType)
local ObjectSize = ObjectType.GetSize(ObjectName)
--local ObjectWidht = ObjectType.GetSize(ObjectType)
local WinSize = Window.GetSize(Application.GetWndHandle())
local adispc = WinSize.Height - ObjectSize.Height
local adispd = adispc / 2 --Get Y
local bdispc = WinSize.Width - ObjectSize.Width
local bdispd = bdispc / 2; --Get X
ObjectType.SetPos(ObjectName, bdispd, adispd)
end
Автор: Zloy_Gelud
Дата сообщения: 23.11.2011 15:40
ubian -- еще вариант, только без указания типа объекта. Указывается только название объекта.

Код: Page.SetObjectCentred = function (obj)
local tObjects = {};
tObjects[0] = Button; tObjects[1] = Label; tObjects[2] = Paragraph;
tObjects[3] = Image; tObjects[4] = Flash; tObjects[5] = Video;
tObjects[6] = Web; tObjects[7] = Input; tObjects[8] = Hotspot;
tObjects[9] = ListBox; tObjects[10] = ComboBox; tObjects[11] = Progress;
tObjects[12] = Tree; tObjects[13] = RadioButton; tObjects[14] = RichText;
tObjects[15] = CheckBox; tObjects[16] = SlideShow; tObjects[17] = Grid;
tObjects[18] = PDF; tObjects[19] = QuickTime; tObjects[20] = xButton;
tObjects[40] = Plugin;

local tPageSize = Page.GetSize();

local nType = Page.GetObjectType(obj);
if nType ~= -1 then
local Object = tObjects[nType];
local tObjSize = Object.GetSize(obj)
Object.SetPos(obj, ((tPageSize.Width - tObjSize.Width) / 2), ((tPageSize.Height - tObjSize.Height) / 2));
end
end

Page.SetObjectCentred("xButton1");
Автор: Stalkersof
Дата сообщения: 23.11.2011 15:49
Zloy_Gelud
Автор: ubian
Дата сообщения: 23.11.2011 16:29
Возможно я ошибся кое-где т.к. писал на форум отдельно, а не копировал с рабочего варианта

Добавлено:
Zloy_Gelud, большое спасибо

Добавлено:
Ага, и как можно заменить
INIFile
на INSFile
с теми же действиями
например:
INSFile.GetValue() тоже самое что
INIFile.GetValue()
Автор: Zloy_Gelud
Дата сообщения: 23.11.2011 16:56
ubian

Код: INSFile = {};
INSFile.GetValue = INIFile.GetValue;
result = INSFile.GetValue(_WindowsFolder.."\\My Settings.ini", "My Section", "My Value");
Автор: AVM185
Дата сообщения: 23.11.2011 17:36
lerik2703

Здравствуйте! Навигация по темам происходит через Listbox. В моём проекте залиты лекционный материал, тест, задачки на каждую тему. и вот мне нужно сделать так чтобы если тема до конца не изучена то после закрытия программки и открытия её вновь она показывала материал , на котором закончилось изучение. а если тема полностью изучена то в List box на главной странице выводилась информация о том что она изучена.(в т.ч после закрытия) Возможно ли так сделать?
Автор: Zloy_Gelud
Дата сообщения: 23.11.2011 17:40
AVM185

lerik2703 имел ввиду, что как программа должна понимать, что тема изучена?
Автор: AVM185
Дата сообщения: 23.11.2011 17:49
Zloy_Gelud
по просмотру последней страницы с заданиями по теме
Автор: ubian
Дата сообщения: 23.11.2011 18:09
Кто хочет прикол? Я создал ЯП на основе AMS, платформонезависимый
Автор: Zloy_Gelud
Дата сообщения: 23.11.2011 18:41
ubian
Да ты что? Ну-ка в студию то, что ты наваял.
Автор: sjdb45
Дата сообщения: 23.11.2011 18:52
Zloy_Gelud
заполнение листбоксов из ини файла.
Как думаешь,
Page - On Preload

Код:
local tValueNames = INIFile.GetValueNames(_SourceFolder.."\\DataPack\\Settings.ini", "PROGS_01");
if tValueNames then
for i = 1, #tValueNames do
ListBox.AddItem("ListBox1", INIFile.GetValue(_SourceFolder.."\\DataPack\\Settings.ini", "PROGS_01", tValueNames[i]), "");
end
end
Автор: Zloy_Gelud
Дата сообщения: 23.11.2011 19:16
sjdb45 -- попробуй.

Код: for k = 1, 5 do
local tValueNames = INIFile.GetValueNames(_SourceFolder.."\\DataPack\\Settings.ini", "PROGS_0"..k);
if tValueNames then
for i = 1, #tValueNames do
ListBox.AddItem("ListBox"..k, INIFile.GetValue(_SourceFolder.."\\DataPack\\Settings.ini", "PROGS_0"..k, tValueNames[i]), "");
end
end
end
Автор: sjdb45
Дата сообщения: 23.11.2011 19:44
Error: 'for' invalid value must be a number

1: [Page1-> On Preload] Line: 1 in main chunk
Автор: Zloy_Gelud
Дата сообщения: 23.11.2011 19:51
sjdb45 -- епт, накосячил. Пост исправлен.
Автор: sjdb45
Дата сообщения: 23.11.2011 20:04
Работает!
Как всегда твой код супер!
Груду строк освободилось из-за этого
Many Tanks!
Автор: ubian
Дата сообщения: 23.11.2011 23:14
Щас пытаюсь конвертор кода сделать. А то только шифрованые INS файоы видит и читает под линексом...
Автор: Stalkersof
Дата сообщения: 24.11.2011 00:41
ubian А что это будет. Можно подробно.
Автор: Zloy_Gelud
Дата сообщения: 24.11.2011 13:58
sjdb45

Код: --Page - on preload:
for k = 1, 10 do
ListBox.DeleteItem("ListBox"..k, -1); -- очищаем ЛистБокс от предыдущих записей
local tValueNames = INIFile.GetValueNames(_SourceFolder.."\\WainakhXP\\Wainakh.ini", "LB_0"..k);
if tValueNames then
for i = 1, #tValueNames do
ListBox.AddItem("ListBox"..k, INIFile.GetValue(_SourceFolder.."\\WainakhXP\\Wainakh.ini", "LB_0"..k, tValueNames[i]), "");
end
end
end

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

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


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