Описание функции


FileSelectFolder

Отображает диалог выбора папки.

FileSelectFolder('dialogtext','rootdir'[,flag=0[,'initialdir'[,hwnd]]])

Параметры

dialogtext Текст приветствия в диалоге.
rootdir Путь к текущей корневой папке. Это ограничивает выбор внутри неё. Используйте пустую строку '' чтобы установить Рабочий стол в качестве корневой папки.
flag [необязательный]
  1 = Показывать кнопку создания папки (требуется IE6.0 или старше)
  2 = Использовать новый стиль диалога (требуется IE5.0 или старше)
  4 = Показывать поле редактирования (для ввода пути)
initialdir [необязательный] Полный путь к папке, которая будет выбрана/выделена при отображении диалога (при условии, что она существует внутри указанной корневой папки). По умолчанию нет ('').
hwnd [необязательный] Дескриптор окна для использования его в качестве родительского по отношению к данному диалогу.

Возвращаемое значение

Успех:Возвращает полный путь к выбранной папке.
Ошибка:Возвращает "" (пустую строку) и устанавливает значение @error равным 1, если пользователь нажал кнопку "Отмена" или закрыл окно.

Примечания

Если указан путь к папке в параметре initialdir, но она не существует в пределах указанной корневой папки, то будет выделенной корневая папка.
Если корневая папка не существует, то ей станет Рабочий стол.
Установленный flag 1 = "Кнопка для создания каталога" может потребовать Windows XP с IE6 и старше для работоспособности.
Специальные каталоги Windows (такие как "Мои Документы") могут быть заданы корневыми при использовании правильного CLSID, указанного в приложении и в Дополнении №35.
UNC пути не поддерживаются. Если вы думаете, что пользователи могут выбрать файлы с UNC путем, то сначала путь должен быть подключен как диск.

Функцию можно подключить через команду exect
Для передачи пустой строки можно воспользоваться ключевым словом Null

См. также

FileSaveDialog, FileOpenDialog

Примеры:
 Как создать кнопку?


exect=$var_s=FileSelectFolder('Выберите~~каталог.','::{450D8FBA-AD25-11D0-98A8-0800361B1103}',1)||Eval('var_s')?_ViewValues('$var_s'):_Exit() ;; отображает диалог выбора папки. Если не выбрана, то выход

exect=$var_s=FileSelectFolder('Выберите~~каталог.',Null,1) ;; диалог выбора папки

exect=$var_s=FileSelectFolder('Выберите~~каталог.','"%P"',1,Null,WinGetHandle('[CLASS:TTOTAL_CMD]')) ;; диалог выбора папки с блокировкой окна (предотвращает доступ к указанному родительскому окну, пока существует диалог)


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru