大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 用Delphi编写DelTree程序

用Delphi编写DelTree程序

时间: 2021-07-31 作者:daque

delphi供给了对于文献操纵的很多因变量,个中对于目次操纵的有目次的创造与简略、树立暂时目次、获得暂时目次等。目次的简略有因变量(function)removedir和进程(procedure)rmdir,但它们都只能简略空目次,对于非空目次则不许简略。要实行简略所有目次树(deltree)必需编写步调来简略个中的子目次和文献。   目次中的文献不妨经过挪用因变量deletefile来简略,但对于特出文献(只读、体例、湮没等)则不许灵验简略,必需变动文献属性为普遍文献本领简略。变动文献属性不妨用因变量filesetattr,这边将特出文献的属性树立为普遍文献属性(属性值为0)。   商量到树型目次构造最符合于递归本领,一切这边用递归算法来实行deltree因变量。底下是简直实行步调。   //path是需简略的目次路途   //目次胜利简略归来true,要不归来false   function tform1.deltree (path : string): boolean ;   var    searchrec: tsearchrec;   begin   //确定目次能否生存 if directoryexists(path) then begin   //加入该目次,简略个中的子目次和文献    olddir := getcurrentdir;    chdir(path);   //搜索目次中一切任何文献   findfirst(′?.?′, faanyfile, searchrec);   repeat   //窜改文献属性为普遍属性值    filesetattr(searchrec.name,0);   //即使是目次而且不是.和..则递归挪用deltree   if(searchrec.attr and fadirectory > 0) then   begin   if(searchrec.name[1]<>′.′) then   if(not deltree(searchrec.name)) then   break;   end   //即使是文献径直简略   else   if(not deletefile(searchrec.name))then   break ;   //连接搜索,直到结果   until (findnext(searchrec)<>0) ;   //回到父目次,简略该目次   chdir(′..′);   result := removedir(path); setcurrentdir(olddir);   end   else   result := false ;   end ;   该步调在windows 98、delphi 4.0下编写翻译经过。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.