Программирование на Delphi и не только Удаление каталога со всем содержимым | Программирование на Delphi и не только

Delphi FAQ >> Файлы и каталоги

function DeleteDir(Dir: String): Boolean;
var   Found : Integer;   SearchRec: TSearchRec;

begin

  result := false;   ChDir(Dir);

  if (IOResult0) 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;

В мире технологий постоянно что-то изобретают — компьютерные новости позволят вам быть в курсе событий