zoukankan      html  css  js  c++  java
  • FindFirst,FindNext,FindClose学习

    procedure TForm1.Button1Click(Sender: TObject);
    var
    Dir: TSearchRec; //文件结构
    begin
    if FindFirst(edit1.Text,faAnyFile,Dir) = 0 then
    begin
    repeat
    //是目录吗?
    //and 的作用是通过 "与" fadirectory 消掉Attr中的其它文件,只取留下faDirectory属性
    //通过 or 可以添另其它属性
    if(Dir.Attr and faDirectory) = faDirectory then
    begin
    ListBox1.Items.Add(dir.Name);
    if (dir.Name <> '.') and (dir.name <> '..') then
    GetSubDir('','D:\'+dir.Name,5,true);
    end;
    until (FindNext(Dir) <> 0);
    end;
    FindCLose(Dir);
    end;

    procedure TForm1.GetSubDir(Filter, Folder: string;TreeLevel:Integer; Recurse: boolean);
    var
    Dir: TSearchRec;
    count :Integer;
    begin
    count := 0;
    Folder :=IncludeTrailingPathDelimiter(Folder);

    if FindFirst(Folder+'*.*',faDirectory,Dir) = 0 then
    begin
    repeat
    //是目录吗?
    //and 的作用是通过 "与" fadirectory 消掉Attr中的其它文件,只取留下faDirectory属性
    //通过 or 可以添另其它属性
    if(Dir.Attr and faDirectory) = faDirectory then
    begin
    if (dir.Name <> '.') and (dir.name <> '..') then
    begin
    inc(count); //文件深度count

    if(count > TreeLevel) then
    break;

    ListBox1.Items.Add(dir.Name);

    if Recurse then
    GetSubDir('',Folder+dir.Name,2,Recurse); //递归调用获取子目录
    end;
    end;
    until (FindNext(Dir) <> 0);
    end;
    FindCLose(Dir);
    end;
  • 相关阅读:
    进程 线程
    random模块 时间模块 sys模块 os模块 json模块 pickle模块
    异常处理
    面向对象进阶篇
    面向对象初级篇
    正则表达式
    re模块的相关知识
    CNN归纳偏好
    window和Linux下安装nvidia的apex
    使用GrabCut做分割
  • 原文地址:https://www.cnblogs.com/pengshaomin/p/2343047.html
Copyright © 2011-2022 走看看