展会信息港展会大全

Delphi编程创建和删除文件夹
来源:互联网   发布日期:2016-01-26 10:12:07   浏览:3116次  

导读:向窗体上添加两个TButton组件,一个用于创建新的文件夹,另一个用于删除新创建的文件夹,设计完成的窗体如图1所示。 图1 主界面 首先在程序的uses段中添加对ShellApi的引用,另外还要在创建按钮的响应过程 ...

向窗体上添加两个TButton组件,一个用于创建新的文件夹,另一个用于删除新创建的文件夹,设计完成的窗体如图1所示。

图1 主界面

首先在程序的uses段中添加对ShellApi的引用,另外还要在 创建 按钮的响应过程中添加下列代码:

procedure TForm1.btnCreateClick(Sender: TObject);

begin

CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+ Test ),nil);

end;

程序运行初期就会执行 CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+ Test ),nil)语句,在程序实例所 在的目录中创建一个子目录test。

在程序运行过程中,单击 删除 按钮就可以将新创建的test子目录删除,响应代码如下:

procedure TForm1.btnDeleteClick(Sender: TObject);

var

T:TSHFileOpStruct;

P:String;

begin

P:=ExtractFilePath(ParamStr(0))+ Test ;

with T do

begin

Wnd:=0;

wFunc:=FO_DELETE;

pFrom:=PChar(P);

pTo:=nil;

fFlags:=FOF_ALLOWUNDO+FOF_NOERRORUI;

hNameMappings:=nil;

lpszProgressTitle:= 正在删除文件夹 ;

fAnyOperationsAborted:=False;

end;

SHFileOperation(T);

end;

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

如果用户在程序中想要直接删除test子目录,可以直接通过调用RemoveDirectory (Pchar(ExtractFilePath(ParamStr(0))+ Test ))语句来实现

程序代码如下:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ShellApi;

type

TForm1 = class(TForm)

btnCreate: TButton;

btnDelete: TButton;

procedure btnCreateClick(Sender: TObject);

procedure btnDeleteClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnCreateClick(Sender: TObject);

begin

CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+ Test ),nil);

end;

procedure TForm1.btnDeleteClick(Sender: TObject);

var

T:TSHFileOpStruct;

P:String;

begin

P:=ExtractFilePath(ParamStr(0))+ Test ;

with T do

begin

Wnd:=0;

wFunc:=FO_DELETE;

pFrom:=PChar(P);

pTo:=nil;

fFlags:=FOF_ALLOWUNDO+FOF_NOERRORUI;

hNameMappings:=nil;

lpszProgressTitle:= 正在删除文件夹 ;

fAnyOperationsAborted:=False;

end;

SHFileOperation(T);

//RemoveDirectory(PChar(ExtractFilePath(ParamStr(0))+ Test ));

end;

end.

保存文件,然后按F9键运行程序,程序运行的初始画面如图2所示。

图2 程序运行的初始画面

单击 创建 按钮就会在程序实例所在的目录中创建一个子目录test,单击 删除 按钮就可以将新创建的test子目录删除。

本实例介绍了如何创建文件夹,并且为删除文件夹提供了两种途径一种是删除文件夹到回收站中,另外一种就是直接删除。

赞助本站

人工智能实验室

相关热词: Delphi 创建 删除文件夹

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港