![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удалить директорию [D5, WinXP]
Yus © (2005-11-10 07:32:00)Подскажите как удалить вложенные директории. Делаю так:
function DirDelete(Dir:string):boolean;
var Search: TSearchrec;
begin
if not DirectoryExists(Dir) then EXIT;
if FindFirst(Dir+'*.*', $3f, Search)= 0 then
repeat
DeleteFile(Dir+Search.Name);
until FindNext(Search)<>0;
end;
Файлы удаляются(не все), а вложенные папки нет, если даже они пустые.
Yus (2005-11-10 11:56:00) [1]Понял.Спасибо!!
YuRock (2005-11-10 08:28:00) [2]Потому, что пустые директории удаляются через RemoveDirectory.
А вообще не мучайся, используй:
function DirDelete( const SSource: String ): Boolean;
var
fo: SHFILEOPSTRUCT;
begin
fo.Wnd := 0;
fo.wFunc := FO_DELETE;
fo.pFrom := PChar(SSource + #0);
fo.pTo := PChar(SSource + #0);
fo.fFlags := FOF_NOCONFIRMATION or FOF_SILENT;
Result := not Boolean( SHFileOperation( fo ) );
end;
И uses ShellApi не забудь :)