Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 5)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
local sDefaultFolder = Input.GetText("Out_dir");                                                        -- папка с файлами .nup
local sInSectionName = "update_info";                                                                    -- имя секции в файлах .nup с нужными данными
local sOutFileName = sDefaultFolder.."\\update.ver";                                                    -- путь+имя файла результата
 
local tFiles = File.Find(sDefaultFolder, "*.nup", false, false, nil, nil);                                -- таблица файлов .nup (путь+имя)
if (tFiles) then                                                                                        -- если есть файлы .nup
    -- в цикле обрабатываем каждый файл .nup
    for _, sFile in pairs(tFiles) do
        local tValueNames = INIFile.GetValueNames(sFile, sInSectionName);                                -- таблица имен элементов в секции "update_info"
        if (tValueNames) then                                                                            -- если секция "update_info" содержит элементы
 
            local tData = {};                                                                            -- создаем таблицу элементов из секции "update_info"
            -- в цикле обрабатываем каждую строку в секции "update_info"
            for _, sValueName in pairs(tValueNames) do
                tData[sValueName] = INIFile.GetValue(sFile, sInSectionName, sValueName);                 -- заполняем таблицу данных ( напрмер: [platform] = x86 )
            end
 
            local sOutSectionName = tData["name"];                                                        -- имя секции для данных в файле резултата
            if (sOutSectionName) then
                -- в цикле обрабатываем таблицу с данными из секции "update_info"
                for sIdx, sValue in pairs(tData) do
                    if (sIdx ~= "name") and (sIdx ~= "filesize") and (sIdx ~= "filename") and (sIdx ~= "crc") then
                        -- добавляем данные в файл результата, кроме указанных в условии...
                        INIFile.SetValue(sOutFileName, sOutSectionName, sIdx, sValue);
                    end
                end
                -- ручное добавление данных в файл результата
                local nFileSize = File.GetSize(sFile);                                                    -- размер текущего файла .nup
                local sFileName = String.SplitPath(sFile).Filename..String.SplitPath(sFile).Extension;    -- имя файла без пути
                INIFile.SetValue(sOutFileName, sOutSectionName, "size", nFileSize);
                INIFile.SetValue(sOutFileName, sOutSectionName, "file", sFileName);
            end
        end
    end
end

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 11:47 19-08-2012 | Исправлено: tavria2, 11:49 19-08-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 5)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru