• DELPHI XE2 遍历子目录及文件《转》


    function MakeFileList(Path,FileExt:string):TStringList ;
    var
      sch:TSearchrec;
    begin
      Result:=TStringlist.Create;
    
      if rightStr(trim(Path), 1) <> '' then
        Path := trim(Path) + ''
      else
        Path := trim(Path);
    
      if not DirectoryExists(Path) then
      begin
        Result.Clear;
        exit;
      end;
    
      if FindFirst(Path + '*', faAnyfile, sch) = 0 then
      begin
        repeat
           Application.ProcessMessages;
           if ((sch.Name = '.') or (sch.Name = '..')) then Continue;
           if DirectoryExists(Path+sch.Name) then
           begin
             Result.AddStrings(MakeFileList(Path+sch.Name,FileExt));
           end
           else
           begin
             if (UpperCase(extractfileext(Path+sch.Name)) = UpperCase(FileExt)) or (FileExt='.*') then
             Result.Add(Path+sch.Name);
           end;
        until FindNext(sch) <> 0;
        FindClose(sch);
      end;
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    var
      I : integer;
    begin
      lst1.Items := MakeFileList(ExtractFilePath(Application.ExeName)+'Report','.fr3');
      for I := 0 to lst1.Count -1 do
        begin
          lst1.Items[I] := StringReplace(StringReplace(lst1.Items[I],ExtractFilePath(Application.ExeName)+'Report','',[rfReplaceAll, rfIgnoreCase]),'','',[rfReplaceAll, rfIgnoreCase]);
        end;
      if lst1.Items[0] = '' then
        lst1.Items.Delete(0);
    
        cbb1.Clear;
      for I := 0 to lst1.Count -1 do
        begin
          cbb1.Items.Add(lst1.Items[I]);
          cbb1.ItemIndex := 0;
        end;
      lst1.Clear;
    end;
  • 相关阅读:
    欧拉回路
    2018 年 ACM-ICPC 焦作站现场赛感受
    3.1 基础-抛小球
    2.2 进阶-禁忌雷炎
    初学Java-循环输入直到文件结束
    1.1 基础-取近似值
    1.2 进阶-对称的二叉树
    LEETCODE
    算法
    算法
  • 原文地址:https://www.cnblogs.com/LceMeaning/p/4195970.html
Copyright © 2020-2023  润新知