Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Удалить директорию


Автор: gray_k 14.1.2003, 01:31
Подскажите, как получить список файлов, лежащих в определённой директории.
И ещё. Как удалить всю директорию с вложенными файлами.

Автор: Vit 14.1.2003, 01:42
Модератор: Эти вопросы неоднократно задавались, попробуйте поискать на форуме и в FAQ (если Вы используете Билдер - то можно заглянуть в FAQ по Дельфи - там точно есть нужные примеры кода)


Автор: gray_k 14.1.2003, 02:13
SHFILEOPSTRUCT sh;

sh.hwnd=Form1->Handle;
sh.wFunc = FO_DELETE;
sh.pFrom = "c:\\test\0";
sh.pTo = "NULL";
sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT;
sh.hNameMappings = 0;
sh.lpszProgressTitle = NULL;

SHFileOperation (&sh);
ForceDirectories("C:\\Test");

Эта конструкция находиться в FAQ, она работает
Но если написать так:
AnsiString DIR = "c:\\test\0";
SHFILEOPSTRUCT sh;

sh.hwnd=Form1->Handle;
sh.wFunc = FO_DELETE;
sh.pFrom = DIR.c_str();
sh.pTo = "NULL";
sh.fFlags = FOF_NOCONFIRMATION | FOF_SILENT;
sh.hNameMappings = 0;
sh.lpszProgressTitle = NULL;

SHFileOperation (&sh);
ForceDirectories("C:\\Test");
то при попытке удаления возникает ошибка.
Почему?

Автор: dim 14.1.2003, 04:15
А что такое AnsiString? Вероятно в нем и проблема.

Автор: Klin 14.1.2003, 04:17
Цитата
Подскажите, как получить список файлов, лежащих в определённой директории.

Используй компонент FileListBox.
Цитата
ForceDirectories("C:\\Test");
Эта строчка снова создаёт директорию(пустую).

З.Ы. Я не модератор, но с этим сталкивался,один топик - один вопрос.

Автор: Klin 14.1.2003, 04:21
Цитата
А что такое AnsiString?

AnsiString совсем не в нём, он пишится для создания типа переменной, в котором можно хранить текст, он тут не причём.

Автор: Medved 20.1.2003, 09:08
AnsiString - это 8-ми битная строка в ANSI формате.

Автор: dim 21.1.2003, 07:50
Pegas Объясняю - меня интересовало не что такое ANSI строка (я это вообщем то еще знаю), а что за класс AnsiString (поскольку я с Bulder-ом не знаком). А в целом очень ценное замечание :)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)