在Delphi中实现对目录拷贝、删除和搬移的操作
利用Win32 API函数和结构,以及递归的程序设计思想,笔者实现了对任意目录进行拷贝、删除和搬移的功能(分别相当于DOS中的XCopy、DelTree和Move命令)。以下分别给出了实现代码:
---- 1、拷贝目录
---- 为了能拷贝目录下带有子目录的情况,先定义一个辅助的拷贝函数,它是递归执行的,直到把目录下的所有文件和子目录都拷贝完。
---- 1.1拷贝目录的递归辅助函数:DoCopyDir
function DoCopyDir(sDirName:String;
sToDirName:String):Boolean;
var
hFindFile:Cardinal;
t,tfile:String;
sCurDir:String[255];
FindFileData:WIN32_FIND_DATA;
begin
//先保存当前目录
sCurDir:=GetCurrentDir;
ChDir(sDirName);
hFindFile:=FindFirstFile('*.*',FindFileData);
if hFindFile< >INVALID_HANDLE_VALUE then
begin
if not DirectoryExists(sToDirName) then
ForceDirectories(sToDirName);
repeat
tfile:=FindFileData.cFileName;
if (tfile='.') or (tfile='..') then
Continue;
if FindFileData.dwFileAttributes=
FILE_ATTRIBUTE_DIRECTORY then
begin
t:=sToDirName '' tfile;
if not DirectoryExists(t) then
ForceDirectories(t);
if sDirName[Length(sDirName)]< >'' then
DoCopyDir(sDirName '' tfile,t)
else
DoCopyDir(sDirName tfile,sToDirName tfile);
end
else
begin
t:=sToDirName '' tFile;
CopyFile(PChar(tfile),PChar(t),True);
end;
until FindNextFile(hFindFile,FindFileData)=false;
FindClose(hFindFile);
end
else
begin
ChDir(sCurDir);
result:=false;
exit;
end;
//回到原来的目录下
ChDir(sCurDir);
result:=true;
end;
- 暑期缤纷巨献之~------超级+无敌--------XML+JAVA
- 办公自动化系统公文归档代码
- asp中使用图片验证码的方法
- 支付宝Payto接口的C#.net实现方法
- 在你的服务器端代码中使用线程和创建异步处理(结
- C#实现web信息自动抓取
- DATAGRID分页,增加首页、最后一页(源码)
- 利用c#制作简单的留言板 (3)
- Asp的安全管理(9) 模拟攻击 --------------
- Tag属性的妙用
- 结合ashx来在DataGrid中显示从数据库中读出的图片
- windows200s.iis.asp网页中修改access记录时无效
- J2EE综合:Java学习:EJB的专用术语解释
- aspjpeg缩小图片的组件使用介绍(1)
- 排行
- 推荐
- 最新
- C# Socket多线程编程实例
- Asp.net Ajax 中的脚本错误: Sys未定义 的解决方法
- 身份证号码15位升18位(C#)
- DataGrid 控件的使用
- Visual Basic 界面设计大观
- asp.net ajax学习系列功能强大的UpdatePanel控件
- Session丢失问题解决方案
- Javascript与asp.net 实现Ajax多文件无刷新上传
- Web Service描述语言 WSDL 详解(1)--为什么使用WSDL?[转]
- XP下java jdk环境变量设置
- Linux多线程编程
- JSP Struts之HTML标签库详解
- Java GUI:SWT/Swing/AWT的介绍及比较
- C#连接mysql
- asp http 500 - 内部服务器错误 请求的资源在使用中
- 教你在VB中操作 DataGrid 视图
- 关于ASP.NET调用JavaScript的实现
- 使用VB实现Excel自动获取外部数据
- 从资源文件里加载文件(C#)
- 怎样在JAVA文件中获取该项目的相对路径
- Asp.Net Unleashed 2nd Edition 学习笔记 第三部分
- 使用AJAX技术实现网页无闪自动局部刷新
- UpdatePanel与UrlRewrite
- 新手入门:介绍JSP中request属性的用法
- 基于ASP.NET AJAX的WebPart开发与部署
