Клиппер 5. Справочник

исключаются файлы, имеющие хотя бы


из группы не
    исключаются файлы, имеющие хотя бы один атрибут, заданный маской.
 
    Имеется ряд дополнительных аспектов использования значения .F.
    параметра <lExact>, которые следует рассмотреть подробнее. Во-первых,
    файлы с атрибутами READ ONLY (1), ARCHIVE (32) и вообще без атрибутов
    (0) включаются в группу при любом задании маски, за исключением
    задания величины 8 (VOLUME). Во-вторых, файлы с атрибутами HIDDEN (2),
    SYSTEM (4), VOLUME (8) и DIR (16) включаются в группу, если в маске
    установлен соответствующий бит. Другими словами, в маске имеет смысл
    задавать только атрибуты SYSTEM, HIDDEN, VOLUME или DIR. Таким
    образом, при задании маски 16 (DIR) в группу будут включены как файлы
    без атрибутов, так и файлы с атрибутами ARCHIVE и READ ONLY.


 
    Внутренний буфер данных
 
    При каждом вызове функции данные о размере, атрибутах, времени и дате
    создания выбранного файла сохраняются во внутреннем буфере.  Для
    доступа к этой информации функции FILETIME(), FILEDATE() и т.д.
    следует вызывать без параметров, чтобы не производилась замена данных
    во внутреннем буфере.
 
  Примечания
 
  . Поставляемый в составе CT II файл TOOLDEMO.PRG содержит в качестве
    примера функцию SCANFILES(), позволяющую подготовить эффективную
    программу для работы с директориями.
 
  Примеры
 
  . Вывод даты и размера файлов, имеющих расширение .TXT:
 
    cFile := FILESEEK("C:\TEXT\*.TXT")
    DO WHILE .NOT. EMPTY(cFile)
        ? FILESIZE()                    // Размер файла из буфера
        ? FILEDATE()                    // Дата файла из буфера
        cFile := FILESEEK()             // Выбор следующего файла
    ENDDO
 
  . Вывод списка файлов корневой директории с атрибутами READ ONLY,
    HIDDEN, SYSTEM и ARCHIVE (1 + 2 + 4 + 32 = 39), хотя достаточно
    задание 6 (2 + 4):
 
    cFile := FILESEEK("C:\*.*", 39)

Содержание раздела