delphi获得某个磁盘或是文件夹的所有子目录


本文整理自网络,侵删。

 
要想能实现加密所有文件夹包括子文件夹就必须得获得文件夹的目录列表。我折腾了一下午,终于折腾明白了。
该函数用来获得某个磁盘或是某个文件下所有文件夹
function GetDirList(pPath: String): TStringList;
var
  SearchRec:TSearchRec;
  i:Integer;
  lStringList:TStringList;
  TempPath:string;
begin
  lStringList:=TStringList.Create;
  TempPath:=pPath+'\*.*';
  i:=FindFirst(TempPath,faDirectory,SearchRec);
  while i=0 do
  begin
    if SearchRec.Attr=16 then
    begin
      if (SearchRec.Name<>'.')and(SearchRec.Name<>'..') then
        lStringList.Add(SearchRec.Name);
    end;
    i:= FindNext(SearchRec);
  end;
  FindClose(SearchRec);
  Result:=lStringList;
end;
该函数用来得到某个磁盘或是文件夹下的所有文件夹包括子文件夹。
function TForm1.GetDirTreeList(pPath: String): TStringList;
var
  SearchRec:TSearchRec;
  i:Integer;
  TempStringList,lStringList:TStringList;
  TempPath:string;
begin
  lStringList:=TStringList.Create;
  TempPath:=pPath+'\*.*';
  i:=FindFirst(TempPath,faDirectory,SearchRec);
  while i=0 do
  begin
    if SearchRec.Attr=16 then
    begin
      if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
      begin
        lStringList.Add(pPath+'\'+SearchRec.Name);
        TempStringList:=GetDirTreeList(pPath+'\'+SearchRec.Name);
        lStringList.Text:=lStringList.Text+TempStringList.Text;
      end;
    end;
    i:= FindNext(SearchRec);
  end;
  Result:=lStringList;
end;
至于怎么加密以后在慢慢贴上。不过大体思路就是:加密的时候从内到位,解密的时候从外到内。

相关阅读 >>

Delphi 公历到农历的转换法

Delphi 字符串中加入换行符slinebreak

Delphi 如何使用findfirst搜索不同的文件类型?

Delphi datetimetostr函数专用优化版

Delphi 加载excel 导入数据库

Delphi 在状态条中显示进度条,webbrowser示例

Delphi获取进程和模块信息

Delphi 从twebbrowser webbrowser得到全部html源码

indy tidtcpclient 的一个用法上要留意的问题,以及 http

Delphi中format与formatdatetime函数详解

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...