• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi拷贝目录

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

 
 

----   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;

----   1.2拷贝目录的函数:CopyDir  

function   CopyDir(sDirName:String;
sToDirName:string):Boolean;
begin
            if   Length(sDirName) <   =0   then
                  exit;
            //拷贝...
            Result:=DoCopyDir(sDirName,sToDirName);
end;


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
基于matlab的数字图像处理发布时间:2022-07-18
下一篇:
How to Manipulating Text in MATLAB发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap