FileSelectFolder
Отображает диалог выбора папки.
FileSelectFolder ( "dialog text", "root dir" [, flag = 0 [, "initial dir" [, hwnd ]]] )
Параметры
dialog text | Текст приветствия в диалоге. |
root dir |
Путь к текущей корневой папке. Это ограничивает выбор внутри неё. Используйте пустую строку "" чтобы установить Рабочий стол в качестве корневой папки. |
flag |
[необязательный] 1 = Показывать кнопку создания папки (требуется IE6.0 или старше) 2 = Использовать новый стиль диалога (требуется IE5.0 или старше) 4 = Показывать поле редактирования (для ввода пути) |
initial dir |
[необязательный] Полный путь к папке, которая будет выбрана/выделена при отображении диалога (при условии, что она существует внутри указанной корневой папки). По умолчанию нет (""). |
hwnd |
[необязательный] Дескриптор окна для использования его в качестве родительского по отношению к данному диалогу. |
Возвращаемое значение
Успех: | Возвращает полный путь к выбранной папке. |
Ошибка: | Возвращает "" (пустую строку) и устанавливает значение @error равным 1, если пользователь нажал кнопку "Отмена" или закрыл окно. |
Примечания
Если указан путь к папке в параметре initial dir, но она не существует в пределах указанной корневой папки, то будет выделенной корневая папка.См. также
FileSaveDialog, FileOpenDialogПример
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
; Пример 1
$hGui = GUICreate('Функция FileSelectFolder')
$iButton = GUICtrlCreateButton('-', 10, 10, 21, 21, $BS_ICON)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 4, 0)
GUISetState()
While 1
Switch GUIGetMsg()
Case $iButton
; пример с использованием GUI аналогичен для FileOpenDialog и FileSaveDialog
$sPath = FileSelectFolder('Выберите папку', '', 3, @DesktopDir, $hGui)
; продолжить цикл опроса от начала, если выбор отменён или объект не является папкой, например "Мой компьютер" или Корзина
If @error Or Not StringInStr(FileGetAttrib($sPath), "D") Then ContinueLoop
MsgBox(4096, 'Выбрана папка', $sPath)
Case $GUI_EVENT_CLOSE
GUIDelete($hGui)
ExitLoop
EndSwitch
WEnd
; Пример 2. Выбор ограничен внутри папки "Windows", с выбранной папкой "System32"
$sPath = FileSelectFolder('Выберите системную папку', @WindowsDir, 0, @SystemDir)
; продолжить цикл опроса от начала, если выбор отменён или объект не является папкой, например "Мой компьютер"
If @error Or Not StringInStr(FileGetAttrib($sPath), "D") Then Exit
MsgBox(4096, 'Выбрана папка', $sPath)