本文整理自网络,侵删。
要想能实现加密所有文件夹包括子文件夹就必须得获得文件夹的目录列表。我折腾了一下午,终于折腾明白了。该函数用来获得某个磁盘或是某个文件下所有文件夹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》频道 >>