![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RemoveDir [D7, 2003]
WooW © (2007-10-14 17:13:00)Пытаюсь удалить папку по RemoveDir -- результат отстуствует.
Путь передаю полностью: c:\documents and settings\CurrentAdmin\Desktop\Folder\
GetLastError возвращает 145. Что не так?
MetalFan (2007-10-14 22:23:00) [1]
> [5]
http://delphiworld.narod.ru/base/copy_del_move_dir.html
только там небольшой недочетик есть
Anatoly Podgoretsky (2007-10-14 18:11:00) [2]ShFileOperation
vasIZmax (2007-10-14 17:40:00) [3]
function DeleteDir(Dir: string): boolean;
var
Found: integer;
SearchRec: TSearchRec;
begin
result := false;
if IOResult <> 0 then
ChDir(Dir);
if IOResult <> 0 then
begin
ShowMessage('Не могу войти в каталог: ' + Dir);
exit;
end;
Found := FindFirst('*.*', faAnyFile, SearchRec);
while Found = 0 do
begin
if (SearchRec.name <> '.') and (SearchRec.name <> '..') then
if (SearchRec.Attr and faDirectory) <> 0 then
begin
if not DeleteDir(SearchRec.name) then
exit;
end
else
if not DeleteFile(SearchRec.name) then
begin
ShowMessage('Не могу удалить файл: ' + SearchRec.name);
exit;
end;
Found := FindNext(SearchRec);
end;
FindClose(SearchRec);
ChDir('..');
RmDir(Dir);
result := IOResult = 0;
end;
Denis__ (2007-10-14 17:33:00) [4]Сначала все файлы внутри всех папок внутри этой папки.
WooW (2007-10-14 17:21:00) [5]Да, спасибо помогло. Папка не пустая. Как удалить папку целиком, включая все файлы? Или придется сначало удалить все файлы?
Ping (2007-10-14 17:14:00) [6]SysErrorMessage(GetLastError);