当前位置: 源码素材网 » Delphi教程 » 详情页

Delphi 删除文件到Windows回收站

  •   时间:2018-10-02
  • 概述:删除文件 回收站

如果操作不慎删除了有用的文件,Windows提供的回收站还可以让我们把文件“找”回来,它可以暂时存储一些删除的文件。本实例将介绍如何通过Delphi程序把文件删除到回收站中。向窗体上添加一个TLabel组件、一个TEdit组件和一个TButton组件。首先在程序的uses段中加入ShellApi。在程序运行的过程中,在“Path:”对应的文本框中输入待删除的文件路径和文件名称,然后单击“删除”按钮,程序就会把目标文件删除到回收站,响应代码如下:

procedure TfrmMain.btnDeleteClick(Sender: TObject);
var
T:TSHFileOpStruct;
P:String;
begin
P:=edtPath.Text;
with T do
begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:=Pchar(P);
fFlags:=FOF_ALLOWUNDO
end;
if SHFileOperation(T)=0 then
ShowMessage('删除成功')
else
ShowMessage('删除失败');
end;

程序通过填充TSHFileOpStruct 类型的对象T的属性来设置本次删除操作可以Undo,当然最终的删除操作是通过SHFileOperation(T)来完成的。如果SHFileOperation函数返回值为0,就表示删除成功,否则表示删除失败。程序代码如下:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellApi, StdCtrls;
type
TfrmMain = class(TForm)
edtPath: TEdit;
Label1: TLabel;
btnDelete: TButton;
procedure btnDeleteClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.btnDeleteClick(Sender: TObject);
var
T:TSHFileOpStruct;
P:String;
begin
P:=edtPath.Text;
with T do
begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:=Pchar(P);
fFlags:=FOF_ALLOWUNDO
end;
if SHFileOperation(T)=0 then
ShowMessage('删除成功')
else
ShowMessage('删除失败');
end;
end.

保存文件,然后按F9键运行程序,在“Path:”对应的文本框中输入待删除的文件路径和文件名称(如d:\1.dat等),然后单击“删除”按钮,程序就会显示一个提示用户确认删除的对话框,单击“是(Y)”按钮,程序就会显示删除操作是否成功的提示信息,通过TSHFileOpStruct可以非常方便地对文件进行删除和拷贝等工作,本程序只是粗略地演示了它的用法,读者还可以进一步发掘,以发挥它的更大用途。

    相关声明:

      若“Delphi 删除文件到Windows回收站”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。