Главная Статьи Директории Как удалить каталог вместе со всем содержимым?

Как удалить каталог вместе со всем содержимым?

Оцените материал
(1 Голосовать)

Как удалить каталог вместе со всем содержимым?

function TForm1.DeleteDir(Dir: string): boolean;
var
  isFound: boolean;
  sRec: TSearchRec;
begin
   Result := false;
   ChDir( Dir );
   if IOResult <> 0 then
   begin
      ShowMessage( 'Не могу войти в каталог: ' + Dir );
      Exit;
   end;
   isFound := FindFirst( '*.*', faAnyFile, sRec ) = 0;
   while isFound do
   begin
   if ( sRec.Name <> '.' ) and ( sRec.Name <> '..' ) then
      if ( sRec.Attr and faDirectory ) = faDirectory then
      begin
         if not DeleteDir( sRec.Name ) then
            Exit;
      end
      else
         if not DeleteFile( sRec.Name ) then
         begin
            ShowMessage( 'Не могу удалить файл: ' + sRec.Name );
            Exit;
         end;
      isFound := FindNext( sRec ) = 0;
   end;
   FindClose( sRec );
   ChDir( '..' );
   RmDir( Dir );
   Result := IOResult = 0;
end;
Прочитано 4738 раз

Авторизация



Счетчики