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