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

Вывод имен всех файлов во


 
    Функция восстанавливает среду функции FILESEEK(), сохраненную ранее
    функцией SAVEFSEEK(), что позволяет организовать рекурсивную обработку
    поддиректорий.
 
  Примеры
 
  . Вывод имен всех файлов во всех поддиректориях, начиная от корневой
    директории текущего диска. Процедура GETFILES() рассчитана на
    рекурсивные вызовы:
 
    GetFiles("\")                       // Вызов рекурсивной процедуры
                                        // с заданием корневой директории


    RETURN
 
    PROCEDURE GetFiles(cPath)
      LOCAL cFile, cSeekEnv                     // Переменная для сохранения
                                                // среды FILESEEK()
      ?                                         // Вывод пустой строки для
                                                // отделения директории
      cFile := FILESEEK(cPath + "*.*", 63)      // Выделение всех файлов с
                                                // любыми атрибутами
      DO WHILE .NOT. EMPTY(cFile)
        IF cFile <> "."                         // ".." и "." - фиктивные
          IF ISBIT(FILEATTR(), 5)               // Поддиректория?
            cSeekEnv := SAVESEEK()              // Сохранение среды
            GetFiles(cPath + cFile + "\")       // Рекурсивный вызов
                                                // доступа и именем
                                                // поддиректории
            RESTFSEEK(cSeerEnv)                 // Восстановление среды
          ELSE
            ? cSearchPath + cFile
          ENDIF
        ENDIF
        cFile := FILESEEK()                     // Следующий файл
      ENDDO
    RETURN
 

See Also: FILESEEK()
SAVEFSEEK()

 

 

 SAVEFSEEK()
 Сохраняет среду функции FILESEEK().
------------------------------------------------------------------------------
 
  Синтаксис
 

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