Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2007, 23:54   #1
ig@r
Новичок
Джуниор
 
Регистрация: 07.05.2007
Сообщений: 1
По умолчанию Помогите написать программу для удаления каталога с файлами

Помогите, пожалуйста, написать программу для удаления каталога с файлами. Никак не получается. Пробовал и рекурсивно и нереркурсивно! Может у кого есть исходник? Помогите, срочно необходимо решить эту задачу!!!
ig@r вне форума Ответить с цитированием
Старый 08.05.2007, 00:07   #2
DelphiLab
Пользователь
 
Регистрация: 07.05.2007
Сообщений: 18
По умолчанию

Ну это классика.
Вот два примера из DRKB
Цитата:
Function MyRemoveDir(sDir : String) : Boolean;
var
iIndex : Integer;
SearchRec : TSearchRec;
sFileName : String;
begin
Result := False;
sDir := sDir + '\*.*';
iIndex := FindFirst(sDir, faAnyFile, SearchRec);
while iIndex = 0 do
begin
sFileName := ExtractFileDir(sDir)+'\'+SearchRec. Name;
if SearchRec.Attr = faDirectory then
begin
if (SearchRec.Name <> '' ) and (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then MyRemoveDir(sFileName);
end
else
begin
if SearchRec.Attr <> faArchive then FileSetAttr(sFileName, faArchive);
if NOT DeleteFile(sFileName) then ShowMessage('Could NOT delete ' + sFileName);
end;
iIndex := FindNext(SearchRec);
end;
FindClose(SearchRec);
RemoveDir(ExtractFileDir(sDir));
Result := True;
end;
Цитата:
uses ShellApi;
...
var sh : SHFILEOPSTRUCT;
begin
...
sh.Wnd := Application.Handle;
sh.wFunc := FO_DELETE;
sh.pFrom := 'c:\\test\0';
sh.pTo := nil;
sh.fFlags := FOF_NOCONFIRMATION or FOF_SILENT;
sh.hNameMappings := nil;
sh.lpszProgressTitle := nil;
SHFileOperation (sh);
...
DelphiLab вне форума Ответить с цитированием
Старый 08.05.2007, 07:29   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

второй кусок предпочтительнее
rpy3uH вне форума Ответить с цитированием
Старый 18.08.2009, 12:33   #4
Alt
Лжец и смутьян
Форумчанин
 
Аватар для Alt
 
Регистрация: 03.04.2009
Сообщений: 194
По умолчанию

а это сработает если в каталоге есть подкаталоги?
Помогли тебе - помоги другому.
Alt вне форума Ответить с цитированием
Старый 18.08.2009, 13:20   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а это сработает если в каталоге есть подкаталоги?
А че нет? Впрочем что мешает проверить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi Работа с файлами. Помогите пожалуйста отредактировать программу)) katia230990 Помощь студентам 10 03.06.2008 17:14
Удаление каталога с файлами SANTA_KLAUD Общие вопросы Delphi 17 28.05.2008 17:47
Написать программу для зачета (Работа с файлами) Барби Общие вопросы C/C++ 6 22.12.2007 15:40
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15
помогите написать программу. egarri Общие вопросы C/C++ 1 12.11.2006 14:43