Как удалить каталог вместе со всем содержимым?
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;
|