奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 程序开发 >> Delphi >> Delphi编程创建和删除文件夹
程序开发
Asp
PHP
JSP
CGI/Perl
XML
.Net
C/C++/C#
Visual Basic
Visual C++
Delphi
Java
汇编语言
  • Delphi设计可中/英文切

  • Delphi实现网页表单数

  • 用Delphi开发Web服务数

  • Delphi中利用钩子实现

  • 一个判断定文件是否为

  • 把Flash文件转换为Exe

  • 用Delphi实现文件下载

  • Delphi中保存图像列表

  • Delphi编程创建和删除文件夹
    字体:

    中华网络安全联盟    作者:燕南天    来源:赛迪网    时间:2006-4-20

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

    向窗体上添加两个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’))语句来实现。

    程序代码如下:

    <TABLE borderColor=#cccccc width="90%" align=center bgColor=#e3e3e3 border=1>
    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子目录删除。

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

    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.