Глава 12. Библиотечные функции Borland C++______________________277

которые не помечены как Hidden (скрытые). Конкретный результат зависит от конфигурации системы и на разных компьютерах будет разным. Как минимум два системных файла — lo.sys и Msdos.sys — не будут отображены при обычном просмотре. В этом и состоит назначение атрибута Hidden — скрыть некоторые файлы от глаз пользователей, дабы не ввергать последних в соблазн в них покопаться.

Атрибут Normal. Этот атрибут говорит о том, что никаких других атрибутов у файла не установлено. При записи документа в файл ему присваивается атрибут Normal. При создании резервной копии этого же документа, неважно как — утилитами DOS, Windows или программами третьих фирм, устанавливается атрибут Archive. А до тех пор, пока что-либо не изменит атрибуты, сохраняется состояние Normal. (Строго говоря такого атрибута, как Normal, не существует. Состояние Normal означает всего-навсего, что все атрибуты файла (Archive, Read-Only, System и Hidden) сброшены, — прим. иерее.)

*

Атрибут Volume ID. Этот атрибут используется для дисков, а не для файлов. Диском может быть дискета, компакт-диск (CD-ROM), жесткий диск, логический раздел жесткого диска и т. д. У каждого диска, помимо собственной буквы (С, D и т. д.), может присутствовать и атрибут Volume ID (метка тома). При инсталляции некоторых программ по этому атрибуту проверяется очередность установки дискет. Хотя метки тома всегда можно прочитать, изменить их можно не всегда. Например, перезаписать атрибут Volume ID нельзя, если вместе с ним установлен атрибут Read-Only. Это верно также для неперезаписываемых носителей, таких как CD-ROM.

Атрибут Directory. Этот атрибут устанавливается системой на все каталоги при их создании. Каталоги, как и файлы, можно защитить установкой атрибутов Hidden, System или Read-Only.

Установка дополнительных атрибутов каталога может быть осуществлена программно или командой DOS ATTRIB с соответствующими ключами. Команда ATTRIB имеет следующие флаги:

• + перед атрибутом — для установки атрибута

• - перед атрибутом — для его снятия

• А для атрибута Archive

• R для атрибута Read-Only

• S для атрибута System

• Н для атрибута Hidden

• /s для обхода все подкаталогов

Заметьте, что атрибуты Volume ID и Directory командой ATTRIB не устанавливаются. Атрибут Volume ID может быть установлен программно, но не из