博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DELPHI XE2 遍历子目录及文件《转》
阅读量:5257 次
发布时间:2019-06-14

本文共 1435 字,大约阅读时间需要 4 分钟。

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;

 

转载于:https://www.cnblogs.com/LceMeaning/p/4195970.html

你可能感兴趣的文章
作业三4
查看>>
多态存在的3个必要条件
查看>>
code First 四
查看>>
Django与Ajax
查看>>
再做一题,2013-6-16更新
查看>>
Oracle_Statspack性能诊断工具
查看>>
面向对象(封装、继承、多态、抽象)
查看>>
Memcached数据库缓存
查看>>
转获取sql维护的表关系
查看>>
网络基础——TCP/IP五层模型
查看>>
HDU-3018 Ant Trip(欧拉回路)
查看>>
CDOJ 1251 谕神的密码 贪心
查看>>
CMYK列印颜色
查看>>
多线程 测试
查看>>
web提前做好测试
查看>>
tp5.1 本地正常, 线上route.php不起作用的问题
查看>>
[笔记] 斯特林公式
查看>>
opencv删除轮廓
查看>>
实战分区表:SQL Server 2k5&2k8系列(三)
查看>>
JS简单的倒计时(代码优化)
查看>>