ExamineDirectory()
Синтаксис
Result = ExamineDirectory(#Directory , DirectoryName$ , Pattern$)
Описание
Создаёт перечисление записей указанного каталога (директории), согласно шаблону Pattern$. Чтобы пошагово перебрать найденные записи, воспользуйтесь функцией NextDirectoryEntry().
Параметры
#Directory Номер для идентификации нового перечисления записей каталога. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически. DirectoryName$ Имя каталога (включая путь), для которого создаётся перечисление записей. Pattern$ Шаблон, указывающий какие файлы и каталоги включать в перечисление записей.
Например: значение 'Pattern$', равное "*.*" или "" включит в перечисление все файлы (и подкаталоги) данного каталога. Значение 'Pattern$' равное "*.exe" включит только файлы .exe (и подкаталоги, заканчивающиеся на .exe если такие есть).
Возвращаемое значение
Возвращает не нулевое значение, если перечисление записей для данного каталога было создано успешно, в противном случае 0. Если в качестве параметра #Directory использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.
Комментарии
Подробную информацию о текущей записи используемого перечисления можно получить с помощью функции:
DirectoryEntryType() - тип текущей записи (файл или каталог)
DirectoryEntryName() - имя текущей записи
DirectoryEntrySize() - размер текущей записи (если это файл, для каталога всегда 0)
DirectoryEntryDate() - требуемая дата текущей записи
DirectoryEntryAttributes() - атрибуты текущей записи
После того, как работа с данным перечислением записей будет завершена, необходимо вызвать функцию FinishDirectory(), для того чтобы освободить ресурсы связанные с данным перечислением.
Пример
; Пример создаёт перечисление всех файлов и папок домашнего каталога. Directory$ = GetHomeDirectory() ; Получает путь If ExamineDirectory(0, Directory$, "*.*") ; Создаёт перечисление записей каталога While NextDirectoryEntry(0) ; Пока найден элемент файловой системы If DirectoryEntryType(0) = #PB_DirectoryEntry_File ; Если тип элемента является файлом, то Type$ = "[Файл] " Size$ = " (Размер: " + DirectoryEntrySize(0) + ")" ; Получает размер Else ; Иначе Type$ = "[Каталог] " Size$ = "" ; Для каталога размер напрямую не определяется. EndIf Debug Type$ + DirectoryEntryName(0) + Size$ ; Вывод в отладчик элемента с добавлением типа и размера Wend FinishDirectory(0) ; Освобождает ресурсы поиска EndIf
См. также
FinishDirectory(), NextDirectoryEntry(), DirectoryEntryType(), DirectoryEntryName(), DirectoryEntrySize(), DirectoryEntryAttributes(), DirectoryEntryDate().
Поддерживаемые OS
Все