繁体中文
设为首页
加入收藏
当前位置:技术首页 >> 开发 >> Delphi >> Delphi编程创建和删除文件夹

Delphi编程创建和删除文件夹

2006-10-11 16:58:39  作者:admin  来源:赛迪网  浏览次数:69  文字大小:【】【】【
关键字:Delphi
本实例介绍如何在程序中创建文件夹,并且可以将新创建的文件夹删除到回收站中。

向窗体上添加两个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子目录删除。本实例介绍了如何创建文件夹,并且为删除文件夹提供了两种途径——一种是删除文件夹到回收站中,另外一种就是直接删除。


点击收藏到

责任编辑:admin

本文引用地址: http://tech.itzero.com/2006/1011/824.html 请粘贴到你的QQ/MSN上推荐给你的好友

相关文章
Delphi使用VB编写的ActiveX控件全攻略
在delphi.net的VCL.net里使用Ado.net
用Delphi开发Web服务数据库程序
Delphi程序实现对光驱盘盒的开关控制
Delphi中动态链接库(DLL)的建立和使用
在delphi.net的VCL.net里使用Ado.net
Delphi中优秀的字符串分割函数
在Delphi中如何维护COM+的状态信息
用Delphi编写VxD设备驱动程序
Delphi使用VB编写的ActiveX控件全攻略
在delphi中使用xml文档的两种方法
 

最新文章

更多

· Delphi使用VB编写的Acti...
· 在delphi.net的VCL.net里...
· 用Delphi开发Web服务数据...
· Delphi程序实现对光驱盘...
· Delphi中动态链接库(DLL...
· 在delphi.net的VCL.net里...
· Delphi中优秀的字符串分...
· 在Delphi中如何维护COM+...
· 用Delphi编写VxD设备驱动...
· Delphi使用VB编写的Acti...

热点文章

更多

其它推荐