На главную

Удалить каталог

Удалить каталог

ОГЛАВЛЕНИЕ    HOME  MAIL



Для удаления каталогов существует функция 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;

главная страницазадать вопрос
email: delphi4all@narod.ru
Hosted by uCoz