Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Курс видеоуроков программирования и крэкерства 6.0
(актуальность: февраль 2017)
Свежие инструменты, новые видеоуроки!

  • 300+ видеоуроков
  • 800 инструментов
  • 80 свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Удалить каталог со всем содержимым 3

Для удаления каталогов существует функция RemoveDirectory. Она удаляет каталог, если он пуст. Поэтому перед удалением каталога его нужно очистить. Для этого здесь используется рекурентная функция RemoveAll.


 uses
   FileCtrl;
 
 procedure RemoveAll(path: string);
 var
   sr: TSearchRec;
 begin
   if FindFirst(path + '\*.*', faAnyFile, sr) = 0 then
   begin
     repeat
       if sr.Attr and faDirectory = 0 then
       begin
         DeleteFile(path + '\' + sr.name);
       end
       else
       begin
         if pos('.', sr.name) <= 0 then
           RemoveAll(path + '\' + sr.name);
       end;
     until
       FindNext(sr) <> 0;
   end;
   FindClose(sr);
   RemoveDirectory(PChar(path));
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
   dir: string;
 begin
   if SelectDirectory('Удаление каталога', '', dir) then
     RemoveAll(dir);
 end;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS