Размещает информацию о файлах в массиве памяти, возвращает количество обработанных файлов.

ADIR(ArrayName [, cFileSkeleton [, cAttribute [, nFlag]]])

Параметры

ArrayName

Определяет имя массива. Если указанный массив отсутствует, то система Visual FoxPro автоматически создает указанный массив. Если указанный массив существует, а его размер недостаточен для размещения всей информации, то система Visual FoxPro автоматически увеличивает размерность данного массива, для размещения всей информации о файлах. Если массив имеет больший размер, чем необходимо, то система Visual FoxPro укорачивает размер массива до необходимых размеров. Если массив существует, а функция ADIR( ) возвращает значение = 0, т.е. файлов нет, массив остается неизменным. Если массив отсутствовал, а функция ADIR( ) возвращает значение = 0, то массив не создается.

В следующей таблице представлена информация о структуре массива данных о файлах:

Столбец Содержит Тип данных

1

FИмя Файла

Символьный

2

Размер файла

Числовой

3

Дата последней модификации

Типа Date

4

Время последней модификации

Символьный

5

Атрибуты файла

Символьный

Последний столбец массива содержит информацию о файловых атрибутах. Каждый атрибут представляется в виде соответствующего символа. В таблице представлено описание файловых атрибутов:

Символ Файловый атрибут

A

Архивный – Read/Write

H

Скрытый (Hidden)

R

Только чтение (Read-only)

S

Системный (System)

D

Каталог (Directory)

cFileSkeleton

Определяет шаблон (критерий отбора / маска файлов) для поиска обрабатываемых файлов. Например, данный шаблон может указывать на все таблицы, или все текстовые файлы, или все файлы, имена которых начинаются с буквы "A", и так далее. Такие шаблоны, для отбора файлов строятся с помощью "шаблонных" символов: * (звездочка) и ? (вопрос) в параметре cFileSkeleton. Знак вопроса - означает один любой допустимый символ; звездочка - означает любое количесво символов. Вы можете использовать данные шаблонные символы в любом месте общего файлового шаблона (маски) отбора файлов.

Вы можете указывать в шаблоне имя диска и имена каталогов, где производится поиск необходимых файлов. Если эти реквизиты (диск и каталог) не указаны, то система Visual FoxPro просматривает текущий каталог, который является в настоящий момент текущим.

cAttribute

Определяет дополнительные характеристики отбираемых файлов: подкаталоги, скрытые и системные файлы.

Параметр cAttribute может содержать дополнительные спецификации: D, H, или S. Включение D - означает дополнительную обработку подкаталогов заданного каталога, которые удовлетворяют указанному шаблону отбора файлов (параметр cFileSkeleton). Включение символа H - означает обработку файлов, имеющих соответствующий атрибут (скрытые файлы). Включение символа S - означает дополнительную обработку системных файлов, которые удовлетворяют шаблону cFileSkeleton.

Если параметр cFileSkeleton - есть пустая строка, то в обработку включаются только подкаталоги, скрытые и системные файлы.

Вы можете указать символ "V" в параметре cAttribute - для определения имени текущего диска. Ключ V может быть включен в данный параметр вместе с другими ключами (D, H, или S). Имя текущего диска помещается в первый элемент массива, остальные элементы массива исключаются.

nFlag

Определяет формат представления имен файлов в массиве (DOS-формат, или оригинальные имена).

nFlag Описание значений Параметра

0

(по-умолчанию) имена файлов размещаются в массиве в верхнем регистре

1

Имена файлов представляются в оригинальном виде

2

Имена файлов представляются в нотации DOS 8+3 (как короткие имена)

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

Числового типа

Expand imageКомментарии

Для каждого файла, функция ADIR( ) размещает в элементах массива соответственно: имя файла, размер, дату модификации файла, время модификации, файловые атрибуты.

Expand imageПример

В представленном примере функция ADIR( ) используется для размещения в массиве информации о базах данных; имена баз данных выводятся на экран системы.

  CopyCode imageКопировать Код
CLOSE DATABASES
SET DEFAULT TO (HOME(2) + 'Data')

gnDbcnumber = ADIR(gaDatabase, '*.DBC') && создать массив

CLEAR
FOR nCount = 1 TO gnDbcnumber && цикл по количеству баз данных
? gaDatabase(nCount,1) && отображается имя базы данных
ENDFOR
SET PATH TO HOME( ) && Установить "домашний" каталог системы Visual FoxPro

Expand imageСм. также