Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как удалить папку?


plyaznik ©   (2003-10-25 00:49:00) 

Удалять а)в корзину; б)вообще


Nick Denry   (2003-10-25 22:44:00) [1]

Давно кода не было :-(((


Ihor Osov'yak   (2003-10-25 12:21:00) [2]

ладно, я сегодня добрый:

function DeleteFolder(aFolderName: string; aMustVoobsche: boolean): boolean;
(*returns true unless error or user abort*)
var
r: TshFileOpStruct;
i: integer;
begin
aFolderName := aFolderName + #0#0;
result := false;

i := GetFileAttributes(PChar(aFolderName));
if (i = -1) or (i and FILE_ATTRIBUTE_DIRECTORY = 0) then
exit;

fillchar(r, sizeof(r), 0);
r.wFunc := FO_DELETE;
r.pFrom := pChar(aFolderName);
r.fFlags := {FOF_ALLOWUNDO or} FOF_NOCONFIRMATION;
if not aMustVoobsche
then
r.fFlags := r.fFlags or FOF_ALLOWUNDO;

result := (0 = ShFileOperation(r)) and (not r.fAnyOperationsAborted);
end;


ps - набивалось почти по памяти, не тестировалось - могут быть опячатки..
Но идея понятна, надеюсь..

ps2 -
возможно нужно что-то из этого

uses
ShellAPI,
ShlObj,
SHFolder...


Ihor Osov'yak   (2003-10-25 12:13:00) [3]

> "вообще - это с жесткого диска"
тебе же упоминали о FOF_ALLOWUNDO и F1.. Или еще англо-русский словарик
вв помощь позвать?


plyaznik   (2003-10-25 12:01:00) [4]

"вообще - это с жесткого диска"


Guerrillero   (2003-10-25 01:08:00) [5]

SHFileOperation + F1
а) SHFILEOPSTRUCT + FOF_ALLOWUND
б) "вообще" ???


Наверх

Титульная страница Поиск, карта сайта Написать письмо