Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удалить папку, с файлами 
:(
    Опции темы
Гость_Гость
  Дата 19.1.2005, 14:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Приве всем!

Как можно удалить папку в которой есть, другие файлы и папки?

Спасибо!
  Вверх
Rennigth
Дата 19.1.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



да же без поиска... на этойже странице...

http://forum.vingrad.ru/index.php?showtopic=39897



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
_hunter
Дата 19.1.2005, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



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


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Snowy
Дата 19.1.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Неужели есть такие люди, которые знают ответ на этот вопрос?
Какая интересная задача. Где же найти ответ?
Может воспользоваться поиском? Или заглянуть в DRKB?
А может... Нет, ну откуда Яндекс может знать...
Я теряюсь в догадках. Неужели никто не знает ответа...
PM MAIL   Вверх
Akella
Дата 19.1.2005, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Snowy, не глумись smile
PM MAIL   Вверх
z-END
Дата 19.1.2005, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



Цитата(dsergey @ 19.1.2005, 15:17)
Snowy, не глумись 

зря ты так, знаешь как стресс снимает=)
я вообще за то чтобы так все отвечали, ато сидишь на работе (или что еще хуже после работы дома) башка на бекрень, а тут бац прикол и все... расслабуха=)



--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
W_A_K_E
Дата 21.1.2005, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 14.1.2005

Репутация: нет
Всего: нет



так как моя программа для очистки памяти то я использую вот такой код
Код

procedure Deleter(html_file_Path:String);
var
sr:TSearchRec;
ScanDir:String;
ISearch:Integer;
begin
ScanDir:=html_file_Path;
ISearch:=FindFirst(ScanDir+'*.*', faAnyfile, sr);
while ISearch=0 do
begin
if ((sr.Attr and FaDirectory)=Fadirectory)
and (sr.Name[1]<>'.') then
Deleter(ScanDir+sr.Name+'\') else
deletefile(scandir+sr.Name);
ISearch:=FindNext(sr);
end;
FindClose(sr);
removeDirectory(Pchar(html_file_Path));{Ключевой момент! Удаляем папку}
end;




procedure TForm1.Button1Click(Sender: TObject);
begin
Deleter('c:\новая папка\');

PM MAIL   Вверх
Ripper
Дата 21.1.2005, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: 1
Всего: 23



цитирую DRKB:

Способ 1: проход по дереву каталогов
Код



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;


Способ 2: Использование ShellApi
Код



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);  

...  

 


Надо путь писать : c:\\test\dfg
Чтобы вначале "\\" было...иначе не будет удалять диры из корня

сам не проверял ... но это же DRKB smile



--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
Akella
Дата 22.1.2005, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата
так как моя программа для очистки памяти то я использую вот такой код

при чем здесь память?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0788 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.