Форум: "Основная";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];
ВнизКак удалить директорию с поддиректориями Найти похожие ветки
← →
lipskiy (2002-02-25 15:45) [5]Вот функция удаления непустого каталога, которую использую я. Принцип удаления вложений - функция вызывает сама себя.
//##############################################################################
// удаляет все содержимое каталога вместе с подкаталогами
// RemoveRoot указывает на необходимость удаления корня каталога
// при установке в False функция используется для очистки содержимого каталога
function sRemoveDir(Dir:string; RemoveRoot:boolean):Boolean;
//##############################################################################
var i:Integer;
SRec:TSearchRec;
FN:String;
begin
Result:= True;
if Dir[Length(Dir)] <> "\" then Dir:= Dir + "\";
Dir:= Dir + "*.*";
i:= FindFirst(Dir, faAnyFile, SRec);
while i = 0 do
begin
FN:= ExtractFileDir(Dir)+"\"+SRec.Name;
if SRec.Attr = faDirectory then
begin
if (SRec.Name <> "" ) and (SRec.Name <> ".") and (SRec.Name <> "..") then
sRemoveDir(FN,True);
end
else
begin
if SRec.Attr <> faArchive then FileSetAttr(FN, faArchive);
if not DeleteFile(FN) then Result:= false;
end;
i:= FindNext(SRec);
end;
FindClose(SRec);
if RemoveRoot then
try
if not RemoveDir(Dir) then Result:= false;
except
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c