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

» Indigo Rose AutoPlay Media Studio

Автор: qqwwrr
Дата сообщения: 02.09.2015 08:05
AntiWinLockerLive

Огромное спасибо! Как просто открывался этот ларчик (
Автор: kostya1478
Дата сообщения: 06.09.2015 17:01
2All
Что нужно написать в OnClick объекта Button1, чтобы в поле текста Paragraph1 при каждом нажатии Button1 загружалось содержимое файлов 1.txt, 2.txt и 3.txt? Заранее спасибо.
Автор: KerberX
Дата сообщения: 06.09.2015 17:08
kostya1478
Этот код будет загружать файлы 1.txt, 2.txt, 3.txt и дальше при каждом нажатии. Первое нажатие - 1.txt, второе - 2.txt и т. д.


Код: nCounter = 1;
--
local sPath = _SourceFolder.."\\"..nCounter..".txt";
local sText = TextFile.ReadToString(sPath);
nCounter = nCounter+1;
--
Paragraph.SetText("Paragraph1", sText);
Автор: kostya1478
Дата сообщения: 06.09.2015 17:33
KerberX

Спасибо за оперативность, но хз - 1.txt грузит, а дальше не подхватывает.
Автор: KerberX
Дата сообщения: 06.09.2015 17:38
kostya1478
Забыл написать что

Код: nCounter = 1;
Автор: kostya1478
Дата сообщения: 06.09.2015 17:57
Заработало. Теперь нужно чтобы по окончании списка файлов текст последнего после ещё одного нажатия Button1 не исчезал, а оставался... И как теперь сделать, чтобы на другой кнопке можно было всегда вернуться на нужное количество файлов в Paragraph1?

з.ы. KerberX, простите гуманитария))
Автор: Robby
Дата сообщения: 06.09.2015 18:59

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

текст исчезает потому, что, при очередном нажатии кнопки, файла со следующим номером не существует и sText = TextFile.ReadToString(sPath) возвращает пустую строку, которая потом и отображается в объекте параграф. Нужно вставлять проверку условия, например

Код: local sPath = _SourceFolder.."\\"..nCounter..".txt"; -- формируем путь к файлу
if File.DoesExist(sPath) then -- проверяем существует ли файл с таким номером
     -- если существует - получаем текст из файла, показываем его, увеличиваем счетчик
    local sText = TextFile.ReadToString(sPath); -- читаем текст из файла в переменную
    Paragraph.SetText("Paragraph1", sText); -- загружаем текст из переменной в объект параграф
    nCounter = nCounter+1; -- увеличиваем показания счетчика на 1
end
Автор: KerberX
Дата сообщения: 06.09.2015 19:06
kostya1478
Несколько более универсальный код.

Код: -- On Show страницы
nCounter = 1;
-- Создаём список .txt файлов
tTextFiles = File.Find(_SourceFolder, "*.txt", false, false, nil, nil);

-- On Click кнопки 1
local sPath = tTextFiles[nCounter];
if File.DoesExist(sPath) == true then
    local sText = TextFile.ReadToString(sPath);
    Paragraph.SetText("Paragraph1", sText);
    --
    if nCounter < #tTextFiles then
        nCounter = nCounter+1;
    end
end

-- On Click кнопки 2
if nCounter > 1 then
    nCounter = nCounter-1;
end
--
local sPath = tTextFiles[nCounter];
if File.DoesExist(sPath) == true then
    local sText = TextFile.ReadToString(sPath);
    Paragraph.SetText("Paragraph1", sText);
end
Автор: kostya1478
Дата сообщения: 06.09.2015 19:36
KerberX

В первом варианте работает, но при переходе назад к первому файлу, и нажатии ещё раз назад всё перестаёт работать. Немного напрягает и то, что после нажатия первой кнопки, вторая срабатывает только после второго нажатия, и наоборот.

Во втором варианте в On Click кнопки 1
if nCounter < #tTextFiles then -- выдаёт ошибку unexpected symbol near`#`
Автор: KerberX
Дата сообщения: 06.09.2015 19:39
kostya1478, похоже что функция не нашла .txt файлы в OnShow. Ты указал папку в функции File.Find(_SourceFolder, "*.txt", false, false, nil, nil);?
Автор: Robby
Дата сообщения: 06.09.2015 19:59
kostya1478

Цитата:
if nCounter < #tTextFiles then  -- выдаёт ошибку unexpected symbol near`#`


версия программы AMS какая?
Автор: kostya1478
Дата сообщения: 06.09.2015 20:05
Со вторым вариантом разобрался, работает. Мой косяк, наворочал такого, что не сразу въедешь. С первым вариантом во второй кнопке ругается на Syntax error: `=` expected near `nCounter` в строке If nCounter < 1 then. KerberX, в принципе, второго варианта достаточно, спасибо. Допилишь первый - тоже возьму на заметку.

Добавлено:

Цитата:
версия программы AMS какая?

Основная - 7.5, пересоздал в 8 - заработало. Тоже подумал на конфликт.
Автор: Robby
Дата сообщения: 06.09.2015 20:46
kostya1478
в седьмой версии нельзя использовать оператор длины/размера # потому, что он появился только в версии LUA 5.1. А в седьмой версии используется старая версия LUA. В седьмой версии нужно так Table.Count(tTextFiles)
Автор: De1ta
Дата сообщения: 07.09.2015 19:34
помогите пожалуйста сделать кнопку которая будет показывать 3 (01-99) случайных не повтаряющихся между собой номера в input окошках и маленькое окно где их будет запоминать до выключения проэкта...
типа

randomize
[хх] [хх] [xx]
history
[хх, хх, xx]
[хх, хх, xx]
[хх, хх, xx]
.
.
.
.


спасибо!
Автор: KerberX
Дата сообщения: 07.09.2015 20:30
De1ta
Это в On Show или в глобальные.

Код: function Table.Find(tTargetTable, nStartPos, vData, bCaseSensitive)
    if tTargetTable ~= nil then
        for x, y in pairs(tTargetTable) do
            if x >= nStartPos then
                if bCaseSensitive ~= true then
                    if String.Lower(y) == String.Lower(vData) then
                        return x
                    end
                else
                    if y == vData then
                        return x
                    end
                end
            end
        end
    end
end
--
tAllLines = {};
Автор: De1ta
Дата сообщения: 08.09.2015 08:46
огромное спасибо!

а какой шанс показывать каждый номер в своём input-е не повторясь между input-ами за одно нажатие и все input-ы показывать в одной строке в инпуте истории как показывает сейчас
Автор: KerberX
Дата сообщения: 08.09.2015 19:42
De1ta
То есть чтобы числа не повторялись ни в истории ни в текущем наборе или как? А то я ничего не понял.
Автор: De1ta
Дата сообщения: 09.09.2015 09:27
нет
надо 3 окна в которых появлаются *** и не повторяются между собой приодном нажатии
и 1 окно истории где их будет показывать (можно как и сейчас [*** , *** , ***])
Автор: KerberX
Дата сообщения: 09.09.2015 10:35
De1ta
Просто замени вот это

Код: Input.SetText("Input1", string.format("[%s]", table.concat(tLine, "] [", 1, #tLine)));
Автор: Pus21
Дата сообщения: 09.09.2015 17:29
А я тут всё-ещё вожусь со своею проблемой, которая, увы, волнует только меня:

Скачал программу CFF Explorer, в ней открыл исполняемый файл скомпилированного файла, поставил галочку напротив параметра "app can handle >2gb address space" и сохранил exe.

После этого "Autoplay Media Studio" перестала игнорировать большие файлы, но, большие файлы по прежнему не распаковываются, просто процесс весит на начале распаковки и не продвигается.

Может у кого нибудь есть идеи как побороть данный недуг, хеееелп...
Автор: KerberX
Дата сообщения: 09.09.2015 20:44
Pus21
Возможно этот проект тебе поможет. Проверь глобальные функции и код в On Click двух кнопок.

Добавлен исправленный код для Callback функции.
Для информации прочитать две страницы форума дальше.
https://yadi.sk/d/nc-des42nxHGS
Автор: kostya1478
Дата сообщения: 09.09.2015 23:00
Как правильно создать такое условие: если в Paragraph1 загружено содержимое файла 1.txt, то в Paragraph2.SetText "Текст один", иначе 2.txt - другой текст, 3.txt - третий и т.д.?
Автор: Pus21
Дата сообщения: 09.09.2015 23:52
KerberX
Спасибо, во первых мне уже интересно, поскольку используется другой 7-ZIP.dll, а не тот который использую я.

Но выдаёт ошибку отсутствия плагина \MemoryEx\MemoryEx.lmd, хотя он в указанной директории есть.
Автор: KerberX
Дата сообщения: 10.09.2015 02:23
Pus21
MemoryEx нужно подключить в проекте. Или может версия не та. Установи эту в "AutoPlay Media Studio\Plugins\Actions".
https://yadi.sk/d/EF18zTITiyfqE
Автор: Pus21
Дата сообщения: 10.09.2015 12:32
KerberX
При запуске
При сборке
При сборке если включить плагины

Может быть нудно устанавливать какие нибудь дополнения для "AutoPlay Media Studio"? У меня кроме русификатора нечего больше не стоит.
Автор: KerberX
Дата сообщения: 10.09.2015 13:29
Pus21
Нужно установить AMS PluginPowerPack 5.3 для AMS 8.x by Robby из Варезника. И лучше вообще не использовать русификатор.
Автор: Pus21
Дата сообщения: 10.09.2015 19:49
KerberX
Я знал что Вы так скажете, но у меня хороший русификатор, глюков с ним не замечал.

Да, после установки PluginPowerPack все заработало, но мне не очень понятно зачем вообще нужен этот 7zip плагин, ведь тоже самое можно сделать и через 7z.exe? Или окно 7-ZIP.dll можно убрать, а место него поставить ProgressBar?
Автор: AntiWinLockerLive
Дата сообщения: 10.09.2015 21:32
Pus21,
В этом примере есть свои преимущества, например распаковка запароленных архивов.
(если распаковывать с помощью 7z.exe, пароль можно увидеть в Process Explorer)

Ну и расширенные возможности, отображения прогресс бара и дополнительной информации в окне программы.

KerberX, откуда взяли этот проект, есть еще какая нибудь информация по нему?
Какие форматы поддерживает данная библиотека? (7-zip32.dll)
Библиотека плагинов не поддерживается? (7z.dll)

По мне, так очень сложно, для адаптации под свои проекты.
Автор: Pus21
Дата сообщения: 10.09.2015 22:51
AntiWinLockerLive
Мда, сложновато. А я вот наоборот сделал из 7z.exe минималистичный разбраковщик - ProgressBar и все, даже рамки убрал. Но из этого тоже можно все убрать, вопрос - зачем.
Автор: KerberX
Дата сообщения: 10.09.2015 23:40

Цитата:
Или окно 7-ZIP.dll можно убрать, а место него поставить ProgressBar?

Можно. Вот изменённый проект. Проверить On Startup.
https://yadi.sk/d/cDVy59K9izsv2


Цитата:
KerberX, откуда взяли этот проект, есть еще какая нибудь информация по нему?

DLL создал какой-то японец из оригинального 7-Zip. Документацию перевёл другой человек. Я нашёл эту DLL. Zloy_Gelud по моей просьбе сделал пример её использования и на основе этого примера я расширил функционал.


Цитата:
Какие форматы поддерживает данная библиотека? (7-zip32.dll)

Zip, 7z (LZMA, LZMA2, BZip2, PPMd). RAR и RAR5 не поддерживается.


Цитата:
Библиотека плагинов не поддерживается? (7z.dll)

Что за библиотека плагинов? Хотя, скорее всего, нет.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980

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


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