findfile.pas

来自「第归调用函数」· PAS 代码 · 共 29 行

PAS
29
字号

//递归调用函数AddFileTreeNode以取得整个磁盘目录及文件
//参数:nowTreeView,欲构造于其中的TTreeView VCL控件
//      nowNode,当前节点
//      nowPath,当前路径
//      Write By Laytau in Xi'an,10/21/2002 

procedure AddFileTreeNode(nowTreeView:TTreeView;nowNode:TTreeNode;nowPath:string);
var
   nodeTemp:TTreeNode;         //当前节点,临时变量
   nowRecResearch:TSearchRec;  //临时TSearchRec变量,存放查找到的文件属性
begin
   if(FindFirst(nowPath+'\*.*',FaAnyFile,nowRecResearch)=0)then  //当前目录不为空
   begin
      repeat  //-----------------------------------------------------------------------------//
      begin                                                                                  //
             if (nowRecResearch.Attr=FaDirectory) and                            //如果是目录//
                (nowRecResearch.Name<>'.') and (nowRecResearch.Name<>'..') then  //非上级目录//
                begin                                                                        // 
                      nodeTemp:=nowTreeView.Items.AddChild(nowNode,nowRecResearch.Name);     //
                      AddFileTreeNode(nowTreeView,nodeTemp,nowPath+'\'+nowRecResearch.Name); //
                end                                                                          // 
             else                                                                //如果是文件//
                nodeTemp:=nowTreeView.Items.AddChild(nowNode,nowRecResearch.Name);           //
      end;                                                                                   //
      until FindNext(nowRecResearch) <> 0; //直到查找结束 -----------------------------------//
      FindClose(nowRecResearch);           //关闭文件查找
   end;
end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?