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

» Indigo Rose AutoPlay Media Studio

Автор: nachinayuschiy
Дата сообщения: 18.06.2013 12:20
Здравствуйте участники форума!
Я новичёк в авторанах, и при создании своего первого диска столкнулся с проблемой, которую мне долго не удаётся решить. Читал форум, искал через поиск, но ответа не нашёл.
Ситуация:
мне нужно сделать так, чтобы на странице запускалось воспроизведение видеофайла через оболочку АМС. Файл формата mp4 (avc n264).
При простом добавлении файла и предпросмотре - всё нормально. А вот после публикации авторана и запуске на другом компе - видео не воспроизводится, хотя кодеки все установлены и mp4 файлы воспроизводятся mpc плеером.
Пробовал запускать со страницы mpc плеер портэйбл, но он запускается отдельным окном и ничего не проигрывает.
Как устроить беспроблемный просмотр такого видео через оболочку АМС (не хочу показывать пользователю - где лежит и как называется видеофайл)?
Если скрипт, то где его прописывать?
Спасибо!
Автор: Zloy_Gelud
Дата сообщения: 18.06.2013 12:28
UModeL, dallas page -- можно обойтись и без создания промежуточного файла.

Код: local sPageYandex = HTTP.Submit("http://internet.yandex.ru/", {}, SUBMITWEB_GET, 20, 80, nil, nil);
local sIP = string.match(sPageYandex, "(%d+%.%d+%.%d+%.%d+)");
Dialog.Message("Notice", sIP, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Автор: dallas page
Дата сообщения: 18.06.2013 16:47

Цитата:
local sPageYandex = HTTP.Submit("http://internet.yandex.ru/", {}, SUBMITWEB_GET, 20, 80, nil, nil);
local sIP = string.match(sPageYandex, "(%d+%.%d+%.%d+%.%d+)");
Dialog.Message("Notice", sIP, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Zloy_Gelud спасибо. Подскажи пожалуйста, как выдернуть еще значение Регион? Заранее спасибо
Автор: UModeL
Дата сообщения: 18.06.2013 20:35
dallas page
Цитата:
как выдернуть еще значение Регион?

Код: -- Всё тоже самое...
local sPageYandex = HTTP.Submit("http://internet.yandex.ru/", {}, SUBMITWEB_GET, 20, 80, nil, nil);
-- ...но так как страницы Яндекса в кодировке UTF-8, а AMS это не любит,
-- то подключаем к проекту плагин Encoding и добавляем следующую строку
sPageYandex = Encoding.ConvertString(sPageYandex, "utf-8", "windows-1251");
-- А так же подставляем нужный паттерн для поиска
local sIP = string.match(sPageYandex, "Регион:%s([а-яА-ЯёЁ%-]+)");
Автор: KerberX
Дата сообщения: 18.06.2013 21:15
Как вообще работают эти функции string.match, String.gsub и т. п? С сайта Lua я ничего не понял, может где есть более толковое описание?
Автор: Zloy_Gelud
Дата сообщения: 18.06.2013 21:42
KerberX -- В шапке Lua.Ru
Автор: UModeL
Дата сообщения: 18.06.2013 21:48
KerberX
Цитата:
Как вообще работают эти функции string.match, String.gsub и т. п?
Да так же, как любые другие регулярки. Только экранирующий символ не слеш, а знак процента. И усечёное до нЕльзя.
Цитата:
С сайта Lua я ничего не понял, может где есть более толковое описание?
Действительно, написано мудрёно, но больше инфы, чем http://www.lua.ru/doc/ я не видел. Одни перепосты.
Например, string.find может иметь следующий синтаксис:
Код: nBegin, nEnd, sFindMatch = string.find(sSource, sPattern);
--[[ Где:
sSource - исходная строка;
sPattern - шаблон для поиска;
nBegin - номер первого символа найденной подстроки;
nEnd - номер последнего символа найденной подстроки;
sFindMatch - найденная по шаблону подстрока;
---------------------------------
nBegin, nEnd, sFindMatch = string.find("ололошадь", "о(ло[%w]-дь)");
nBegin - 4
nEnd - 9
sFindMatch - лошадь
]]
--
Автор: KerberX
Дата сообщения: 18.06.2013 22:44
А после процента может стоять любой символ? Или там какие то конкретные должны быть?
Автор: UModeL
Дата сообщения: 19.06.2013 00:11
KerberX
Конкретные
Автор: KerberX
Дата сообщения: 19.06.2013 00:42
О, вот это уже неплохо. Надо будет поэкспериментировать с этими функциями. Спасибо.
Автор: PAVELNEXT
Дата сообщения: 19.06.2013 07:39
Привет!

Собираю проект в папку на жёстком диске, всё нормально запускается проблем нет.

Собираю проект в "Записать как исполняемый файл (.exe)", в процессе сборки антивирус Аваст выдаёт - в файле найдена угроза (win32:evo-gen[susp]) и удаляет файл

Я ничего не могу понять от куда берётся это, сканировал комп, ничего подобного он не нашёл, Autoplay Media Studio 8.1 из шапки.

Кстати вот анализ файла virustotal.com , как вы можете заметить, ни один вирус включая Avast не ругается на файл.
Автор: Zloy_Gelud
Дата сообщения: 19.06.2013 10:34
PAVELNEXT -- у антивируса срабатывает проактивка, поэтому он считает файл подозрительным. По каким причинам он так считает, известно только ему. Может потому что архив запаролен? В общем, в данном случае - это паранойя антивируса. И файл необходимо добавить в исключения.
Автор: dallas page
Дата сообщения: 19.06.2013 13:39

Цитата:
-- Всё тоже самое...
local sPageYandex = HTTP.Submit("http://internet.yandex.ru/", {}, SUBMITWEB_GET, 20, 80, nil, nil);
-- ...но так как страницы Яндекса в кодировке UTF-8, а AMS это не любит,
-- то подключаем к проекту плагин Encoding и добавляем следующую строку
sPageYandex = Encoding.ConvertString(sPageYandex, "utf-8", "windows-1251");
-- А так же подставляем нужный паттерн для поиска
local sIP = string.match(sPageYandex, "Регион:%s([а-яА-ЯёЁ%-]+)");

UModeL спасибо.
Автор: Lexua
Дата сообщения: 20.06.2013 20:46

Цитата:
Может потому что архив запаролен?
100%
Автор: dallas page
Дата сообщения: 25.06.2013 19:42
Добрый вечер господа. Подскажите пожалуйста, столкнулся с проблемой. Есть объект ListBoxEx. При нажатии на кнопку происходит поиск файлов в папке Docs и все найденное заносится в него. Допустим, в папке Docs есть файлы 1.apk и 2.apk, а в папке Icons есть файлы 1.ico и 2.ico, т.е. названия файлов одинаковые. Мне нужно, чтобы при добавлении в ListBoxEx к файлу 1.apk присваивалась иконка 1.ico, и соответственно к файлу 2.apk присваивалась иконка 2.ico. Файлов в папке будет около 20. Столкнулся с проблемой, ко всем пунктам присваивается первая иконка, т.е. 1.ico. Подскажите пожалуйста, в чем проблема? Заранее спасибо.

Код в Global Functions:

Код:
tblIcons = {}

function GetIconIndex(sPath)

local tblpParts = String.SplitPath(sPath);
local sFileName = tblpParts.Filename..tblpParts.Extension;
local sExtension = String.Replace(tblpParts.Extension, ".", "", false);
local bDir = File.GetAttributes(sPath).Directory;
if(bDir) then return 1 end

if(tblIcons[sExtension] == nil ) then
tblIcons[sExtension] = ListBoxEx.AddAssocIcon("Plugin1", LBXASSOC_LARGEICON, sPath);
end
return tblIcons[sExtension];
end
Автор: Pazan
Дата сообщения: 26.06.2013 19:41
Robby

Цитата:
Пример My button.apz

можно повторить файл?
Автор: Vadim0211
Дата сообщения: 27.06.2013 10:37
Здравствуйте, я новичок в программировании, не могли бы вы мне показать работу с текстовыми файлами. (На примерах).
Я напишу, что меня интересует по пунктам. К каждому пункту прошу просто код (сценарий), дальше сам разберусь.

Для того, что бы было понятно, что именно я имею в виду, я дам ситуацию. Дано: Текстовый файл на корневом диске С. Информация в файле такая:

A37=F1K0=05
T29D6R447
P10Y7 B226

Итак,
1) Сценарий, чтобы вытащить из файла знак, который находится: строка = 2, порядковый номер = 4. То есть код (сценарий) вытащит из этого файла знак: D.
2) Сценарий, чтобы вытащить всю третью строчку до пробела. То есть код вытащит следующие знаки: P10Y7
3) Сценарий, чтобы вытащить знаки в первой строке, которые находятся между знаками =. То есть код вытащит следующие знаки: F1K0.

Заранее, спасибо!
Автор: Robby
Дата сообщения: 27.06.2013 10:38
Pazan
My button.apz
Автор: Zloy_Gelud
Дата сообщения: 27.06.2013 11:01
Vadim0211

Код: local tLines = TextFile.ReadToTable("C:\\MyFile.txt");
if tLines then
local sRet1 = string.sub(tLines[2], 4, 4);
local sRet2 = string.match(tLines[3], "^(.-)%s");
local sRet3 = string.match(tLines[1], "=(.-)=");
Dialog.Message("", sRet1 ..'\r\n'..sRet2 .. '\r\n' .. sRet3, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: Vadim0211
Дата сообщения: 27.06.2013 11:19
Спасибо, буду разбираться!)
Автор: dallas page
Дата сообщения: 27.06.2013 13:28
Вопрос снят. Сам додумался.

Код Global Functions:

Код: tblIcons = {}

function GetIconIndex(sPath)

local tblpParts = String.SplitPath(sPath);
local sFileName = tblpParts.Filename..tblpParts.Extension;
local sExtension = String.Replace(tblpParts.Extension, ".", "", false);
if(bDir) then return 1 end

tblIcons[sExtension] = ListBoxEx.AddAssocIcon("Plugin1", LBXASSOC_LARGEICON, sPath);

return tblIcons[sExtension];
end
Автор: Vadim0211
Дата сообщения: 27.06.2013 14:10
Хм.. Вставил попробовать код, а не работает: http://rghost.ru/47051631

Подскажите, что не так..


Цитата:
local tLines = TextFile.ReadToTable("C:\\MyFile.txt");
if tLines then
    local sRet1 = string.sub(tLines[2], 4, 4);
    local sRet2 = string.match(tLines[3], "^(.-)%s");
    local sRet3 = string.match(tLines[1], "=(.-)=");
    Dialog.Message("", sRet1 ..'\r\n'..sRet2 .. '\r\n' .. sRet3, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Автор: Zloy_Gelud
Дата сообщения: 27.06.2013 14:14
Vadim0211 -- Руссификатор в топку!
Автор: Vadim0211
Дата сообщения: 27.06.2013 14:17
Ок, сменю, а что с кодом?
Автор: Zloy_Gelud
Дата сообщения: 27.06.2013 14:18
Vadim0211 -- с кодом все в порядке. Это ошибка из-за установленного руссификатора.
Автор: Vadim0211
Дата сообщения: 27.06.2013 14:20
А у Вас случайно не "завалялось" нормального русификатора?
Или хотя бы подскажите какой лучше?
Автор: Zloy_Gelud
Дата сообщения: 27.06.2013 14:27
Vadim0211

Цитата:
А у Вас случайно не "завалялось" нормального русификатора?

Я им не пользуюсь.

Цитата:
Или хотя бы подскажите какой лучше?

Нет. Не подскажу. И вообще не советую ими пользоваться, ибо от них только "глюки".
Автор: Vadim0211
Дата сообщения: 27.06.2013 14:38
Ок, спасибо!

Хотя, ещё один вопрос:
Если это код для чтения нужной информации из файла:


local tLines = TextFile.ReadToTable("AutoPlay\\System\\test.txt");
if tLines then
local sRet1 = string.sub(tLines[2], 4, 4);
local sRet2 = string.match(tLines[3], "^(.-)%s");
local sRet3 = string.match(tLines[1], "=(.-)=");
Dialog.Message("", sRet1 ..'\r\n'..sRet2 .. '\r\n' .. sRet3, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
End

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

A37=F1K0=05
T29D6R447
P10Y7 B226

И мне нужно вставить (с заменой) знак F во вторую строку, четвёртый порядковый номер, то есть получится:

A37=F1K0=05
T29F6R447
P10Y7 B226

Подскажите такой код, плиз

PS Мне просто принцип понять..
Автор: Zloy_Gelud
Дата сообщения: 27.06.2013 15:28
Vadim0211 -- как вариант:

Код: local tLines = TextFile.ReadToTable("C:\\MyFile.txt");
local sReplaceChar = "F"; -- на что будем менять
if tLines then
local sRet1 = string.sub(tLines[2], 4, 4);
local sRet2 = string.match(tLines[3], "^(.-)%s");
local sRet3 = string.match(tLines[1], "=(.-)=");

Dialog.Message("", sRet1 ..'\r\n'..sRet2 .. '\r\n' .. sRet3, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

tLines[2] = String.Mid(tLines[2], 1, 3) .. sReplaceChar .. String.Mid(tLines[2], 5, -1);
TextFile.WriteFromTable("C:\\MyFile.txt", tLines, false);
end
Автор: Vadim0211
Дата сообщения: 27.06.2013 16:00
Я поставил более новую версию программы (8.0.7.0) без русификатора, а ошибка всё равно продолжается..
Ругается на строку: local sRet1 = string.sub(tLines[2], 4, 4);

В чём же дело?

Может быть ещё где-нибудь нужен код (например: в Global Functions, ...)?

Добавлено:
Я поставил более новую версию программы (8.0.7.0) без русификатора, а ошибка всё равно продолжается..
Ругается на строку: local sRet1 = string.sub(tLines[2], 4, 4);

В чём же дело?

Может быть ещё где-нибудь нужен код (например: в Global Functions, ...)?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

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


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