Delphi World - Удалить каталог со всем содержимым
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Удалить каталог со всем содержимым



function DeleteDir(Dir: string): boolean;
var
  Found: integer;
  SearchRec: TSearchRec;
begin
  result := false;
  if IOResult <> 0 then
    ChDir(Dir);
  if IOResult <> 0 then
  begin
    ShowMessage('Не могу войти в каталог: ' + Dir);
    exit;
  end;
  Found := FindFirst('*.*', faAnyFile, SearchRec);
  while Found = 0 do
  begin
    if (SearchRec.name <> '.') and (SearchRec.name <> '..') then
      if (SearchRec.Attr and faDirectory) <> 0 then
      begin
        if not DeleteDir(SearchRec.name) then
          exit;
        end
        else
          if not DeleteFile(SearchRec.name) then
          begin
            ShowMessage('Не могу удалить файл: ' + SearchRec.name);
            exit;
          end;
        Found := FindNext(SearchRec);
      end;
  FindClose(SearchRec);
  ChDir('..');
  RmDir(Dir);
  result := IOResult = 0;
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования