Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
Delphi 12 Athens
|
Re: Ordner löschen
16. Nov 2007, 19:06
Delphi-Quellcode:
function DeleteDirRecursive(sPath: string; DoNotDelete: TStrings): Boolean;
var Rec: TSearchRec;
begin
if not DirectoryExists(sPath) then
begin
Result := false;
exit;
end;
sPath := IncludeTrailingPathDelimiter(sPath);
if FindFirst(sPath + '*.*',faAnyFile,Rec) = 0 then
begin
repeat
if (Rec.Attr and faDirectory) = faDirectory then
begin
if (Rec.Name <> '.') and (Rec.Name <> '..') and
(not Assigned(DoNotDelete) or
(*Vorsicht!! Man muss sich einig sein, wie man die
Verzeichnisnamen einträgt (ganzer Pfad oder nicht,
groß oder klein geschrieben etc.) *)
(DoNotDelete.IndexOf(Rec.Name) < 0)) then
DeleteDirRecursive(sPath + Rec.Name,nil);
end
else
DeleteFile(sPath + Rec.Name);
until FindNext(Rec) <> 0;
FindClose(Rec);
end;
Result := RemoveDir(sPath);
end;
Und so?
[edit] Bedingung geändert, machte so keinen Sinn [/edit]
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|