С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/137: Рейтинг темы: голосов - 137, средняя оценка - 4.70
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 313

Удаление папок

12.02.2012, 14:14. Показов 27174. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть 2 папки Logs и Cache и вних пишутся логи и кеш. как при нажатие на кнопку удалить папки и то что вних?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2012, 14:14
Ответы с готовыми решениями:

Удаление папок
Здравствуйте. Как можно вызвать, что бы в определённой папке, удалились все папки с в их вложенными файлами, при этом, запретить удаление...

Удаление всех папок
Как удалить все папки которые начинаются с цифр из определенной папки? Добавлено через 10 минут PS. И что бы если там есть файлы...

Удаление и копирование папок
Доброго времени суток. Подскажите, как в Delphi7 (или просто в паскале) удалить из определенного каталога папку "userdata" вместе...

9
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
12.02.2012, 14:37
функция RemoveDir удаляет папку из текущей папки.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
begin
  // Создание нового каталога в текущей директории
  if CreateDir('TestDir')
  then ShowMessage('Новый каталог добавлен')
  else ShowMessage('Добавление нового каталога провалилось с ошибкой: '+
                   IntToStr(GetLastError));
 
  // Удаление этого каталога
  if RemoveDir('TestDir')
  then ShowMessage('TestDir удален')
  else ShowMessage('TestDir не удален, произошла ошибка : '+
                   IntToStr(GetLastError));
end;
0
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 313
12.02.2012, 15:10  [ТС]
Electroflower, ты мне дал не то что я просил! да этот код удаляет папку! но он не удаляет то что еще в ней находица! мне нужен код который будет удалять всю папку и папки в ней и файлы в этих папках =)))
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
12.02.2012, 21:19
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.DelAllinFolder(const dir: string);
Var SR:TSearchRec;
    FindRes:Integer;
begin
FindRes:=FindFirst(dir+'*.*',faAnyFile,SR);
While FindRes=0 do
   begin
    if ((SR.Attr and faDirectory)=faDirectory)and(SR.Name<>'.')and(SR.Name<>'..') then
      begin
      Application.ProcessMessages;
        DelAllinFolder(dir+SR.Name+'\');
        RemoveDir(dir+SR.Name);
      end;
    if ((SR.Attr and faDirectory)<>faDirectory)and(SR.Name<>'.')and(SR.Name<>'..') then
        DeleteFile(dir+SR.Name);
 
      FindRes:=FindNext(SR);
   end;
FindClose(SR); // çàêðûâàåì ïîèñê
end;
1
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
12.02.2012, 21:55
Цитата Сообщение от KaZaK555 Посмотреть сообщение
У меня есть 2 папки Logs и Cache и вних пишутся логи и кеш. как при нажатие на кнопку удалить папки и то что вних?
Вроде начиная с delphi 2010, можно сделать так
Delphi
1
TDirectory.Delete('полный путь твоей директории',true);
Не забыть подключить модуль IOUtils
3
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 313
13.02.2012, 03:32  [ТС]
anonimus, спасибо а я нашел фунцкию по интересние
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
function DelDir(dir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc  := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom  := PChar(dir + #0);
  end;
  Result := (0 = ShFileOperation(fos));
end;
чем она интересно от твоей отличается. кстати а твою я поставить не смог при компиляции ругается может какойто компанент ставить надо?
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
13.02.2012, 09:53
Цитата Сообщение от KaZaK555 Посмотреть сообщение
при компиляции ругается
как ругается?
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
08.01.2014, 15:31
Цитата Сообщение от KaZaK555 Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc  := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom  := PChar(dir + #0);
  end;
  Result := (0 = ShFileOperation(fos));
end;
Я так понял Shellapi добавить нужно, иначе неработает.
А какой код на кнопку то писать непонял?
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
08.01.2014, 17:32
Цитата Сообщение от antikiler_ Посмотреть сообщение
Вроде начиная с delphi 2010, можно сделать так
Delphi
1
TDirectory.Delete('полный путь твоей директории',true);
Не забыть подключить модуль IOUtils
все правильно, удаляет каталог полностью, в то время как RemoveDir() не удаляет, если каталог не пустой
0
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
08.01.2014, 18:32
В Delphi XE3 проверил работает этот код, жалко что в Delphi-7 неработает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.01.2014, 18:32
Помогаю со студенческими работами здесь

В папке нахотится неизвестное количество папок, а в каждой из папок по одному текстовому файлу...
Ребята помогите пожалуйста! У меня такая задача: в папке нахотится неизвестное количество папок, а в каждой из папок по одному текстоваму...

Удаление папок от 1 до 10
Есть 10 папок с названиями 1..2..3.Как их удалить програмно?

Удаление папок
#include &lt;vcl.h&gt; #include &quot;dstring.h&quot; #pragma hdrstop #include &quot;Unit1.h&quot; ...

удаление папок
нужен скрипт чтобы удалить все папки с именами, начинающимися с temp, вместе с содержимым (сделать префикс параметром) помогите...

Удаление папок
Нужно удалить сразу несколько папок с файлами. Наткнулся на следующий код, но директории не удаляются. import os import shutil ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru