转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
Delphi编程创建和删除文件夹         ★★★★

Delphi编程创建和删除文件夹

作者:闵涛 文章来源:闵涛的学习笔记 点击数:629 更新时间:2009/4/23 18:25:24

  本实例介绍如何在程序中创建文件夹,并且可以将新创建的文件夹删除到回收站中。

  向窗体上添加两个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子目录删除。

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


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台