![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какпрограммно удалить каталог
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