Функция FileSaveDialog

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


FileSaveDialog

Отображает диалог сохранения файла.

FileSaveDialog ( "title", "init dir", "filter" [, options = 0 [, "default name" [, hwnd ]]] )

Параметры

title Заголовок диалогового окна.
init dir Каталог, который будет открыт изначально в диалоговом окне.
filter Типы файлов, доступные для выбора. Например (см. также примечания):
"Все (*.*)"
"Текстовые файлы (*.txt)"
"Все (*.*)|Рисунки (*.bmp;*.gif;*.jpg)|Видео файлы (*.avi;*.mpg)"
options [необязательный] Опции диалога: сложите необходимые значения, чтобы использовать опции вместе.
  2 = Путь должен существовать (если пользователем был выбран путь, оканчивающийся обратным слешем)
  16 = Выдать запрос на перезапись файла
default name [необязательный] Имя файла, которое будет выбрано при создании диалога. По умолчанию нет ("").
hwnd [необязательный] Дескриптор окна для использования в качестве родительского по отношению к этому диалоговому окну.

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

Успех:Возвращает полный путь и имя выбранных файлов. Результат для нескольких объектов: "Каталог|Файл1|Файл2|..."
Ошибка:Устанавливает значение @error
@error:1 - Ошибка при выборе файла.
2 - Неправильный фильтр.

Примечания

Разделяйте фильтры выбора типов файлов с помощью точки с запятой, как указано в примере.
Если необходимо использовать несколько групп фильтров, следует разделять их с помощью символа "|".

Если указано имя файла по умолчанию, опции диалога также должны быть указаны. Если нет необходимости их использовать, оставьте значение параметра равным 0.

Специальные каталоги Windows (такие как "Мои Документы") могут быть заданы корневыми при использовании правильного CLSID, указанного в приложении.

@WorkingDir изменяется при удачном выполнении функции.

См. также

FileOpenDialog, FileSelectFolder

Пример

; иные спец-каталоги смотрите в "Приложения --> CLSID" и в "Макросы --> Макросы каталогов"
$MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"

$sPath = FileSaveDialog("Выберите имя.", $MyDocsFolder, "Скрипт (*.aut;*.au3)", 2)
; параметр 2 = диалог остаётся пока не выбран валидный путь или файл

If @error Then
    MsgBox(4096, "", "Отмена сохранения.")
Else
    MsgBox(4096, "", "Вы выбрали " & $sPath)
EndIf

; Множественная группа фильтров (категорий типов файлов)
$sPath = FileSaveDialog("Выберите имя.", $MyDocsFolder, "Скрипт (*.aut;*.au3)|Текстовый файл (*.ini;*.txt)", 2)
; параметр 2 = диалог остаётся пока не выбран валидный путь или файл

If @error Then
    MsgBox(4096, "", "Отмена сохранения.")
Else
    MsgBox(4096, "", "Вы выбрали " & $sPath)
EndIf