![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как удалить папку?
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
б) "вообще" ???