Доброго всем дня, подскажите пожалуйста, если в проекте я использую в названиях кнопок и т.п. не стандартные системные шрифты, нужно ли перед запуском системы устанавливать их в систему пользователя? И, если не затруднит, примерный скрипт такой операции, если она нужна конечно.
Добавлено:
Ещё вопрос. Мне хотелось бы сделать одну или ряд функций которые отвечали бы, для начала, только за названия кнопок главного меню и подменю каждой кнопки, задача решена лишь отчасти приведённым ниже кодом, однако есть но... В папке с контентом только первая папка содержит части, остальные три нет. В результате код называет первую кнопку, вторую и... и всё... ну и конечно кнопки с названиями частей. Поскольку мозг уже кипит, трудно сообразить что нужно или не нужно писать. Красным выделил места, которые, на мой взгляд, в ответе за недоработку.
Сразу хочу отметить, что если вдруг будет способ с XML - я не работал с ним вообще никогда и прибавив к этому то, что я только знакомлюсь с Lua...
Код:
-- Функция возвращает путь к папке с контентом--
function fGetContentPath()
local sContentPath = _SourceFolder.."\\"..(INIFile.GetValue("AutoPlay\\setting.ini", "Main", "SourseFolder"));
return sContentPath
end
-- Функция используется для поиска удовлетворяющих условие значений в функции ниже--
function fGetPartsName(tPartName)
local tPrtName = Folder.Find(tPartName, "*", false, nil);
local gPageObject = Page.EnumerateObjects();
if (gPageObject ~= nil) then
for nPartIndex, sNameButton in gPageObject do
if (String.Left(sNameButton, 4)=="Part" and (Page.GetObjectType(sNameButton)) == OBJECT_BUTTON) then
for n, s in tPrtName do
Button.SetText("Part"..n, String.SplitPath(tPrtName[n]).Filename);
else...
end
end
end
end
end
-- Пока эта функция отвечает за названия кнопок основного меню используя названия папок и должна будет называть кнопки подменю используя названия папок внутри тех, которыми названы кнопки меню--
function fSetMenuButName()
local gPageObject = Page.EnumerateObjects();
if (gPageObject ~= nil) then
for nIndex, sNameButton in gPageObject do
if (String.Left(sNameButton, 6)=="Button" and (Page.GetObjectType(sNameButton)) == OBJECT_BUTTON) then
local tFoldName = Folder.Find(fGetContentPath(), "*", false, nil);
for n, s in tFoldName do
Button.SetText("Button"..n, String.SplitPath(tFoldName[n]).Filename);
fGetPartsName(tFoldName[n])
end
end
end
end
end
Добавлено:
Ещё вопрос. Мне хотелось бы сделать одну или ряд функций которые отвечали бы, для начала, только за названия кнопок главного меню и подменю каждой кнопки, задача решена лишь отчасти приведённым ниже кодом, однако есть но... В папке с контентом только первая папка содержит части, остальные три нет. В результате код называет первую кнопку, вторую и... и всё... ну и конечно кнопки с названиями частей. Поскольку мозг уже кипит, трудно сообразить что нужно или не нужно писать. Красным выделил места, которые, на мой взгляд, в ответе за недоработку.
Сразу хочу отметить, что если вдруг будет способ с XML - я не работал с ним вообще никогда и прибавив к этому то, что я только знакомлюсь с Lua...
Код:
-- Функция возвращает путь к папке с контентом--
function fGetContentPath()
local sContentPath = _SourceFolder.."\\"..(INIFile.GetValue("AutoPlay\\setting.ini", "Main", "SourseFolder"));
return sContentPath
end
-- Функция используется для поиска удовлетворяющих условие значений в функции ниже--
function fGetPartsName(tPartName)
local tPrtName = Folder.Find(tPartName, "*", false, nil);
local gPageObject = Page.EnumerateObjects();
if (gPageObject ~= nil) then
for nPartIndex, sNameButton in gPageObject do
if (String.Left(sNameButton, 4)=="Part" and (Page.GetObjectType(sNameButton)) == OBJECT_BUTTON) then
for n, s in tPrtName do
Button.SetText("Part"..n, String.SplitPath(tPrtName[n]).Filename);
else...
end
end
end
end
end
-- Пока эта функция отвечает за названия кнопок основного меню используя названия папок и должна будет называть кнопки подменю используя названия папок внутри тех, которыми названы кнопки меню--
function fSetMenuButName()
local gPageObject = Page.EnumerateObjects();
if (gPageObject ~= nil) then
for nIndex, sNameButton in gPageObject do
if (String.Left(sNameButton, 6)=="Button" and (Page.GetObjectType(sNameButton)) == OBJECT_BUTTON) then
local tFoldName = Folder.Find(fGetContentPath(), "*", false, nil);
for n, s in tFoldName do
Button.SetText("Button"..n, String.SplitPath(tFoldName[n]).Filename);
fGetPartsName(tFoldName[n])
end
end
end
end
end