Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
Delphi 7 Professional
|
Re: Verzeichnisse loeschen die Nicht leer sind ?
18. Nov 2004, 13:05
Und ohne Shelloperation:
Delphi-Quellcode:
{** Löscht einen Ordner mit allen Unterordnern "RM /S"}
function Deltree( Dir: string): Boolean;
procedure Del(const Dir: string);
var
SearchRec: TSearchRec;
Found: Cardinal;
begin
FindFirst( Dir + '*.*', faAnyFile, SearchRec);
FindNext( SearchRec);
Found := FindNext( SearchRec);
while ( Found = 0) do
begin
SetFileAttributes( PChar(Dir + SearchRec.Name), FILE_ATTRIBUTE_NORMAL);
if (SearchRec.Attr and faDirectory >0) then Del(Dir + SearchRec.Name + '\')
else DeleteFile(Dir + SearchRec.Name);
Found := FindNext(SearchRec);
end;
FindClose( SearchRec);
RemoveDirectory(pchar(dir));
end;
begin
Dir:= IncludeTrailingPathDelimiter( Dir);
Result := True;
if DirectoryExists(Dir) then
begin
Del(Dir);
if DirectoryExists(Dir) then Result := False;
end
else Result := False;
end;
Wer später bremst ist eher tot.
|