demenev | Дата: Вторник, 05.01.2010, 13:41 | Сообщение # 1 |
Группа: Удаленные
| // Для того чтобы удалить папку и все файлы в ней напишите следующую функцию: bool DeleteDir(AnsiString DirName) { TSearchRec sr; if (DirName.Length()) { if (!FindFirst(DirName+"\\*.*",faAnyFile,sr)) do { if (!(sr.Name=="." || sr.Name==".."))// это удалять не надо if (((sr.Attr & faDirectory) == faDirectory ) || (sr.Attr == faDirectory))// найдена папка { FileSetAttr(DirName+"\\"+sr.Name, faDirectory );// сброс всяких read-only DeleteDir(DirName+"\\"+sr.Name);//рекурсивно удаляем содержимое RemoveDir(DirName + "\\"+sr.Name);// удаляем теперь уже пустую папку } else// иначе найден файл { FileSetAttr(DirName+"\\"+sr.Name, 0);// сброс всяких read-only DeleteFile(DirName+"\\"+sr.Name);// удаляем файл } } while (!FindNext(sr));// ищем опять, пока не найдем все FindClose(sr); } RemoveDir(DirName); return true; }
|
|
| |