Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];

Вниз

удалить папку как   Найти похожие ветки 

 
Arcalel   (2006-07-08 14:32) [0]

как удалить папку со всем её содержимым?


 
begin...end ©   (2006-07-08 14:38) [1]

SHFileOperation


 
Arcalel   (2006-07-08 16:45) [2]

а как ей пользоваться
пример пожалуйста


 
Homo Sapiens ©   (2006-07-08 17:59) [3]

Нажми Shift+Delete потом OK


 
Homo Sapiens ©   (2006-07-08 18:00) [4]

Вообще вопрос задан некорректно. Возможно, имелось в виду
"Как удалить... средствами делфи???"


 
begin...end ©   (2006-07-08 18:19) [5]

> Arcalel   (08.07.06 16:45) [2]

uses ShellAPI;

var
 SHFileOp: TSHFileOpStruct;
 
begin
 FillChar(SHFileOp, sizeof(SHFileOp), 0);
 with SHFileOp do
 begin
   wFunc := FO_DELETE;
   pFrom := "C:\TestFolder" + #0;
   fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
 end;
 Win32Check(SHFileOperation(SHFileOp) <> 0);
end.


Этот код удалит папку в корзину. Если нужно мимо корзины, уберите флаг FOF_ALLOWUNDO.


 
Шпиён   (2006-07-08 18:43) [6]


> begin...end ©   (08.07.06 18:19) [5]

D6, WinXP Pro rus

Win32Check(SHFileOperation(SHFileOp) <> 0);

Папка удаляется, но после завершения выдается ошибка:

SystemError. Code: 6.
Неверный дескриптор.


 
Шпиён   (2006-07-08 18:49) [7]


> Шпиён   (08.07.06 18:43) [6]

Call Win32Check with the return value of a Windows API call that returns a Boolean to indicate success or failure. If the Windows API returns False (indicating failure), Win32Check calls RaiseLastWin32Error to raise an exception.  If the Windows function returns True, Win32Check returns True.

Следовательно, правильно будет:

 Win32Check(SHFileOperation(SHFileOp) = 0);


 
Шпиён   (2006-07-08 19:09) [8]

А в данном конкретном случае (SHFileOperation, флаг FOF_SILENT не установлен) - Win32Check вообще излишество. Если только Вы не хотите в случае ошибки увидеть два сообщения (одно выдаст SHFileOperation, второе - Win32Check).


 
begin...end ©   (2006-07-08 19:23) [9]

> Шпиён   (08.07.06 18:49) [7]

Да, Вы правы, в знаке я ошибся.


 
NEchto   (2006-07-08 22:09) [10]

Homo Sapiens ©   (08.07.06 18:00) [4]

>
> Вообще вопрос задан некорректно. Возможно, имелось в виду
> "Как удалить... средствами делфи???"


Вы нелепы
Это же форум по ДЕЛЬФИ
зачем уточнять?????



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
15-1151905153
Ega23
2006-07-03 09:39
2006.07.30
С Днём рождения! 2 июля


15-1151405664
ArtemESC
2006-06-27 14:54
2006.07.30
Мышак в DrDos e..


1-1150458026
Вася123
2006-06-16 15:40
2006.07.30
Автоматическое увеличение высоты ячеек в StirngGrid е


9-1131221627
2Wish
2005-11-05 23:13
2006.07.30
Как расшифровать файл


2-1152392627
privet
2006-07-09 01:03
2006.07.30
кнопошки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский