Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Какпрограммно удалить каталог


GEN++ ©   (2006-01-10 16:09:00) 

Здраствуйте помогите начинающему!!!
как можно программно удалить каталог, желательно покажите на примери


Кефир87   (2006-01-10 17:02:00) [1]

Можно. Внимательно изучи код, приведенный Игорем Шевченко и почитай хелп 8)


GEN++   (2006-01-10 16:54:00) [2]

а можно какнибудь удалить все вайлы в заданной папке но при этом не удаляя самой папки?


Игорь Шевченко   (2006-01-10 16:48:00) [3]

GEN++ ©   (10.01.06 16:22) [3]

Проверка на дорогах ? :)


Кефир87   (2006-01-10 16:46:00) [4]

Прежде чем удалить директорию нужно удалить в ней все файлы, найти все поддиректории, в них удалить все файлы и найти все поддиректории, а в них удалить все файлы....


Игорь Шевченко   (2006-01-10 16:22:00) [5]

Если с файлами и подкаталогами, я так делал:

procedure Utils_DeleteDirectoryTree (Directory: PChar);
var
 FindHandle: THandle;
 FindData: WIN32_FIND_DATAA;
begin
 if not Assigned(Directory) or (Directory[0] = #0) or
     not SetCurrentDirectoryA (Directory) then
   Exit;
 FindHandle := FindFirstFileA ('*', FindData);
 if FindHandle <> INVALID_HANDLE_VALUE then
   repeat
     if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)
         = 0 then begin
       SetFileAttributesA (FindData.cFileName, FILE_ATTRIBUTE_NORMAL);
       DeleteFileA (FindData.cFileName);
     end else if (lstrcmpA (FindData.cFileName, '.') <> 0) and
         (lstrcmpA (FindData.cFileName, '..') <> 0) then
       Utils_DeleteDirectoryTree (FindData.cFileName);
   until not FindNextFileA (FindHandle, FindData);
 Windows.FindClose (FindHandle);
 SetCurrentDirectoryA ('..');
 SetFileAttributesA (Directory, FILE_ATTRIBUTE_NORMAL);
 RemoveDirectoryA (Directory);
end;


GEN++   (2006-01-10 16:22:00) [6]

чето всеравно нечего не понятно


Johnmen   (2006-01-10 16:12:00) [7]

RemoveDir + F1


Наверх

Титульная страница Поиск, карта сайта Написать письмо