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

» Autoplay Media Studio

Автор: ubian
Дата сообщения: 27.02.2012 18:27
BlackPhoenix28
Нету, к сожалению...
Автор: Unique_nickname
Дата сообщения: 27.02.2012 19:41
ubian
может, ты и хотел, но написал полную чушь и человека запутал окончательно.
Именно поэтому иногда лучше жевать, чем говорить.

BlackPhoenix28
нет, конечно. Все эти вещи пишутся на раз. В твоем случае проще всего накопипастить в рядок кнопки и лейблы:


Цитата:
(имя кнопки - надпись на ней - имя лейбла правее кнопки)
Button1 - "Установка 1" - " Label1 "
Button2 - "Установка 2" - " Label2 "
Button3 - "Установка 3" - " Label3 "
Button4 - "Установка 4" - " Label4 "



Затем в OnShow страницы с кнопками прописать что-то вроде:

Цитата:
another_disc = "(это не тот диск, идиот)";
explain_1 = "Установка крайне нужной всем нам программы №1";
explain_2 = "Установка крайне нужной всем нам программы №2";
explain_3 = "Установка крайне нужной всем нам программы №3";
explain_4 = "Установка крайне нужной всем нам программы №4";
^^^^^^^^ проинициализировали переменные для будущего красивого кода

if File.DoesExist ("_SourceFolder\\Installer 1\\Setup.exe")
^^^^^^^^ если файл нашелся по факту
then Button.SetProperties("Button1", {Enabled=true, TooltipText=explain_1}); Label.SetText("Label1", explain_1);
^^^^^^^^ радуемся
else Button.SetProperties("Button1", {Enabled=false, TooltipText=another_disc}); Label.SetText("Label1", another_disc);
^^^^^^^^ иначе запрещаем кнопку и намекаем
end;

if File.DoesExist ("_SourceFolder\\Installer 2\\install.exe")
then Button.SetProperties("Button2", {Enabled=true, TooltipText=explain_2}); Label.SetText("Label2", explain_2);
else Button.SetProperties("Button2", {Enabled=false, TooltipText=another_disc}); Label.SetText("Label2", another_disc);
end;

if File.DoesExist ("_SourceFolder\\Installer 3\\unpack.exe")
then Button.SetProperties("Button3", {Enabled=true, TooltipText=explain_3}); Label.SetText("Label3", explain_3);
else Button.SetProperties("Button3", {Enabled=false, TooltipText=another_disc}); Label.SetText("Label3", another_disc);
end;

if File.DoesExist ("_SourceFolder\\Installer 4\\setupp.exe")
then Button.SetProperties("Button4", {Enabled=true, TooltipText=explain_4}); Label.SetText("Label4", explain_4);
else Button.SetProperties("Button4", {Enabled=false, TooltipText=another_disc}); Label.SetText("Label4", another_disc);
end;


Добавлено:
код не проверял, писал из головы, если что закралось - считай домашним заданием

P.S. и таки не перепаковывай mp3 в ogg, это в 99% идиотизм. Лучше возьми хороший лосслесс, он сейчас широко доступен.
Автор: rusmazel
Дата сообщения: 27.02.2012 20:45

Цитата:
http://bit.ly/wLK1SD


А как ее применить на деле не подскажете? У меня что-то ничего не получилось.
Как вот используя ее подключить FTP сервер используя авторизацию по логину и паролю?
Если не сложно, помогите пожалуйста.
Автор: Zloy_Gelud
Дата сообщения: 27.02.2012 20:57
rusmazel

Цитата:
А как ее применить на деле не подскажете? У меня что-то ничего не получилось.

У меня чет тоже. Постоянно эту ошибку выбивает:

Цитата:
ERROR_INVALID_NAME
123 (0x7B)
The filename, directory name, or volume label syntax is incorrect.

Если кто еще хочет попробовать - отдам свои наработки.

Цитата:
Как вот используя ее подключить FTP сервер используя авторизацию по логину и паролю?

Может стОит посмотреть в сторону стандарных действий с FTP или плагин FTP?
Автор: BlackPhoenix28
Дата сообщения: 27.02.2012 21:13
Unique_nickname

Спасибо. Попробую, отпишусь.
Автор: rusmazel
Дата сообщения: 27.02.2012 21:59

Цитата:
Может стОит посмотреть в сторону стандарных действий с FTP или плагин FTP?


Да так то можно, в целом там вполне достаточно встроенных средств для работы по FTP. Но хотелось бы, чтобы пользователь мог нажать одну кнопочку и в Сетевом окружении появлялся бы автоматически ярлык на нужный FTP сервер. Так в целом для многих удобнее, чем использовать сторонние приложения.
Автор: Zloy_Gelud
Дата сообщения: 27.02.2012 22:05
rusmazel -- все-таки осилил эту WinAPI функу.

Глобальные функции:

[more]
Код: NetShare = {};

-- Shares a server resource.

-- sServer - Specifies the DNS or NetBIOS name of the remote server on which the function is to execute. If
-- this parameter is blank, the local computer is used.]
-- sShare - Share name of a resource
-- nType - Contains the type of the shared resource.
-- sPath - Local path for the shared resource. For disks, this is the path being shared. For print queues,
-- this is the name of the print queue being shared.
-- sComment - [optional] String that contains an comment about the shared resource
-- nMaxUses - [optional] The maximum number of concurrent connections that the shared resource can accommodate. The
-- number of connections is unlimited if the value specified is –1.

-- Return: Success: True
-- Failure: False
NetShare.Add = function (sServer, sShare, nType, sPath, sComment, nMaxUses)
sComment = sComment or "";
nMaxUses = nMaxUses or -1;
local pServer = Memory.Allocate(512);
local pShare = Memory.Allocate(512);
local pPath = Memory.Allocate(512);
local pPwd = Memory.Allocate(512);
if sServer == "" then sServer = "127.0.0.1"; end
if String.Left(sServer, 2) ~= "\\\\" then sServer = "\\\\" .. sServer; end
local pComment = 0;
if sComment ~= "" then
local pComment = Memory.Allocate(512);
pComment = Memory.PutString(pComment, sComment, -1, "Unicode");
end
local pInfo = Memory.CreateStructure("int, int, int, int, int, int, int, int");

Memory.PutString(pServer, sServer, -1, "Unicode");
Memory.PutString(pShare, sShare, -1, "Unicode");
Memory.PutString(pPath, sPath, -1, "Unicode");
Memory.PutString(pPwd, "", -1, "Unicode");

Memory.SetStructureData(pInfo, 1, 0, pShare, "");
Memory.SetStructureData(pInfo, 2, 0, nType, "");
Memory.SetStructureData(pInfo, 3, 0, pComment, "");
Memory.SetStructureData(pInfo, 4, 0, 258, "");
Memory.SetStructureData(pInfo, 7, 0, pPath, "");
Memory.SetStructureData(pInfo, 5, 0, nMaxUses, "");
Memory.SetStructureData(pInfo, 6, 0, 0, "");
Memory.SetStructureData(pInfo, 8, 0, pPwd, "");

local sRes = DLL.CallFunction("netapi32.dll", "NetShareAdd", pServer..", 2,"..pInfo..",0", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);

Memory.Free(pServer);
Memory.Free(pPwd);
Memory.Free(pShare);
Memory.Free(pPath);
if pComment ~= 0 then Memory.Free(pComment); end
Memory.FreeStructure(pInfo);

return sRes == "0";
end

-- Deletes a share name from a server's list of shared resources.

-- sServer - Specifies the DNS or NetBIOS name of the remote server on which the function is to execute. If
-- this parameter is blank, the local computer is used.
-- sShare - Specifies the name of the share to delete

-- Return: Success: True
-- Failure: False
NetShare.Del = function (sServer, sShare)
if sServer == "" then sServer = "127.0.0.1"; end
if String.Left(sServer, 2) ~= "\\\\" then sServer = "\\\\" .. sServer; end
local pServer = Memory.Allocate(512);
local pShare = Memory.Allocate(512);
Memory.PutString(pServer, sServer, -1, "Unicode");
Memory.PutString(pShare, sShare, -1, "Unicode");
local sRes = DLL.CallFunction("netapi32.dll", "NetShareDel", pServer..", "..pShare..",0", DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
Memory.Free(pServer);
Memory.Free(pShare);
return sRes == "0";
end
Автор: rusmazel
Дата сообщения: 27.02.2012 23:17

Цитата:
rusmazel -- все-таки осилил эту WinAPI функу.


Прям таки подробно все изложил! Спасибо большое!
Только вот на сколько я понял подключить так FTP сервер не получится
Автор: ubian
Дата сообщения: 28.02.2012 20:03
Есть ли возможность как-нибудь повернуть картинку на 45, 67, 22 градусов ?
Автор: PAVELNEXT
Дата сообщения: 29.02.2012 18:13
Привет, подскажите плиз

есть текстовой файл с данными 01|02

как записать в первую переменную число до "|" и во вторую переменную число после "|"
Автор: ubian
Дата сообщения: 29.02.2012 20:52
PAVELNEXT
См. в lua string.math
Автор: Lexua
Дата сообщения: 29.02.2012 21:05
PAVELNEXT
Пишем функцию


Код: -- Delimited string to table
function dStringToTable(string, sep, k)
table = {};
x = 1;
delim_l = String.Length(sep);
    while true do
    a = String.Find(string, sep, 1, false);
        if a ~= -1 then
        b = String.Left(string, a - 1);
        else
        b = string;
        end
    table[x] = b;
        if a == -1 then
        return table;
        end
    lenght = String.Length(b);
    string = String.Mid(string, lenght + (delim_l + k), -1);
    x = x + 1;
    end
end
Автор: ubian
Дата сообщения: 29.02.2012 21:33
Lexua
Ничего так, но было бы проще на String.Match

Добавлено:

Код:
sRet = "01|02";
tRet[1] = String.TrimRight(String.TrimLeft(string.match(sRet, "(.*)|"), nil), nil);
tRet[2] = String.TrimRight(String.TrimLeft(string.match(sRet, "|(.*)"), nil), nil);
Автор: Lexua
Дата сообщения: 29.02.2012 22:27
ubian

Цитата:
Вот так думаю будет работать...


Не будет

А вот так будет

Код: sRet = "01|02";
tRet = {};
tRet[1] = String.TrimRight(String.TrimLeft(string.match(sRet, "(.*)|"), nil), nil);
tRet[2] = String.TrimRight(String.TrimLeft(string.match(sRet, "|(.*)"), nil), nil);
Автор: ubian
Дата сообщения: 29.02.2012 22:51
Lexua
Каждый способ на определенный случай... string.match можно не только так использовать...
Автор: Zloy_Gelud
Дата сообщения: 29.02.2012 23:09
Lexua
ubian

Тогда уж лучше так:

Код: s = "01|02|03|04";
t = {};
if String.Right(s, 1) ~= "|" then s = s .. "|"; end
for v in string.gmatch(s, "(.-)|+") do
t[#t + 1] = v;
end
Dialog.Message("Notice", Table.Concat(t, "\r\n", 1, TABLE_ALL), MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Автор: ubian
Дата сообщения: 29.02.2012 23:16
Zloy_Gelud
Ну, блин, пришел - весь кайф обломал
Классно!
Автор: PAVELNEXT
Дата сообщения: 01.03.2012 06:12
Всем спасибо
Автор: ubian
Дата сообщения: 01.03.2012 11:26
Zloy_Gelud
См. http://ams.ubian.ru/2012/03/string-divide/
Автор: Zloy_Gelud
Дата сообщения: 01.03.2012 12:06
ubian

Неужели все это будет работать?
Автор: ubian
Дата сообщения: 01.03.2012 12:23
Zloy_Gelud
Нужно бы до ума довести и использовать return
[more=Код]
Код: -- функция сохранения/чтения насторек из ini файла
-- первый параметр strPathIni - (строка) путь к файлу ini;
-- второй параметр (сторока) strAction действие значения "load" или "save"
IniFiles = function (strPathIni, strAction)
tblObjectType={};
tblObjectType[7]={name="OBJECT_INPUT", result = function (object) return Input.GetText(object); end};
tblObjectType[10]={name="OBJECT_COMBOBOX", result = function (object) return ComboBox.GetSelected(object); end};
tblObjectType[13]={name="OBJECT_RADIOBUTTON", result = function (object) return RadioButton.GetChecked(object); end};
tblObjectType[15]={name="OBJECT_CHECKBOX", result = function (object) return CheckBox.GetChecked(object); end};
-- типы объектов значения которых нужно сохранять/считывать из ini
if strAction=="load" then
if File.DoesExist(strPathIni) then
tblSection_names = INIFile.GetSectionNames(strPathIni);
             if tblSection_names then
             for index_section, section in pairs(tblSection_names) do
             tblAllValue_names = INIFile.GetValueNames(strPathIni, section);
             if tblAllValue_names then
             for index_value, value in pairs(tblAllValue_names) do
             if section == "OBJECT_INPUT" then
             Input.SetText(value, INIFile.GetValue(strPathIni, section, value));
             elseif section == "OBJECT_COMBOBOX" then
             ComboBox.SetSelected(value, INIFile.GetValue(strPathIni, section, value));
             elseif section == "OBJECT_RADIOBUTTON" then
             if INIFile.GetValue(strPathIni, section, value) == "true" then
             RadioButton.SetChecked(value, true);
             else
             RadioButton.SetChecked(value, false);
             end
             elseif section == "OBJECT_CHECKBOX" then
             if INIFile.GetValue(strPathIni, section, value) == "true" then
             CheckBox.SetChecked(value, true);
             else
             CheckBox.SetChecked(value, false);
             end
             end
             end
             end
             end
             end
end
             elseif strAction=="save" then
             object_names = Page.EnumerateObjects();
             error = Application.GetLastError();
if (error ~= 0) then
             Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
else
             if (object_names == nil) then
             Dialog.Message("Notice", "Нет объектов на текущей странице!", MB_OK, MB_ICONEXCLAMATION);
             else
             for index, object in pairs(object_names) do
             typeObj = Page.GetObjectType(object);
             if (tblObjectType[typeObj]) then
             local strSection = tblObjectType[typeObj].name;
             local strValue=object;
             local strData = tblObjectType[typeObj].result(object);
             INIFile.SetValue(strPathIni, strSection, strValue, tostring(strData));
             end
             end
             end
end
             end
end
Автор: Zloy_Gelud
Дата сообщения: 01.03.2012 12:46
ubian
Ну так сделай. Зачем постить то, что не работает, да еще и пишешь, что я эту недофункцию придумал.
Автор: Armo
Дата сообщения: 01.03.2012 13:46
Здравствуйте, подскажите пожалуйста, как сделать так, что бы при нажатии на картинку она плавно увеличилась в размере??? А возможно ли увеличение картинки, что бы она становилась больше окна Автозапуска???
Автор: socorvin
Дата сообщения: 01.03.2012 14:08
Как запустить в pdf-объекте файл, ссылка на который находится в на странице web-объекта?

То бишь есть в формате html список ссылок на pdf-файлы. При клике на ссылку нужно открывать pdf-файл в окне проекта. Можно ли это сделать и как?
Автор: Zloy_Gelud
Дата сообщения: 01.03.2012 15:27
Armo

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

Это устроит?

Цитата:
А возможно ли увеличение картинки, что бы она становилась больше окна Автозапуска???

Если только картинку открывать в отдельнои окне (DialogEx).
Автор: rokhlin
Дата сообщения: 01.03.2012 15:31
Добрый вечер, подскажите

В глобальных есть функция:


Код: --@@@@@@@@@@@@@@@@ загрузка рисунка @@@@@@@@@@@@@@
function MyAddr(myImg)
--Чтение файла в переменную--
MyAddr = TextFile.ReadToString("AutoPlay\\Docs\\Mysettings.set");
--Проверка значения файла если Izseti то используем сетевой путь--
if MyAddr == "Izseti" then
myImg = "\\\\192.168.0.251\\obmen\\IT\\inc".."\\myContacts\\img";

--Проверка значения файла если Izcomp то используем путь на локальной машине--
elseif MyAddr == "Izcomp" then
mydbFolderLocation = Shell.GetFolder(SHF_MYDOCUMENTS);
myImg = mydbFolderLocation.."\\myContacts\\img";
end
end
Автор: Stalkersof
Дата сообщения: 01.03.2012 16:19
Протестируйте пожалуста програмку.
http://narod.ru/disk/42451709001.0e58fcdec6805effe8d2a43f5bcb2ef6/Unistal.rar.html
Запуск программы от имени администратора.
Должна запустить сама себя от имени администратора.
Используется создание VBS файла который и перезапустит программу с правами админа через RunAS.exe(стандартная консольное приложение в системе вроде везде должна быть).
Вирусов и троянов нет даю слово.

На висте работает интересно как на других системах?
Автор: Lexua
Дата сообщения: 01.03.2012 19:08
rokhlin
Ну ведь функция у тебя не возвращает ничего. myImg передаётся функции в качестве аргумента, но ты его не используешь. И вот так зачем ?
Цитата:
myImg = "\\\\192.168.0.251\\obmen\\IT\\inc".."\\myContacts\\img";

если нужно так
myImg = "\\\\192.168.0.251\\obmen\\IT\\inc\\myContacts\\img"


Попробуй вот так изменить свою функцию


Код: function MyAddr()
--Чтение файла в переменную--
myAddr = TextFile.ReadToString("AutoPlay\\Docs\\Mysettings.set");
--Проверка значения файла если Izseti то используем сетевой путь--
if myAddr == "Izseti" then
myImg = "\\\\192.168.0.251\\obmen\\IT\\inc\\myContacts\\img";

--Проверка значения файла если Izcomp то используем путь на локальной машине--
elseif myAddr == "Izcomp" then
mydbFolderLocation = Shell.GetFolder(SHF_MYDOCUMENTS);
myImg = mydbFolderLocation.."\\myContacts\\img";
end
return myImg
end
Автор: ubian
Дата сообщения: 01.03.2012 20:48
Armo
См. Image.SetSize(); и DialogEx
socorvin
См. в часто задаваемых вопросах, немного нужно переделать
Автор: rokhlin
Дата сообщения: 02.03.2012 09:15
Lexua

Попробовал твой вариант, все равно ругается.
Самое главное при первом варианте работает, а при втором нет.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

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


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