Function OpenFileRequester(ByRef Title As String, ByRef curentdir As String, ByRef Pattern As String = "All files(*.*)"+Chr(0)+"*.*"+Chr(0), ByVal flag As Integer=0, ByRef templateName As String = "", ByVal hParentWin as HWND = 0) As String
Открывает диалоговое окно для открытия файла(ов). Внимание: для UNICODE версии библиотеки в качестве разделителей вместо CHR(0) нужно использовать символ |
Title - Название диалогового окна
curentdir - Директория для открытия файла
Pattern - Маска нужных типов файлов для открытия
flag - флаг , может быть:
Для Linux и Windows:
OFN_ALLOWMULTISELECT - Разрешает выбирать несколько файлов сразу
Только для Linux:
OFN_DIRECTORY - выбор папок
Только для Windows:
OFN_CREATEPROMPT - Если пользователь указал файл, которого не существует, то диалог запросит разрешение создать новый файл с указанным именем. Если пользователь выберет создание нового файл, то диалог закроется и вернет указанное имя, в противном случае диалог останется открытым.
OFN_ENABLEHOOK - Разрешает применение перехватывающей процедуры, определенной в параметре lpfnHook.
OFN_ENABLETEMPLATE - показывает, что параметр lpTemplateName указывает на ресурс шаблона диалога в модуле, который указан в параметре hInstance.
OFN_ENABLETEMPLATEHANDLE - показывает, что параметр hInstance определяет блок данных, который является пред-загружаемым шаблоном.
OFN_EXTENSIONDIFFERENT - показывает, что пользователь ввел расширение, которое отличается от расширения, используемого в параметре lpstrDefExt. Этот флаг не используется, если флаг lpstrDefExt имеет значение NULL.
OFN_FILEMUSTEXIST - определяет, что пользователь может ввести только имена существующих файлов в поле ввода "Имя файла" диалога. Если указан этот флаг и пользователь ввел некорректное имя файла, то выдается предупреждающее сообщение. Если указан этот параметр, то также используется флаг OFN_PATHMUSTEXIST.
OFN_HIDEREADONLY - скрывает поле "Только для чтения" диалога.
OFN_LONGNAMES - Для диалогов старого образца. Этот флаг определяет использование длинных имен файлов. Если этот флаг не установлен или OFN_ALLOWMULTISELECT флаг также выбран, диалоговый окна старого образца используют формат коротких имен (8.3) для файлов с пробелами. Explorer-style диалоги игнорируют этот флаг и всегда показывают длинные имена.
OFN_NOCHANGEDIR - устанавливает текущей папкой первоначальное значение в случае, если пользователь переходит из одной папки в другую при поиске фалов.
OFN_NODEREFERENCELINKS - указывает диалогу возвращать путь и имя файла ярлыка (.LNK). Если этот флаг не установлен, то диалог возвращает путь и имя файла, на которые указывает ярлык.
OFN_NOLONGNAMES - для диалогов старого типа. Этот флаг приводит к тому, что в диалоге используются короткие имена (формат 8.3). Explorer-style диалог игнорирует этот диалог и всегда показывает длинные имена.
OFN_NONETWORKBUTTON - убирает и выключает кнопку "Сеть" диалога.
OFN_NOREADONLYRETURN - определяет, что диалог не содержит выбранным поле "Только для чтения" и возвращаемый файл не находится защищенной от копирования папке.
OFN_NOTESTFILECREATE - определяет, что файл не создается до тех пора, когда диалог не будет закрыт. Этот флаг должен быть определен, если приложение сохраняет файл при наличии прав "создать но не модифицировать" в сети (create-nonmodify network sharepoint). При использрвании этого флага не производится проверки на наличие защиты от записи, полный диск, не вставлен диск или защиты от сетевого доступа. При этом, приложение должно очень осторожно должно использовать эту операцию для открытия файла, т.к. файл не может быть открыт заново, если он был закрыт.
OFN_NOVALIDATE - позволяет использовать некорректные символы при вводе имени файла. Обычно, перехватывающая(hook) процедура вызывающего приложения проверяет корректность имени файла используя вызов FILEOKSTRING. Если поле ввода имени файла диалог пусто или заполнено пробелами, то список файлов и папок обновляется. Если поле ввода содержит что-то другое, то значения параметров nFileOffset и nFileExtension устанавливаются путем грамматического разбора текста. При этом к тексту не добавляются ни расширение по умолчанию, ни текстовый буфер, определенный в параметре lpstrFileTitle. Если значение параметра nFileOffset меньше 0, то имя файла некорректно. В противном случае имя считается корректным, nFileExtension и nFileOffset используются как будто не был указан флаг OFN_NOVALIDATE (т.е. как обычно).
OFN_OVERWRITEPROMPT - определяет, что диалог "Сохранить как" выдаст предупреждающее сообщение, если файл уже существует. Пользователь должен подтвердить перезапись файла.
OFN_PATHMUSTEXIST - определяет, что пользователь может указать только существующий путь и имена файлов. Если пользователь ввел неправильное имя файла или путь, то появится предупреждающее окно.
OFN_READONLY - использование этого флага ведет к тому, что "Только для чтения" поле для выбора диалога будет выбрано при создании диалога. Когда диалог закрыт, этот флаг говорит о состоянии поля "Только для чтения" диалога.
OFN_SHAREAWARE - определяет, что если вызов функции OpenFile потерпел неудачу из-за отсутствия сетевого доступа, то эта ошибка будет проигнорирована и диалог вернет имя выбранного файла. Если этот флаг не установлен, диалог сообщит перехватывающей(hook) процедуре, о произошедшей ошибке доступа к сетевым ресурсам(файлу).
OFN_SHOWHELP - выводит в окне диалога кнопку "Справка". Параметр hwndOwner должен определять окно, которому получит сообщение HELPMSGSTRING, посылаемое диалогом, когда пользователь нажимает на кнопку "Справка".
templateName - имя файла по умолчанию, отображаемый в диалоге, который потом может быть присвоен результату функции
hParentWin - хендл окна родителя
Windows , Linux
#Include "window9.bi"
Var ddd= OpenFileRequester("","C:\","Text files (*.txt, *.ini, *.doc)"_
+Chr(0)+"*.txt;*.ini;*.doc"+Chr(0),OFN_ALLOWMULTISELECT)
If ddd<>"" Then
While ddd<>""
ddd= NextSelectedFilename()
? ddd
Wend
EndIf
Sleep
#Include "window9.bi"
? OpenFileRequester("","C:\","Text files (*.txt, *.ini, *.doc)"_
+Chr(0)+"*.txt;*.ini;*.doc"+Chr(0))
Sleep
Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation