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

» Autoplay Media Studio

Автор: lorents
Дата сообщения: 02.03.2009 20:14
tavria2

Цитата:
Посмотрю позже...

ок, как сделать чтобы при закрытии проекта диалогого окна закрывался сам проект?
Автор: tavria2
Дата сообщения: 02.03.2009 20:42
Предотвращение повторного запуска пректа.
FileRunOnce1.1.apz | зеркало [11 Кб].
Автор: lorents
Дата сообщения: 13.06.2009 10:26
tavria2

Цитата:
Прибей процесс sfx-архива с помощью System.EnumerateProcesses, а затем удали sfx-архив.

сейчас попробуем

Цитата:
Он всегда будет извлекаться во временную папку Windows, путь к которой можно получить с помощью переменной _TempFolder.

это я понимаю, это был вопрос из интереса

Цитата:
Если нужно извлекать в какую нибудь другую папку - создавай sfx-архив вручную.

я почти так всегда и делаю с помощью 7-zip, к счастью в интеренете не мало готовых .sfx фалов для этого

Добавлено:
tavria2

Цитата:
Прибей процесс sfx-архива с помощью System.EnumerateProcesses, а затем удали sfx-архив.

тут такая проблема появилась

Код: function KillProcessTree(strProcessHost)
    for nPID, strFilePath in (System.EnumerateProcesses()) do
        if (String.Lower(String.SplitPath(strFilePath).Filename..String.SplitPath(strFilePath).Extension) == strProcessHost) then
            System.TerminateProcess(nPID);
        end
    end
end
tArgs = _CommandLineArgs;
if (Table.Count(tArgs) > 0) then
    if (String.Find(tArgs[Table.Count(tArgs)], "SFXSOURCE:", 1, false) ~= -1) then
        cPathSFX = String.Right(tArgs[Table.Count(tArgs)], String.Length(tArgs[Table.Count(tArgs)]) - 10);
        result = String.SplitPath(cPathSFX).Filename..String.SplitPath(cPathSFX).Extension;
        KillProcessTree(result);
        File.Delete(cPathSFX, false, false, false, nil);
    end
end
Автор: lorents
Дата сообщения: 02.03.2009 21:01
tavria2
еще пару проблем нашел:
1. при повторном запуске вот что происходит

конечно это исчезает через мгновение, но все таки

2. если в проекте первоначально запускается диалоговое окно и оно не закрыто при повторном запуске проекта код не работает
Автор: Zloy_Gelud
Дата сообщения: 02.03.2009 21:12

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

Значит кому-то придетсо( ) мониторить еще и дочерние окна (?).
Ух уже эти проблемы с унивесальностью..
Автор: Zloy_Gelud
Дата сообщения: 13.06.2009 13:58
lorents

Код: result = String.Lower(String.SplitPath(cPathSFX).Filename..String.SplitPath(cPathSFX).Extension);
Автор: tavria2
Дата сообщения: 02.03.2009 21:12
lorents

Цитата:
при повторном запуске вот что происходит

Это из-за того, что много времени уходит на очистку временных файлов при закрытии окна, если закрывать окно "аварийно" (CLOSEWND_TERMINATE), то думаю эта проблема исчезнет, но возникнет другая проблема с мусором во временной папке.

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

К сожалению сейчас нет времени этим заниматься.
Автор: lorents
Дата сообщения: 02.03.2009 21:44
tavria2
а ты не мог помочь с этим кодом

Код: instances_of_file = 0;
file_to_check_for = "setup.exe";
processes = Window.EnumerateProcesses();

for j, file_path in processes do
file = String.SplitPath(file_path);
if (String.Lower(file.Filename..file.Extension)) == file_to_check_for then
instances_of_file = instances_of_file + 1;
hWnd = j;
break;
end
end

if instances_of_file > 0 then
Window.SetOrder(hWnd, HWND_TOP);
else
File.Run("AutoPlay\\Docs\\Setup.exe", "", "", SW_SHOWNORMAL, false);
end
Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE);
Автор: lorents
Дата сообщения: 13.06.2009 18:37
Zloy_Gelud
спасибо!

тут у меня еще два вопроса появилось, прошу помочь:
1. как сделать, чтобы в объекте input горизонтальная и вертикальная полосы прокрутки появлялись при необходимости, т.е. чтобы они появлялись только тогда, когда например текст не умещается в размере объекта input?
2. может кто делал скачивание файла из интернета с использование прогресс бара, но что бы прогресс бар был в окне проекта?
Автор: tavria2
Дата сообщения: 03.03.2009 12:15
lorents
Попробуй вместо:
Код: Window.SetOrder(hWnd, HWND_TOP);
Автор: Zloy_Gelud
Дата сообщения: 13.06.2009 19:08
lorents

Цитата:
как сделать, чтобы в объекте input горизонтальная и вертикальная полосы прокрутки появлялись при необходимости, т.е. чтобы они появлялись только тогда, когда например текст не умещается в размере объекта input?

On Key объекта "Input1":

Код: local EM_GETLINECOUNT = 186; -- API-константа
local nVisibleLine = 7; -- макс. количество видимых линий в объекте
-- дескриптор объекта
local hWnd = Input.GetProperties("Input1").WindowHandle;
-- подсчитываем количество строк в объекте
local nLineCount = DLL.CallFunction("user32.dll", "SendMessageA", hWnd..","..EM_GETLINECOUNT..",0,0", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
-- если количество линий превышает макс. кол-во видимых
if (tonumber(nLineCount) > nVisibleLine - 1) and not b then
-- разрешаем прокрутки
Input.SetProperties("Input1", {VScrollbar = true,
HScrollbar = true
});
-- после установки прокрутки мы теряем фокус с объекта..
-- так что далее - это попытка вернуть объекту фокус и
-- установить курсор его на последнюю строку

Page.SetFocus("Input1");
Input.ScrollToLine("Input1", -1);
Input.SetSelection("Input1", (nVisibleLine+2)*2 + 1, -1);
b = true;
end
Автор: lorents
Дата сообщения: 03.03.2009 15:03
tavria2
работает, пока воспользуюсь этим кодом
СПАСИБО!!!
Автор: bedrik
Дата сообщения: 05.03.2009 04:13
Помогите с индикатором выполнения, никак не могу настроить чтоб показывал ход выполнения распаковки файла
Автор: lorents
Дата сообщения: 13.06.2009 20:31
Zloy_Gelud
СПАСИБО!!! ВСЕ СУПЕР!!!!
Автор: Zloy_Gelud
Дата сообщения: 05.03.2009 15:09
bedrik
Невозможно.
Автор: Zloy_Gelud
Дата сообщения: 14.06.2009 00:16
2All

На основе примера SystemProgress от tavria2 (+ добавил еще пару функций) сделал что-то типа плагина под названием WinProgress (надеюсь tavria2 не будет против ).
Возможные действия:

WinProgress.Create
WinProgress.GetHandle
WinProgress.GetCurrentPos
WinProgress.SetCurrentPos
WinProgress.GetRange
WinProgress.SetRange
WinProgress.SetStep
WinProgress.StepIt
WinProgress.GetPos
WinProgress.SetPos
WinProgress.IsVisible
WinProgress.GetSize
WinProgress.SetSize
WinProgress.SetVisible


Скачать: WinProgress v1.0

В архиве:

Скомпилированный скрипт WinProgress.luac
Файл действий _at_WinProgress.xml
Справка Help.html


З.Ы. Отписываемся о неточностях и багах, если таковые имеют место.

Автор: Lexua
Дата сообщения: 05.03.2009 15:23
bedrik
Распаковки из какого архива, из ZIP?
Автор: Zloy_Gelud
Дата сообщения: 05.03.2009 15:30
А, ну да, для Зипа можно callback функу наваять.
Автор: tavria2
Дата сообщения: 14.06.2009 00:45
Zloy_Gelud

Цитата:
надеюсь tavria2 не будет против

не будет

Код: -- Подключите скрипт WinProgress.luac на вкладке Глобальные функции Вашего проекта. Можно так:
require'WinProgress.luac;'
Автор: lorents
Дата сообщения: 05.03.2009 19:57
Zloy_Gelud
некоторое время назад ты помог написать вот этот вот код (для проверки определенной версии винды и установленных тех или иных программ)

Код: Page.StopTimer();
instances_of_file = 0;
file_to_check_for = "setup.exe";
processes = Window.EnumerateProcesses(true);
for j, file_path in processes do
    file = String.SplitPath(file_path);
    if (String.Lower(file.Filename..file.Extension)) == file_to_check_for then
        instances_of_file = instances_of_file + 1;
        hWnd = j;
        break;
    end
end
strIEVer = ir_GetIEVersion();
strFlashVer = ir_GetFlashAXVersion();
strVersion = "5.00.2195";
tblVersionInfo = System.GetOSVersionInfo();
strCurrentVersion = tblVersionInfo.MajorVersion .. "." .. tblVersionInfo.MinorVersion.. "." .. tblVersionInfo.BuildNumber;
if (String.CompareFileVersions(strVersion, strCurrentVersion) == 1) then
    Page.Jump("Page3");
else
    bOk = true;
    if (String.CompareFileVersions("9.0.0.0", strFlashVer) == 1) or (String.CompareFileVersions("6.0.0.0", strIEVer) == 1) then
        bOk = false;
    end
    if (bOk == false) then
        Page.Jump("Page2");
    else

        if instances_of_file > 0 then
            DLL.CallFunction("user32.dll", "OpenIcon", hWnd, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
            DLL.CallFunction("user32.dll", "SetForegroundWindow", hWnd, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
        else
            File.Run("AutoPlay\\Docs\\setup.exe", "", "", SW_SHOWNORMAL, false);
        end
    end
end
Window.Close(Application.GetWndHandle(), CLOSEWND_SENDMESSAGE);
Автор: lorents
Дата сообщения: 14.06.2009 09:51
Zloy_Gelud
ИМХО. Было бы не плохо сделать пример работы плагина
Автор: Zloy_Gelud
Дата сообщения: 05.03.2009 23:44
lorents

Цитата:
нельзя ли сделать так

Можно.
Автор: lorents
Дата сообщения: 07.03.2009 13:45
может кто знает
нужно сделать функцию печать нескольких картинок, но чтобы через диалоговое окно печати
Автор: AleksTrin
Дата сообщения: 14.06.2009 12:26
Ребята, есть два Inputа, надо сделать так, чтобы когда пишешь в первом инпуте адрес на файл, к примеру вот такой: http://www.files.ru/files/file.rar, то во втором инпуте сразу отображался путь назначения по умолчанию с именем файла из первого инпута, к примеру: C:\file.rar?

Добавлено:
Zloy_Gelud

А как сделать докачку файла, в выше описанном твоем примере!
Автор: bedrik
Дата сообщения: 08.03.2009 08:29

Цитата:
Zloy_Gelud



Цитата:
А, ну да, для Зипа можно callback функу наваять.




А можете помочь с этой callback функцией. Нужно показать ход распаковки zip архива.
Автор: Djon1970
Дата сообщения: 16.06.2009 12:04
Подскажите, пожалуйста, что это за ошибка? Выскакивает при запуске программы.
Автор: magistrfet
Дата сообщения: 08.03.2009 19:22
подскажите, искал но не нашел, был такой давно код для проверки обновлений авторана на сервере через текстовый файл, куда он делся-то.
Автор: Nik87
Дата сообщения: 16.06.2009 17:54
извините за глупый вопрос((( но я разместил обьект активный текст в котором изложены ссылки, проблемма в том что ссылки выделаются а перехода по ним не осуществляет, если кто нить знает как мне сделать чтобы всё работало то я буду очень признателен.
Автор: Zloy_Gelud
Дата сообщения: 08.03.2009 20:08
bedrik

Код: function Callback_ZIP(String, Percent, Status)
    -- Extracting: путь к папке назначения + извлекаемый файл
    Label.SetText("Label1", String);
    if (Status == ZIP_STATUS_MINOR) then                 -- для извлекаемого файла
        Progress.SetCurrentPos("Progress1", Percent);    -- процент распаковки
        Progress.SetText("Progress1", Percent.."%");    -- отображаем проценты
    elseif (Status == ZIP_STATUS_MAJOR) then            -- общий прогресс
        Progress.SetCurrentPos("Progress2", Percent);
        Progress.SetText("Progress2", Percent.."%");
    end
end

Zip.Extract("C:\\ArtMoney.zip", {"*.*"}, "C:\\My Folder", true, true, "", ZIP_OVERWRITE_NEVER, Callback_ZIP);
Автор: Edvin30
Дата сообщения: 09.03.2009 18:59
Помогите разобраться с вопросом. Раньше немного работал с AutoPlay Media Studio 4..., сейчас поставил AutoPlay Media Studio 6.0. Возникла такая проблема. Немогу на кнопку повесить функцию просмотра видео.
Как делаю:
Создаю кнопку-свойства-сценарий -действие-видео-Play
и вот в окошке ObejecnName не появляется мой файл. (Файл я предварительно загрузил в рабочую директорию - C:\Documents and Settings\Admin\Мои документы\AutoPlay Media Studio 6.0 Projects\My Project\CD_Root\AutoPlay\Videos).
Тоже самое происходит и с флеш-файлом, прога его не видит.
Подскажите, что я делаю не так?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: PHP RapidGet Pro V


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