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

» Autoplay Media Studio

Автор: firstdock
Дата сообщения: 12.08.2008 16:20
Добрый день. помогите пожалуйста, я делаю авторан слайдшой для свадебных фотографий сестры, как основу я взял готовый пример встроенный в 7 версию Autoplay Media Studio под названием Slideshow Maker немного добавил от себя кода, и полностью заменил внешний вид.. но никак не могу добавить код чтобы при запуске диска фотографии с папки svadba автоматически опредилялись в list box.. а то приходиться каждый раз нажимать кнопку Добавить. спасибо.







Добавлено:
zhezuma

Цитата:
Подскажите, будьте добры, как сделать, чтобы запускающаяся фоновая музыка отключалась после выполнения операции "Play multimedia" (слайд-шоу у меня)


при выполнении операции "Play multimedia" следующей строчкой внеси код

Audio.Stop(CHANNEL_BACKGROUND);

Автор: dark_horse
Дата сообщения: 12.08.2008 19:58
КАк сделать чтобы при нажатие на изображение в проекте, изображение открывалось во весь экран.
Автор: Zloy_Gelud
Дата сообщения: 12.08.2008 23:25
firstdock -- код из кнопки "Добавить" перенеси в On Preload станицы


dark_horse -- изображение или страница на весь экран?
Автор: dark_horse
Дата сообщения: 13.08.2008 00:31
Zloy_Gelud

изображение во весь экран

Возможно ли увеличить страницу на конкретные размеры
Автор: Zloy_Gelud
Дата сообщения: 13.08.2008 00:39
dark_horse -- пересмотрел я твой вопрос (вернее свой ответ )..

Цитата:
при нажатие на изображение в проекте, изображение открывалось во весь экран.

Думаю возможно только ето

Код: Dialog.SplashImage("AutoPlay\\Images\\indigorose.png", 0, true);
Автор: firstdock
Дата сообщения: 13.08.2008 14:26
Zloy_Gelud

возможно вы меня не правильно поняли..
если я просто перенесу в On Preload то он автоматом будет спрашивать папку где лежат эти фотки.. а мне надо чтобы загружались автоматом в лист бокс с определнной папки.
Автор: Zloy_Gelud
Дата сообщения: 13.08.2008 16:42
firstdock -- ну дык я думал ты сможешь немного тот код сам подправить
Ну а вообще уже много раз в ветке пробегал подобный код..так что учись на будущее юзать поиск.
Ну а вот пример

Код: function FillLB(sPathDir)
local tImgMask = {'*.bmp','*.pcx','*.tga','*.wmf','*.png','*.jpg','*.tif','*.psd','*.gif'};
for n , cImgMask in tImgMask do
tImgPaths = File.Find(sPathDir.."\\", cImgMask, false, false, nil, nil);
if (tImgPaths) then
for
nImgs, sImgPath in tImgPaths do
ListBox.AddItem("lbSlides", sImgPath, "");
end
end
end
end
-- sPathDir - путь к твоей папке
FillLB(sPathDir);
Автор: dark_horse
Дата сообщения: 13.08.2008 22:40
Когда создаешь пустой проект то появляется форма определенного размера, можно ли увеличить эту форму в самом зарождении проекта. А то я что то не нашел установки размеров.
Автор: Zloy_Gelud
Дата сообщения: 13.08.2008 23:08
dark_horse -- хм..Project Settings > Dimensios: выставляй свои размеры..
Автор: dark_horse
Дата сообщения: 14.08.2008 08:22

Цитата:
Zloy_Gelud



Цитата:
Dialog.SplashImage("AutoPlay\\Images\\indigorose.png", 0, true);


А почему пишется два слеша?
Автор: firstdock
Дата сообщения: 14.08.2008 16:03
Zloy_Gelud

огромное спасибо!!!! код полностью функционален.
Автор: Zloy_Gelud
Дата сообщения: 14.08.2008 17:28
dark_horse


Цитата:
А почему пишется два слеша?

Особенность такая понимаешь ли - все пути указываеются через двойной слеш.

Автор: ZheKA767
Дата сообщения: 16.08.2008 13:16
Подскажите реально ли вставить в авторун таблицу с скролбаром?
Автор: zhezuma
Дата сообщения: 16.08.2008 16:04

Цитата:
при выполнении операции "Play multimedia" следующей строчкой внеси код

Audio.Stop(CHANNEL_BACKGROUND);


Спасибо!

Друзья, подскажите, почему при выводе меню в формате Exe появляется белая хрената вот эта [img] [/img]

играет моя фоновая мелодия, слышны звуки наведения курсора, вот крестик закрытия виден и работает, а остальные элементы под белым покровом, а при нажатии на элемент, например, слайд-шоу, выдает "Ann error occurred The following file does not exist"

Хотя, если создавать папку проекта, или записать на диск - нормальное авторан меню отображает. А здесь белятина какая-то
Автор: Zloy_Gelud
Дата сообщения: 17.08.2008 23:12
zhezuma -- могу предположить что ты не прочитал шапку!?..а именно Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke
Автор: NightW0lf
Дата сообщения: 18.08.2008 21:27
Всем привет! Я сделал в своем проекте возможность переключение языков с английского на русский и обратно (текст этот содержится в файле “autorun.ini“ и расположен в соответствующих секциях), для кнопок и также для диалоговых сообщений, но вот я столкнулся с такой проблемой из-за которой не получается сделать переключение для диалоговых сообщений, а только если заменить сам текст в “autorun.ini“ для них, надеюсь что это возможно сделать и если да - то подскажите пожалуйста как именно это осуществить. Выкладываю пример с переключением языков. Заранее спасибо!
Автор: Lexua
Дата сообщения: 19.08.2008 10:33
NightW0lf
Вот твой исправленый и несколько причесаный код. Ошибку выделил красным. Не знаю для чего это тебе, если для изменения языка интерфейса то я бы реализовал переключение языков автоматически, используя функцию System.GetDefaultLangID()


Цитата:
--====================================================================================================
-- Переменные получаемые из файла autorun.ini
-----------------------------------------------------------------------------------------------------------------------------------
iPathINI = _SourceFolder.."\\autorun.ini"; -- путь к INI-файлу
--====================================================================================================
-- Ф-ция для запуска внешних файлов, находящихся рядом с самораспаковывающимся SFX-автораном
function GetSFXPath()
    strPath = "";
    strArg = _CommandLineArgs[1];
    if strArg then
        strPath = String.Right(strArg, String.Length(strArg) - 10);
    end
    if (String.Length(strPath) > 0) then
        tblPath = String.SplitPath(strPath);
        strPath = tblPath.Drive..tblPath.Folder;
    end
    return strPath;
end
-----------------------------------------------------------------------------------------------------------------------------------
-- !!!!Ф-ция чтения русских названий для "paragraph_id6" из "autorun.ini"
function GetENGTextFromINI()
    cID6_1 = INIFile.GetValue(iPathINI, "text_eng", "ID6_1");
    Paragraph.SetText("paragraph_id6", cID6_1);
    cConfirmExitTitle_1 = INIFile.GetValue(iPathINI, "messages_eng", "ConfirmExitTitle_1");
    cConfirmExitDialog_1 = INIFile.GetValue(iPathINI, "messages_eng", "ConfirmExitDialog_1");
end
-----------------------------------------------------------------------------------------------------------------------------------
-- !!!!Ф-ция чтения английских названий для "paragraph_id6" из "autorun.ini"
function GetRUSTextFromINI()
    cID6_2 = INIFile.GetValue(iPathINI, "text_rus", "ID6_2");
    Paragraph.SetText("paragraph_id6", cID6_2);
    cConfirmExitTitle_1 = INIFile.GetValue(iPathINI, "messages_rus", "ConfirmExitTitle_2");
    cConfirmExitDialog_1 = INIFile.GetValue(iPathINI, "messages_rus", "ConfirmExitDialog_2");
end
-----------------------------------------------------------------------------------------------------------------------------------
-- Ф-ция выхода из меню автозапуска
function ExitAutoPlayMenu()
        ConfirmExit = Dialog.Message(cConfirmExitTitle_1, cConfirmExitDialog_1, MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1); -- Вопрос
    if (ConfirmExit == IDYES) then
    Application.Exit(0); -- Выйти из проекта
    end
end
--=====================================================================================================
_SourceFolder = GetSFXPath(); -- SFX путь
--=====================================================================================================
Автор: NightW0lf
Дата сообщения: 19.08.2008 11:54
Lexua
Спасибо! теперь работает.
Автор: De1ta
Дата сообщения: 19.08.2008 15:28
a ктонить знает как обращаться с wТrаns.dll?
хотелось бы сделать при включении постепенно появляющююся страницу и при выходе исчезающюю (fading in/out)...
как это делается?
(желательно с таймером)
Автор: AleksejTokarev
Дата сообщения: 19.08.2008 22:13
Привет ребята!
Помогите разобраться.
Есть такой проблем, надо кодик каторый выключает комп, не перезагружает а выключает!!!

За рание благодарен светлым умам форума Ru.Board
Автор: De1ta
Дата сообщения: 19.08.2008 22:52
AleksejTokarev: если поможет то вот есть команды для ХР:

Код: http://technet.microsoft.com/en-us/library/bb491071.aspx
Автор: NightW0lf
Дата сообщения: 19.08.2008 23:36
@All
Я столкнулся с такой проблемой, что когда длинный текст читается из *.ini файла и в нем используется "\n" для переноса на новую строку - то этот способ не работает он просто отображает "\n" как часть текста, в моем случае этот текст используется для диалогового сообщения.
Автор: Zloy_Gelud
Дата сообщения: 19.08.2008 23:50
De1ta -- посмотри на сайте GOOSE'a или несколько страниц назад..пробегал вроде пример.


AleksejTokarev -- думаю так можно..но сам не проверял работоспособность..

Код: EWX_FORCE = 4; -- Закрывает все программы без приглашения сохранить файлы.
EWX_LOGOFF = 0; -- Отключает от сети. Аналог - войти в систему под другим именем. (Завершение сеанса [name]).
EWX_POWEROFF = 8; -- Завершает работу системы и если есть возможность выключает компьютер.
EWX_REBOOT = 2; -- Перезагружает компьютер.
EWX_SHUTDOWN = 1; -- Завершает работу и выключает питание, записывает все файловые буферы на диск, останавливает все работающие системные процессы.

result = DLL.CallFunction("user32.dll", "ExitWindowsEx", EWX_SHUTDOWN..", 0", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Автор: NightW0lf
Дата сообщения: 20.08.2008 01:49
Zloy_Gelud
Огромное спасибо! Все работает.
Автор: AleksejTokarev
Дата сообщения: 20.08.2008 08:23
De1ta

Ja 4toto tam ne rasobrlsjs

Zloy_Gelud

U menja ne srabotalo woobsche ni kakoj reakzii na kod
Автор: NightW0lf
Дата сообщения: 20.08.2008 10:55
AleksejTokarev

Цитата:
Zloy_Gelud
U menja ne srabotalo woobsche ni kakoj reakzii na kod

А ты составил функцию и повесил вызов этой функции на кнопку?
Автор: AleksejTokarev
Дата сообщения: 20.08.2008 11:04
NightW0lf

Opa na! Pohodu ja i tut ni 4o ne ponjal


Цитата:
А ты составил функцию и повесил вызов этой функции на кнопку?


Wot 4to ja sdelal:

1. Sosdal knopku
2. w On Click
Wibral mne nuznuju komandu i Basta


Код: EWX_SHUTDOWN = 1; -- Завершает работу и выключает питание, записывает все файловые буферы на диск, останавливает все работающие системные процессы.

result = DLL.CallFunction("user32.dll", "ExitWindowsEx", EWX_SHUTDOWN..", 0", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Автор: NightW0lf
Дата сообщения: 20.08.2008 11:46
AleksejTokarev

Цитата:
Zloy_Gelud
AleksejTokarev -- думаю так можно..но сам не проверял работоспособность..

Быть может в этом и есть проблема...
Автор: De1ta
Дата сообщения: 20.08.2008 14:00

Цитата:
De1ta -- посмотри на сайте GOOSE'a или несколько страниц назад..пробегал вроде пример.
здесь и там я не нашёл...
Автор: NightW0lf
Дата сообщения: 20.08.2008 14:08
Zloy_Gelud
Можешь помочь сделать условие чтобы проверялся параметр кол-во RAM т.е. например если 512 mb т.е. будет сообщение соответствующие. Вот твой код [more=Check_Sys_Requirements]
Код: Global Functions

function OSInfo()
    -- обозначаем переменные
    local sComputerName = "";
    local sCountry = "";
    local sLanguage = "";
    local sRegOwner = "";
    local sIP = "";
    local sOS = "";
    local sProcessorName = "";
    local sMHz = "";
    local sTotalRAM = "";
    local sDate = "";
    local sTime = "";
    local sDrives = "";


    -- таблица сведений о системе
    tOSInfo = {};

    --[[
        Имя компьютера
    ]]--
    -- имя компа берем из реестра

    local sComputerName = Registry.GetValue(HKEY_LOCAL_MACHINE, "System\\ControlSet001\\Control\\ComputerName\\ActiveComputerName", "ComputerName", true);
    -- если получили не пустую строку
    if (sComputerName ~= "") then

        -- добавляем значение в таблицу
        tOSInfo.ComputerName = sComputerName;
    end


    --[[
        Имя пользователя
    ]]--

    tOSInfo.RegOwner = System.GetUserInfo().RegOwner;

    --[[
        Операционная система
    ]]--
    -- название системы

    local sOSName = System.GetOSName();
    -- таблица версий ОС
    local tOSVersionInfo = System.GetOSVersionInfo();
    -- формируем строку инфы об операционке
    local sOS = sOSName.. " "..tOSVersionInfo.CSDVersion.." (build "..tOSVersionInfo.BuildNumber..")";
    tOSInfo.OS = sOS;


    --[[
        Процессор
    ]]--
    -- имя процессора

    local cProcessorName = String.TrimLeft(Registry.GetValue(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor\\0", "ProcessorNameString", true), nil);
    tOSInfo.ProcessorName = cProcessorName;

    -- частоа процессора
    cMHz = Registry.GetValue(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor\\0", "~MHz", true);
    tOSInfo.MHz = cMHz.." MHz";
    local tKernels = Registry.GetKeyNames(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor");
    if (tKernels) then

        -- количество ядер
        tOSInfo.KernelsNumber = Table.Count(tKernels);
    end


    --[[
        Оперативная память
    ]]--

    sTotalRAM = System.GetMemoryInfo().TotalRAM + 1 .. " Mb";
    tOSInfo.TotalRAM = sTotalRAM;


    --[[
        IP
    ]]--

    sIP = System.GetLANInfo().IP;
    tOSInfo.IP = sIP;


    --[[
        Страна
    ]]--

    sCountry = WinApi.GetLocaleInfo("1", "0x00000006");
    tOSInfo.Country = sCountry;


    --[[
        Язык
    ]]--

    sLanguage = WinApi.GetLocaleInfo("1", "0x00000002");
    tOSInfo.Language = sLanguage;


    --[[
        Системная дата
    ]]--

    sDate = System.GetDate(DATE_FMT_EUROPE);
    tOSInfo.Date = sDate;


    --[[
        Системное время
    ]]--

    sTime = System.GetTime(TIME_FMT_MIL);
    tOSInfo.Time = sTime;


    --[[
        Локальные диски
    ]]--

-----------------------------------------------------
    local function GetDrives()
        tDrives = {}
        local tDriveLetter = Drive.Enumerate();
        if (tDriveLetter) then
            for n, cDriveLetter in tDriveLetter do
                if (Drive.GetType(cDriveLetter) == 3) then
                    sSize = String.GetFormattedSize(Drive.GetSize(cDriveLetter)*1024^2, FMTSIZE_GB, true);
                    tDrives[Table.Count(tDrives) + 1] = {DriveLetter = String.Left(cDriveLetter, 2), Size = sSize}
                end
            end
        end
        return tDrives;
    end
-----------------------------------------------------
    local tDrives = GetDrives();
    for n, tDrive in tDrives do
        sDrives = sDrives..tDrive.DriveLetter.." - "..tDrive.Size.." всего\r\n ";
    end
    tOSInfo.Drives = sDrives;
    return tOSInfo;
end


On Preload

OSInfo();
Input.SetText("Input1", tOSInfo.ComputerName);
Input.SetText("Input2", tOSInfo.Country);
Input.SetText("Input3", tOSInfo.Language);
Input.SetText("Input4", tOSInfo.RegOwner);
Input.SetText("Input5", tOSInfo.IP);
Input.SetText("Input6", tOSInfo.OS);
Input.SetText("Input7", tOSInfo.ProcessorName);
Input.SetText("Input8", tOSInfo.KernelsNumber);
Input.SetText("Input9", tOSInfo.MHz);
Input.SetText("Input10", tOSInfo.TotalRAM);
Input.SetText("Input11", tOSInfo.Date);
Input.SetText("Input12", tOSInfo.Time);
Input.SetText("Input13", tOSInfo.Drives);

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Symantec Endpoint Protection - SEP


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