Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Удаление файла в корзину

Delphi , Файловая система , Корзина

Удаление файла в корзину

Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Удаление файла в корзину

Функция удаляет файл, имя которого указаывается в аргументе FileName
в корзину. Второй необязательный параметр указывает на Handle окна,
которое будет родительским для отображаемых системой диалоговых окон

Зависимости: Windows, ShellAPI, Forms
Автор:       Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        06 мая 2002 г.
***************************************************** }

function Recycle(const FileName: string; Wnd: HWND = 0): Boolean;
var
  FileOp: TSHFileOpStruct;
begin
  FillChar(FileOp, SizeOf(FileOp), 0);
  if Wnd = 0 then
    Wnd := Application.Handle;
  FileOp.Wnd := Wnd;
  FileOp.wFunc := FO_DELETE;
  FileOp.pFrom := PChar(FileName);
  FileOp.fFlags := FOF_ALLOWUNDO or FOF_NOERRORUI or FOF_SILENT;
  Result := (SHFileOperation(FileOp) = 0) and (not
    FileOp.fAnyOperationsAborted);
end;

Пример использования:

procedure TForm1.Button1Click(Sender: TObject)
begin
  Recycle('d:\folder\filename.ext', Handle);
end;

Это код-набор на языке Delphi, демонстрирующий использование Windows Shell API для утилизации (удаления и перемещения в корзину) файла.

Рассмотрим код:

Функция Recycle

Функция принимает два параметра: FileName (строка, представляющая имя файла для утилизации) и Wnd (опциональный HWND, указывающий родительское окно для системных диалоговых окон).

  1. Функция инициализирует переменную TSHFileOpStruct, используемую для хранения информации о файловой операции.
  2. Если не указано родительское окно (Wnd = 0), оно по умолчанию устанавливается в handle основного окна приложения.
  3. Функция настраивает поля в структуре FileOp:
    • wFunc: определяет тип файловой операции (в этом случае FO_DELETE для удаления файла).
    • pFrom: указывает на строку имени файла (FileName).
    • fFlags: specifies additional flags for the file operation. В этом случае она устанавливает следующие опции:
      • FOF_ALLOWUNDO: позволяет пользователю отменить операцию.
      • FOF_NOERRORUI: подавляет ошибочные сообщения.
      • FOF_SILENT: выполняет операцию бесшумно (без запросов).
  4. Функция вызывает SHFileOperation с структурой FileOp и проверяет ее возвращаемое значение:
    • Если возвращаемое значение равно 0, это означает, что операция была успешной.
    • Она также проверяет, были ли какие-либо операции отменены (fAnyOperationsAborted) и возвращает false в этом случае.

Пример использования

Пример кода определяет форму TForm1 с кнопкой. Когда кнопка нажата, она вызывает функцию Recycle, чтобы утилизировать файл с именем 'd:\folder\filename.ext', используя handle основного окна приложения как родительское окно.

В целом, этот код предоставляет простой и удобный способ удаления файлов и перемещения их в корзину в приложениях на языке Delphi.

Функция Recycle удаляет файл, имя которого указано в аргументе FileName, в корзину, а также может задавать родительский Handle окна для отображения системных диалоговых окон.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Корзина ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-27 01:15:39/0.0033261775970459/0