Stalkersof
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: --[[ ********************************************************************************** Function: g_GrupPageFolderBrowse Purpose: Обзор папки и заполняем поле ввода путем выбранной папки. Используем текст в поле ввода как путь к папке в folder browse dialog. Arguments: (number) nIDEditField - Имя поля редактирования (string) strPrompt - Текст в folder browse dialog Returns: Ничего. ********************************************************************************** --]] function g_GrupPageFolderBrowse(nIDEditField, strPrompt) -- Получение текущих свойств поля редактирования local tbEditProps = Input.GetProperties(nIDEditField); if(not tbEditProps) then -- Поле редактирования недоступно или не существует return; end -- Путь к папке Меню все программы. --Где GroupGame - папка с игрой по умолчанию --Изначально GroupGame будет при старте программы в Инпут local strBaseFolder = Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON) local strInitialFolder = "" if not (tbEditProps.Text == GroupGame) then strInitialFolder = strBaseFolder.."\\"..tbEditProps.Text; else strInitialFolder = strBaseFolder end -- Покажем диалог выбор папки, используя текущее содержимое поля -- Поле, как начальный путь к папке (папка для начала просмотра) local strTargetFolder = Dialog.FolderBrowse(strPrompt, strInitialFolder); if((strTargetFolder == "") or (strTargetFolder == "CANCEL")) then return; end -- Отсекаем путь оставляем только имя папки которое выбрали local nBaseFolderLength = String.Length(strBaseFolder); local nTargetFolderLength = String.Length(strTargetFolder); local strFolderName = String.Right(strTargetFolder, (nTargetFolderLength - nBaseFolderLength)); strFolderName = String.TrimLeft(strFolderName, "\\"); -- Проверка: --Если путь к папке которую мы выбрали не соответствует --Shell.GetFolder(SHF_STARTMENUPROGRAMS_COMMON) --Выводим в инпуте название папки по умолчанию local StrPathProverka = String.Left(strTargetFolder, nBaseFolderLength); if StrPathProverka == strBaseFolder then tbEditProps.Text = strFolderName; else tbEditProps.Text = GroupGame; end --заменим содержимое поля на путь к папке, которая была выбрана Input.SetProperties(nIDEditField, tbEditProps); end -- Вызываем функцию при нажатии кнопки обзор -- InpSelectGroup--имя текстового поля --Открываем папку для просмотра g_GrupPageFolderBrowse("InpSelectGroup", "Папка в Меню пуск") --PS -- изначально в InpSelectGroup выводим текст GroupGame --только один раз при запуске программы -- где GroupGame - переменная с именем папки установки | | Всего записей: 263 | Зарегистр. 20-03-2011 | Отправлено: 13:55 12-10-2011 | Исправлено: Stalkersof, 14:07 12-10-2011 |
|