delphi获得某个磁盘或是文件夹的所有子目录  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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;
至于怎么加密以后在慢慢贴上。不过大体思路就是:加密的时候从内到位,解密的时候从外到内。

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.14749908447266 seconds