Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Найти и удалить файлы


Автор: HoZeY 7.8.2009, 17:28
Здравствуйте! Есть две строчки в Мемо: file1.exe и file2.txt. После нажатия на кнопку "поиск" нужно начать поиск по всем разделам и папкам на компьютере. В конце поиска, если файл был найден, удалить файл и начать поиск file2.txt, после чего его тоже удалить. Подскажите как так организовать поиск и удаление файлов.
Надеюсь на вашу помощь. Спасибо.

 smile 

Автор: Данкинг 7.8.2009, 19:30
Процедура для поиска файлов, её неоднократно уже выкладывали:
Код

procedure FindFiles(StartFolder, Mask: string; List: TStrings;
  ScanSubFolders: Boolean = True);
var
  SearchRec: TSearchRec;
  FindResult: Integer;
begin
  List.BeginUpdate;
  try
    StartFolder := IncludeTrailingBackslash(StartFolder);
    FindResult := FindFirst(StartFolder + '*.*', faAnyFile, SearchRec);
    try
      while FindResult = 0 do
        with SearchRec do
        begin
          if (Attr and faDirectory) <> 0 then
          begin
            if ScanSubFolders and (Name <> '.') and (Name <> '..') then
              FindFiles(StartFolder + Name, Mask, List, ScanSubFolders);
          end
          else
          begin
            if MatchesMask(Name, Mask) then
              List.Add(StartFolder + Name);
            application.ProcessMessages;
              end;
          FindResult := FindNext(SearchRec);
        end;
    finally
      FindClose(SearchRec);
    end;
  finally
    List.EndUpdate;
  end;
end;


Использование:
Код

FindFiles ('c:\','*.*',memo1.Items, true);

(последний параметр - учитывать ли каталоги. В твоём случае - да)

Автор: Akella 8.8.2009, 21:37
Эх, не дал человеку и подумать smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)