Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637

Не удаляется директория

28.01.2018, 13:06. Показов 662. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Ребята подскажите пожалуйста по чему данная функция не всегда удаляет не пустую директорию.

C++
1
2
3
4
5
6
7
8
9
10
int Remove_dirW(wchar_t * pPath)
{
    SHFILEOPSTRUCTW sh;
    ZeroMemory(&sh,sizeof(SHFILEOPSTRUCTW));
    sh.wFunc = FO_DELETE;
    wcscat(pPath , L"\0"); //(путь в формате Unicode, завершающийся 2-мя NULL-терминаторами...)
    sh.pFrom =  pPath;//удаляемая директория
    sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NORECURSION;
    return SHFileOperationW(&sh);
}
Данную функцию я применяю в FormDestroy.

Ошибки выводит разные 87, 2 .
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.01.2018, 13:06
Ответы с готовыми решениями:

Директория
Напишите пожалуйста код. Нужно открыть диалоговое окно,где пользователь бы выбрал, директорию,куда сохранить файл

Директория Пользователя
Задал этот вопрос в разделе C++, но меня послали сюда. :) Скажите, пожалуйста, как узнать имя пользователя компьютера. Т.е. эту...

Директория фрайвера
Добрый день, Можно ли получить программно директорию драйвера (аналог GetCurrentDirectory)? Можно считать ее из реестра, но не...

3
Модератор
 Аватар для D1973
9926 / 6463 / 2457
Регистрация: 21.01.2014
Сообщений: 27,417
Записей в блоге: 3
28.01.2018, 15:09
Dr.Xank, а обязательно так сложно делать?
C++
1
2
3
#include <System.IOUtils.hpp>
...
TDirectory::Delete("Full_path_to_your_folder", true);
1
Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637
28.01.2018, 15:49  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Dr.Xank, а обязательно так сложно делать?
Если не ошибаюсь, то данная функция не отработает если путь будет больше 256 символов.

Добавлено через 16 минут
Странно, сейчас попробовал удаляет.
0
36 / 35 / 17
Регистрация: 15.06.2017
Сообщений: 184
29.01.2018, 01:04
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
bool DeleteDir(AnsiString DirName)
{
TSearchRec sr;
if (DirName.Length())
{
if (!FindFirst(DirName+"\\*.*",faAnyFile,sr))
do
 {
 if (!(sr.Name=="." || sr.Name==".."))
  if (((sr.Attr & faDirectory) == faDirectory ) ||
  (sr.Attr == faDirectory))
   {
   FileSetAttr(DirName+"\\"+sr.Name, faDirectory );
   DeleteDir(DirName+"\\"+sr.Name);
   RemoveDir(DirName + "\\"+sr.Name);
   }
   else
   {
   FileSetAttr(DirName+"\\"+sr.Name, 0);
   DeleteFile(DirName+"\\"+sr.Name);// delete file
   }
 }
while (!FindNext(sr));// search while is files
FindClose(sr);
}
RemoveDir(DirName);
return true;
}
Сложная, но работает

Добавлено через 2 минуты
А функция SHFileOperationW(&sh) судя по описанию в MSDN не обрабатывает сетевые пути и глубокие вложения
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2018, 01:04
Помогаю со студенческими работами здесь

Существует ли директория?
Здравствуйте! Мне нужно проверить существование пути, вот нашел код, в принципе работает но проблема в том что если директории нет то он...

Локальная директория
Здрасте, мне нужна помощь. Моя программа соединяется по FTP с сервером. Мне нужно отобразить директории которые находятся на моем...

Корневая директория ОС
Гуглю-гуглю, ну никак не могу найти информацию о том - какой функцией вытянуть корневую директорию ОС?

Директория к фото
Здравствуйте! У меня проблема с отображением фото из БД. выдает следующую ошибку: Cannot open file &quot;Дириктория....&quot;. Системе не...

Директория прогрммы
Назрел вопрос!!! друзья помогите=) 1)вот хочу сохранить текстовый файл в директорию своей прогрммы...как это осуществить=)??? 2)как,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru