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

» Indigo Rose AutoPlay Media Studio

Автор: collagen
Дата сообщения: 21.09.2014 06:27
Подскажите кто в курсе, что означает "звездочка" перед названием параметра в справке по плагину MemoryEx? Например: *lpBuffer.
Автор: Zloy_Gelud
Дата сообщения: 21.09.2014 09:02
collagen -- что это pointer-тип пременной. Т.е. ссылка на место в памяти, где может хранится значение.
Автор: collagen
Дата сообщения: 21.09.2014 10:00
Zloy_Gelud Понятно. Тогда, я думаю, нужно сделать примечание в справке.

Автор: KerberX
Дата сообщения: 22.09.2014 21:19
Если кому не сложно, можете написать функцию распаковки из 7-Zip архива одного файла по его пути в архиве. Хоть через командную сроку 7-Zip хоть через либо другое.
Автор: collagen
Дата сообщения: 24.09.2014 11:09
Перевожу справку по плагину MemoryEx. В описании функции MemoryEx.AllowMemoryFunctions столкнулся, как мне кажется, с ошибкой.

Цитата:
This function allows you to disable that protection, by calling it with the argument 'false'.

Мой перевод: Данная функция, вызываемая с аргументом false (ложь), позволяет отключить эту защиту.
А на самом деле (понятно из дальнейшего описания параметра State), для отключения загрузки и вызова функций из памяти, параметр должен иметь значение true (истина). Или я не прав?
Кто работал с данной функцией, подскажите.
Автор: Zloy_Gelud
Дата сообщения: 24.09.2014 11:19
collagen

Цитата:
Или я не прав?

Правы.
Автор: KerberX
Дата сообщения: 24.09.2014 16:26
Можно как-то избавиться от белёсой рамки вокруг xButton (той что вокруг серой)?
Автор: leserg73
Дата сообщения: 24.09.2014 17:38

Цитата:
Можно как-то избавиться от белёсой рамки вокруг xButton (той что вокруг серой)?

Это зависит от выбранной темы Windows, от выбранной темы для кнопки, от выбранной темы для всего проекта. Для начала посмотрите свойства кнопки, вкладка "Settings", опция "Theme".
Автор: KerberX
Дата сообщения: 24.09.2014 17:44
Там на любой теме есть. В проекте стоит тема Office 2007 Scenic, но она не используется. Кнопка использует тему Windows. Но и на стандартной теме и на сторонней эта рамка есть в то время как на системных кнопках такой рамки нет.

Есть ли способ прикрепить к проекту тему (*.cjstyles, *.msstyles) и чтобы при этом не менялась рамка окна?
Автор: dodakaedr
Дата сообщения: 02.10.2014 23:14
Как создать условие чтобы при выбранной определенной радиокнопки создаваль запись в реестр?
Автор: Zloy_Gelud
Дата сообщения: 03.10.2014 08:05
dodakaedr

Событие On Click кнопки > действие Registry.CreateKey, Registry.SetValue
Автор: dallas page
Дата сообщения: 04.10.2014 00:23
Всем привет. Я решил уйти от технологии webdav и перейти на rest api. Хочу скачать файл с яндекс диска. Приложение (My Project) зарегистрировано, токен получен. В теле ответа приходит ссылка на скачивание файла, но скачивание через ams не происходит. Через браузер качает. Подскажите пожалуйста, где ошибка?

Код: sToken = "a04059f0848b4585828ce869000a9522";
sURL = 'https://cloud-api.yandex.net:443/v1/disk/resources/download?path=1.flac';

oHTTP = luacom.CreateObject("WinHttp.WinHttpRequest.5.1");
oHTTP:Open("GET", sURL, 0);
oHTTP:SetRequestHeader("Authorization", "OAuth " .. sToken);
oHTTP:Send("");

a = oHTTP.ResponseBody;
a = String.Replace(a, '{"href":', "", false);
a = String.Replace(a, '}', "", false);
a = String.Replace(a, ',"method":"GET","templated":false', "", false);
a = String.Replace(a, '"', "", false);

Dialog.Message("", oHTTP.ResponseBody .. "\r\n\r\n" .. a, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

HTTP.DownloadSecure(a, Shell.GetFolder(SHF_DESKTOP) .. "\\1.flac", MODE_BINARY, 20, 443, nil, nil, nil);
error = Application.GetLastError();
if error ~= 0 then
Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
else
Dialog.Message("", "OK", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: dallas page
Дата сообщения: 04.10.2014 11:34
Через браузер качает только если ты авторизован на яндексе. Попробовал сделать так:

Код: sToken = "a04059f0848b4585828ce869000a9522";
sURL = 'https://cloud-api.yandex.net:443/v1/disk/resources/download?path=1.flac';

oHTTP = luacom.CreateObject("WinHttp.WinHttpRequest.5.1");
oHTTP:Open("GET", sURL, 0);
oHTTP:SetRequestHeader("Authorization", "OAuth " .. sToken);
oHTTP:Send("");

a = oHTTP.ResponseBody;
a = String.Replace(a, '{"href":', "", false);
a = String.Replace(a, '}', "", false);
a = String.Replace(a, ',"method":"GET","templated":false', "", false);
a = String.Replace(a, '"', "", false);

Dialog.Message("", oHTTP.ResponseBody .. "\r\n\r\n" .. a, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Download.Start(Application.GetWndHandle(), a, Shell.GetFolder(SHF_DESKTOP) .. "\\1.flac", "", "Authorization: OAuth" .. sToken, false, nil, -1, "", "");
Автор: Zloy_Gelud
Дата сообщения: 04.10.2014 14:35
dallas page

Цитата:
Качает только 8кб

А ты думаешь у тебя кусок файла скачивается? Открой то, что скачалось, текстовым редактором и посмотри.

Если на диске есть файл 1.flac, то должно скачиваться:

Код: local sToken = "a04059f0848b4585828ce869000a9522";
local sURL = 'https://cloud-api.yandex.net:443/v1/disk/resources/download?path=1.flac';

local oHTTP = luacom.CreateObject("WinHttp.WinHttpRequest.5.1");
oHTTP:Open("GET", sURL, 0);
oHTTP:SetRequestHeader("Authorization", "OAuth " .. sToken);
oHTTP:Send();

local sLink
if (oHTTP.Status == 200) then sLink = oHTTP.ResponseBody:match('(http.-)"'); end

oHTTP = nil;

if sLink then
result = Download.Start(Application.GetWndHandle(), sLink, "C:\\1.flac", "", "Authorization: OAuth "..sToken, false, nil, -1, "", "");
end
Автор: dallas page
Дата сообщения: 04.10.2014 15:57

Цитата:
Если на диске есть файл 1.flac, то должно скачиваться

На диске он есть, если авторизоваться через браузер и вставить ссылку из тела, то скачивание происходит. А ams не качает, создает пустой файл 8кб. Может заголовок Authorization не правильно передается в коде Download.Start?
Автор: Zloy_Gelud
Дата сообщения: 04.10.2014 16:01
dallas page

Цитата:
А ams не качает, создает пустой файл 8кб.

AMS качает то, что ему отдают. Я тебе посоветовал посмотреть содержимое того, что скачалось.

Цитата:
Может заголовок Authorization не правильно передается в коде Download.Start?

Я написал проверенный код. Проверял на своем диске. Скачал 2 файла без проблем.
Автор: dallas page
Дата сообщения: 04.10.2014 16:48
Zloy_Gelud проверил и вот что обнаружил. Текстовые файлы (txt) скачивает без проблем, а jpg (2мб) и flac не хочет (в файле: Страница, которую вы читаете, не существует).
Автор: Zloy_Gelud
Дата сообщения: 04.10.2014 20:16
dallas page

Цитата:
а jpg (2мб)

JPG 250Kb скачал без проблем. Больше тестить нет желания.
Автор: dodakaedr
Дата сообщения: 05.10.2014 10:37
Как сделать кнопку "Обзор..." чтобы указать путь извлечения и чтобы этот путь записывался в "Input"?
Автор: dallas page
Дата сообщения: 05.10.2014 12:49
Zloy_Gelud в итоге получилось так:

Код: local sToken = "a04059f0848b4585828ce869000a9522";
local sURL = 'https://cloud-api.yandex.net:443/v1/disk/resources?path=%2F1.jpg';

local oHTTP = luacom.CreateObject("WinHttp.WinHttpRequest.5.1");
oHTTP:Open("GET", sURL, 0);
oHTTP:SetRequestHeader("Authorization", "OAuth " .. sToken);
oHTTP:Send();

if (oHTTP.Status == 200) then pKey = oHTTP.ResponseBody:match('(public_key":".-)"'); end
local pKey = String.Replace(pKey, 'public_key":"', "", false);
local pKey = String.Replace(pKey, "/", "%2F", false);
local pKey = String.Replace(pKey, "+", "%2B", false);
local pKey = String.Replace(pKey, "=", "%3D", false);

local sURL = 'https://cloud-api.yandex.net:443/v1/disk/public/resources/download?public_key=' .. pKey;

oHTTP:Open("GET", sURL, 0);
oHTTP:SetRequestHeader("Authorization", "OAuth " .. sToken);
oHTTP:Send();

local sLink
if (oHTTP.Status == 200) then sLink = oHTTP.ResponseBody:match('(http.-)"'); end

oHTTP = nil;

if sLink then
HTTP.DownloadSecure(sLink, "C:\\1\\001.jpg", MODE_BINARY, 20, 443, nil, nil, nil);
end
Автор: Zloy_Gelud
Дата сообщения: 05.10.2014 15:42
dallas page

Код: function escape (str)
local str = string.gsub (str, "\n", "\r\n");
str = string.gsub (str, "([^0-9a-zA-Z ])",
function (c) return string.format ("%%%02X", string.byte(c)) end);
str = string.gsub (str, " ", "+");
return str
end

--********************************************************************************************************
local sLink = "";

local sToken = "a04059f0848b4585828ce869000a9522";
local sURL = 'https://cloud-api.yandex.net:443/v1/disk/resources?path=1.jpg';

local oHTTP = luacom.CreateObject("WinHttp.WinHttpRequest.5.1");
oHTTP:Open("GET", sURL, 0);
oHTTP:SetRequestHeader("Authorization", "OAuth " .. sToken);
oHTTP:Send();

if (oHTTP.Status == 200) then
local sKey = oHTTP.ResponseBody:match('public_key":"(.-)"');
TextFile.WriteFromString("C:\\MyFile.txt", sKey, false);

sURL = 'https://cloud-api.yandex.net:443/v1/disk/public/resources/download?public_key=' .. escape(sKey);
oHTTP:Open("GET", sURL, 0);
oHTTP:Send();

if (oHTTP.Status == 200) then
sLink = oHTTP.ResponseBody:match('(http.-)"');
end
end
oHTTP = nil;
--********************************************************************************************************
if (sLink ~= "") then
HTTP.DownloadSecure(sLink, "C:\\001.jpg", MODE_BINARY, 20, 443, nil, nil, nil);
end
Автор: dallas page
Дата сообщения: 05.10.2014 15:53
Zloy_Gelud спасибо!!!
Автор: dodakaedr
Дата сообщения: 05.10.2014 15:56
dallas page
Спасибо! Не подскажите, реально ли с помощью AMS создать ярлыки на рабочий стол, папку в меню "Пуск" и закрепить на панели задач и в меню пуск?
Автор: dallas page
Дата сообщения: 05.10.2014 16:52
dodakaedr смотри действия Shell.CreateShortcut и Shell.GetFolder
Автор: dodakaedr
Дата сообщения: 05.10.2014 18:01
dallas page
что не правильно делаю? Не получается создать папку в меню пуск.

Цитата:
Shell.CreateShortcut(Shell.GetFolder('SHF_STARTMENUPROGRAMS\\My programm'), "Hello", "AutoPlay\\Docs\\setup.exe", "", "", "", 0, SW_SHOWNORMAL, nil, "", START_OPTION_DEFAULT);


и не получается закрепить ярлык в меню пуск

Цитата:
Shell.CreateShortcut(Shell.GetFolder(SHF_STARTUP), "My Programm", "AutoPlay\\Docs\\setup.exe", "", "", "", 0, SW_SHOWNORMAL, nil, "", START_OPTION_PIN);
Автор: Zloy_Gelud
Дата сообщения: 05.10.2014 19:04
dodakaedr

Цитата:
не получается закрепить ярлык в меню пуск

Ты хочешь закрепить ярлык на стартовом экране Windows 8?

Добавлено:

Цитата:
Не получается создать папку в меню пуск.

Неправильно указываешь путь к папке.

Код: Shell.CreateShortcut(Shell.GetFolder(SHF_STARTMENUPROGRAMS)..'\\My programm', "Hello", "AutoPlay\\Docs\\setup.exe", "", "", "", 0, SW_SHOWNORMAL, nil, "", START_OPTION_DEFAULT);
Автор: dodakaedr
Дата сообщения: 05.10.2014 19:45

Цитата:
Ты хочешь закрепить ярлык на стартовом экране Windows 8?

Нет в меню пуск на Windows 7.
Автор: Zloy_Gelud
Дата сообщения: 05.10.2014 19:50
dodakaedr

Цитата:
Нет в меню пуск на Windows 7.


Цитата:
Pin the Start menu shortcut to the Windows 8 Start screen. This option allows you to pin Start menu shortcuts that point to non-executables such as help files (however Microsoft discourages that).

Автор: dodakaedr
Дата сообщения: 05.10.2014 20:23
Zloy_Gelud
значить никак...
Автор: Zloy_Gelud
Дата сообщения: 05.10.2014 23:43
dodakaedr -- можно. Очень долго искал тебе решение этой проблемы. Хотел уже плюнуть на это.

Код: -- Const
SHELL_STARTMENU_PIN = 'startpin'; -- закрепить в меню "Пуск"
SHELL_STARTMENU_UNPIN = 'startunpin'; -- изъять из меню "Пуск"
SHELL_TASKBAR_PIN = 'taskbarpin'; -- закрепить на панели задач
SHELL_TASKBAR_UNPIN = 'taskbarunpin'; -- изъять из панели задач

-- Function
Shell.PinTo = function (sPath, cType)
if File.DoesExist(sPath) then
local tPaths = String.SplitPath(sPath);
local oShell = luacom.CreateObject("Shell.Application");
local oFolder = oShell:Namespace(tPaths.Drive..tPaths.Folder);
local oFolderItem = oFolder:ParseName(tPaths.Filename..tPaths.Extension);
oFolderItem:invokeverb(cType);
oShell = nil;
end
end

-- Example
-- sPath может быть либо ярлыком, либо файлом
Shell.PinTo(_SystemFolder.."\\calc.exe", SHELL_STARTMENU_PIN);

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

Предыдущая тема: память не может быть written


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