Иллюстрированный самоучитель по Tirbo Pascal




Процедуры и функции для работы с файлами - часть 4


FINDFIRST (<маска>, <атрибуты>, <имя>)

Здесь <маска> - строковое выражение, содержащее маску файла;

<атрибуты> - выражение типа BYTE, содержащее уточнение к маске (атрибуты); <имя> - переменная типа SEARCHREC, в которой будет возвращено имя файла.

При формировании маски файла используются следующие символы-заменители ДОС:

* означает, что на месте этого символа может стоять сколько угодно (в том числе ноль) разрешенных символов имени или расширения файла;

? означает, что на месте этого символа может стоять один из разрешенных символов.

Например:

* . *      выбирает все файлы из каталога;

с* . *    выбирает все файлы с именами, начинающимися на с (cl.pas,сс!2345, c.dat и т.д.); 

a?.dat     выбирает имена файлов типа a0.dat, az.dat и т.д.

Маске может предшествовать путь'. Например, команда

с:\dir\subdir\*.pas

эзначает выбирать все файлы с расширением .PAS из каталога SUBDIR, находящегося на диске С; каталог SUBDIR зарегистрирован в каталоге верхнего уровня DIR, который, в свою очередь, входит в корневой каталог.

Байт <атрибуты> содержит двоичные разряды (биты), уточняющие, к каким именно файлам разрешен доступ при обращении к процедуре FINDFIRST . Вот как объявляются файловые атрибуты в модуле DOS. TPU:

const

Readonly = $01; {только чтение}

Hidden = $02; {скрытый файл}

SysFile = $04; {системный файл}

VolumeID = $08; {идентификатор тома}

Directory = $10; {имя подкаталога}

Archive =$20; {архивный файл}

AnyFile= $3F; {любой файл}

Комбинацией бит в этом байте можно указывать самые разные варианты, например $ 06 - выбирать все скрытые и/или системные файлы.

Результат работы процедуры FINDFIRST возвращается в переменной типа SEARCHREC. Этот тип в модуле DOS. TPU определяется следующим образом:

type

SearchRec = record

Fill : array [1..21] of Byte;

Attr : Byte;

Time : LongInt;

Size : LongInt;

Name : String.[12] 

end;

Здесь Attr - атрибуты файла (см. выше);




Содержание  Назад  Вперед