Уроки по Delphi



         

Урок22. Программный поиск файлов - часть 5


While FindRes=0 do

   begin

      if ((SR.Attr and faDirectory)=faDirectory) and

      ((SR.Name='.')or(SR.Name='..')) then

         begin

            FindRes:=FindNext(SR);

            Continue;

         end;

      if FileDateToDateTime(SR.Time)<DateTimePicker1.Date then // если у файла (каталога) дата создания меньше, чем установлено в DateTimePicker1, то

         begin

            FindRes:=FindNext(SR); // продолжить поиск

            Continue; // продолжить цикл

         end;

      ListBox1.Items.Add(SR.Name);

      FindRes:=FindNext(SR);

   end;

FindClose(SR);

end;

Как вы уже заметили, мы отбираем файлы и каталоги по дате создания, начиная с указанной в компоненте DateTimePicker1.

Теперь попробуем организовать поиск файлов во всех вложенных каталогах. Это не так просто, как может показаться на первый взгляд. Нам придется вручную организовывать весь цикл входа-выхода из каталога, перебор файлов. Немного сложноватый материал, но возможно те из вас, кто уже работал с языком программирования pascal или другим, знакомы с технологией многократности и многовложенности использования одного и того же программного кода. Коротко объясню алгоритм работы такой программы.

1. Задание начальных условий поиска, поиск первого элемента.

2. Если найден файл, то выводим его и соответственно обрабатываем (выводим в список, открываем, удаляем и т.п.).

3. Если найден каталог, то начинаем новую процедуру поиска. Но программный код остается прежним. Мы просто заново вызываем и входим в эту же процедуру поиска.




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