1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Delphi поиск файлов

Тема в разделе "Программирование", создана пользователем dezertir, 23 дек 2017.

  1. TopicStarter Overlay
    dezertir

    dezertir

    Регистрация:
    2 дек 2017
    Сообщения:
    20
    Симпатии:
    3
    помогите реализовать поиск файлов на диске по нескольким маскам в папках и подпапках
    пробовал делать вот таке:
    Код:
    uses IOUtils, FileCtrl, StrUtils, Masks, Types;
    
    function MyGetFiles(const Path, Masks: string): TStringDynArray;
    var SearchOption: TSearchOption;
    begin
     SearchOption:=TSearchOption.soAllDirectories;
     Result := TDirectory.GetFiles(Path, Masks,SearchOption);
    end;
    
    procedure TForm3.Button1Click(Sender: TObject);
    Var
    s : string;
    begin  
    for s in MyGetFiles('E:\', '*.exe') do memo1.lines.add(s);
    for s in MyGetFiles('E:\', '*.txt') do memo1.lines.add(s);
    for s in MyGetFiles('E:\', '*.bat') do memo1.lines.add(s);
    for s in MyGetFiles('E:\', '*.png') do memo1.lines.add(s);
    end;
    но 4 раза обоходить все папки - это очень ресурсно затратная задача на диск, если папок много и файлов - к примеру миллион.
    в следствии чего было принято логическое решение делать поиск файлов из функции вызванной только один раз, вбивая сразу несколько масок.
    исходов в гугле на нашел, помогите
     
    Метки:

Поделиться этой страницей

Загрузка...