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;
  • 相关阅读:
    leetcode-409
    leetcode-836
    leetcode-1160
    leetcode-面试题13
    leetcode-695
    go的一些小lib
    leetcode-300
    cookie
    php上传文件
    PHP 文件创建/写入
  • 原文地址:https://www.cnblogs.com/pengshaomin/p/2343047.html
Copyright © 2011-2022 走看看