На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: jack128, Rouse_, Krid
  
    > Обработчик цикла for..in по файловой системе
      Назначение данного модуля — заменить функции FindFirst..FindNext более удобным циклом for..in. Кроме того реализован рекурсивный поиск в поддиректориях.

      Подсоединив модуль к проекту, можно осуществлять поиск файлов таким образом:
      ExpandedWrap disabled
        var
          F: TFileInfo;
        begin
          // для поиска файлов только в заданной директории
          for F in SearchFiles('C:\Windows', '*.*') do
            Memo.Lines.Add(F.FileName);
         
          // для поиска файлов в поддиректориях
          for F in SearchFilesRecursive('C:\Windows', '*', faAllTypes - faDirectory) do
            Memo.Lines.Add(F.FileName);


      Класс TFileInfo заменяет заполнение структуры TSearchRec, как это делают FindFirst/FindNext, что должно дать прирост в производительности. Нужные свойства извлекаются из _WIN32_FIND_DATA напрямую при непосредственном запросе к нужному свойству. Свойства предоставляются аналогичные имеющимся в TSearchRec:
      ExpandedWrap disabled
            // Атрибуты файла
            property Attributes: Cardinal;
            // Полное имя файла (с путем)
            property FileName: string read GetFileName;
            // Только имя файла (без пути)
            property Name: string read GetName;
            // Короткое имя файла в формате 8.3 (ДОС)
            property NameDOS: string read GetNameDOS;
            // Размер файла
            property Size: Int64 read GetSize;
            // Время создания файла
            property Time: Integer read GetTime;
         
            // Предоставляет прямой доступ к структуре _WIN32_FIND_DATA,
            // чтобы получить доступ к дополнительным данным, написания хелперов, и т.п.
            property FindData: TWin32FindData read FFindData;


      Также модуль содержит константы для всех типов файлов, существующих в современных версиях Windows.

      Эта тема была разделена из темы "Обработчик цикла for..in по файловой системе"
      Прикреплённый файлПрикреплённый файлFileEnum.zip (3.17 Кбайт, скачиваний: 232)
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0220 ]   [ 16 queries used ]   [ Generated: 28.03.24, 11:35 GMT ]