zoukankan      html  css  js  c++  java
  • Delphi 实现目录删除、复制、移动

    unit MainUnit;
    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, FileCtrl, ShellAPI;

    type
    TMainForm = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    MainForm: TMainForm;

    implementation

    {$R *.DFM}

    procedure TMainForm.Button1Click(Sender: TObject);
    var
    yDir: String;
    begin
    yDir:= '';
    if SelectDirectory(yDir, [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
    Edit1.Text:= yDir;
    end;

    procedure TMainForm.Button2Click(Sender: TObject);
    var
    mdDir: String;
    begin
    mdDir:= '';
    if SelectDirectory(mdDir, [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
    Edit2.Text:= mdDir;
    end;

    procedure TMainForm.Button3Click(Sender: TObject);
    var
    OPS: TSHFileOpStruct;
    FromBuf, ToBuf: Array[0..128]of Char;
    begin
    FillChar(FromBuf, SizeOf(FromBuf), 0); //初始化数组FromBuf
    FillChar(ToBuf, SizeOf(ToBuf), 0); //初始化数组ToBuf
    StrPCopy(FromBuf, PChar(Edit1.Text)); //将FromBuf填入源目录
    StrPCopy(ToBuf, PChar(Edit2.Text)); //将ToBuf填入目的目录
    with OPS do
    begin
    Wnd:= Handle;
    wFunc:= FO_COPY; //进行复制
    pFrom:= @FromBuf;
    PTo:= @ToBuf;
    fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
    fAnyOperationsAborted:= False;
    hNameMappings:= nil;
    lpszProgressTitle:= nil;
    end;
    if SHFileOperation(OPS)= 0 then
    MessageBox(Handle, '复制成功!', '复制信息', MB_OK+ MB_ICONINFORMATION);

    end;

    procedure TMainForm.Button4Click(Sender: TObject);
    var
    OPS: TSHFileOpStruct;
    FromBuf: Array[0..128]of Char;
    begin
    FillChar(FromBuf, SizeOf(FromBuf), 0); //初始化数组FromBuf
    StrPCopy(FromBuf, PChar(Edit1.Text)); //将FromBuf填入源目录
    with OPS do
    begin
    Wnd:= Handle;
    wFunc:= FO_DELETE; //进行删除
    pFrom:= @FromBuf;
    pTo:= nil;
    fFlags:= FOF_NOCONFIRMATION;
    lpszProgressTitle:= '正在删除';
    end;
    if SHFileOperation(OPS)= 0 then
    MessageBox(Handle, '删除成功!', '删除信息', MB_OK+ MB_ICONINFORMATION);
    end;

    procedure TMainForm.Button5Click(Sender: TObject);
    var
    OPS: TSHFileOpStruct;
    FromBuf, ToBuf: Array[0..128]of Char;
    begin
    FillChar(FromBuf, SizeOf(FromBuf), 0); //初始化数组FromBuf
    FillChar(ToBuf, SizeOf(ToBuf), 0); //初始化数组ToBuf
    StrPCopy(FromBuf, PChar(Edit1.Text)); //将FromBuf填入源目录
    StrPCopy(ToBuf, PChar(Edit2.Text)); //将ToBuf填入目的目录
    with OPS do
    begin
    Wnd:= Handle;
    wFunc:= FO_MOVE; //进行移动
    pFrom:= @FromBuf;
    PTo:= @ToBuf;
    fFlags:= FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
    fAnyOperationsAborted:= False;
    hNameMappings:= nil;
    lpszProgressTitle:= '正在移动';
    end;
    if SHFileOperation(OPS)= 0 then
    MessageBox(Handle, '移动成功!', '移动信息', MB_OK+ MB_ICONINFORMATION);

    end;

    end.

  • 相关阅读:
    XSD限定/Facets
    XSD元素替换(Element Substitution)
    XSD指示器
    乔布斯29年前的预言
    三年程序员生涯的感悟、总结和憧憬
    用Jetty快速开发J2EE应用
    Cygwin安装
    Maven依赖继承的写法
    Struts2自定义日期转换器
    Struts2三种数据转移方式
  • 原文地址:https://www.cnblogs.com/fuhuo/p/11152209.html
Copyright © 2011-2022 走看看