FileOpenDialog
Отображает диалог открытия файла.
FileOpenDialog ( "title", "init dir", "filter" [, options = 0 [, "default name" [, hwnd ]]] )
Параметры
title | Заголовок диалогового окна. |
init dir |
Каталог, который будет открыт изначально в диалоговом окне. |
filter |
Типы файлов, доступные для выбора. Например (см. также примечания): "Все (*.*)" "Текстовые файлы (*.txt)" "Все (*.*)|Рисунки (*.bmp;*.gif;*.jpg)|Видео (*.avi;*.mpg)" |
options |
[необязательный] Опции диалога: сложите необходимые значения, чтобы использовать опции вместе. 1 = Файл должен существовать (если пользователем был выбран файл?) 2 = Путь должен существовать (если пользователем был выбран путь, оканчивающийся обратным слешем) 4 = Разрешить выбор нескольких объектов 8 = Выдать запрос на создание нового файла (если не существует) |
default name |
[необязательный] Имя файла по умолчанию, которое будет выбрано при создании диалога. По умолчанию нет (""). |
hwnd |
[необязательный] Дескриптор окна для использования в качестве родительского по отношению к этому диалоговому окну. |
Возвращаемое значение
Успех: | Возвращает полный путь и имена выбранных файлов. Результат для нескольких объектов: "Каталог|Файл1|Файл2|..." |
Ошибка: | Устанавливает значение @error |
@error: | 1 - ошибка при выборе файла. |
2 - неправильный фильтр. |
Примечания
Разделяйте фильтры выбора типов файлов с помощью точки с запятой, как указано в примере.См. также
FileSaveDialog, FileSelectFolderПример
$message = "Удерживайте клавиши Ctrl или Shift, чтобы выбрать несколько файлов."
$var = FileOpenDialog($message, @WindowsDir & "\", "Рисунки (*.jpg;*.bmp)", 1 + 4)
If @error Then
MsgBox(4096, "", "Не выбрано ни одного файла")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096, "", "Вы выбрали " & $var)
EndIf
; Множественная группа фильтров (категорий типов файлов)
$message = "Удерживайте клавиши Ctrl или Shift, чтобы выбрать несколько файлов."
$var = FileOpenDialog($message, @WindowsDir & "", "Рисунки (*.jpg;*.bmp)|Видео (*.avi;*.mpg)", 1 + 4)
If @error Then
MsgBox(4096, "", "Не выбрано ни одного файла")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096, "", "Вы выбрали " & $var)
EndIf