procedure GetAllFiles(MainPath: String);
var
nI: Integer;
SearchRec: TSearchRec;
sFileName: String;
sMainpath: String;
begin if MainPath[Length(MainPath)]='\' then sMainpath:=MainPath
else sMainpath:=MainPath+'\';
FindFirst(sMainPath+'*.*',faAnyFile,SearchRec);
if SearchRec.Name<>'' then
begin
sFileName:=UpperCase(SearchRec.Name);
if (Pos('.ZIP',sFileName)=Length(sFileName)-3) then//你可以换成其他的如'.mp3'
AllFiles.Add(sMainPath+SearchRec.Name);
if (SearchRec.Attr and faDirectory)=1 then
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
GetAllFiles(sMainPath+SearchRec.Name);
while (FindNext(SearchRec)=0) do
begin
sFileName:=UpperCase(SearchRec.Name);
if (Pos('.ZIP',sFileName)=Length(sFileName)-3) then
listbox1.Add(sMainPath+SearchRec.Name);
if (SearchRec.Attr and faDirectory)=faDirectory then
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
GetAllFiles(sMainPath+SearchRec.Name);
end;
end;end;
var
nI: Integer;
SearchRec: TSearchRec;
sFileName: String;
sMainpath: String;
begin if MainPath[Length(MainPath)]='\' then sMainpath:=MainPath
else sMainpath:=MainPath+'\';
FindFirst(sMainPath+'*.*',faAnyFile,SearchRec);
if SearchRec.Name<>'' then
begin
sFileName:=UpperCase(SearchRec.Name);
if (Pos('.ZIP',sFileName)=Length(sFileName)-3) then//你可以换成其他的如'.mp3'
AllFiles.Add(sMainPath+SearchRec.Name);
if (SearchRec.Attr and faDirectory)=1 then
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
GetAllFiles(sMainPath+SearchRec.Name);
while (FindNext(SearchRec)=0) do
begin
sFileName:=UpperCase(SearchRec.Name);
if (Pos('.ZIP',sFileName)=Length(sFileName)-3) then
listbox1.Add(sMainPath+SearchRec.Name);
if (SearchRec.Attr and faDirectory)=faDirectory then
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
GetAllFiles(sMainPath+SearchRec.Name);
end;
end;end;
解决方案 »
- 多进程调用同一dll和多线程调用同一dll有什么区别
- Access密码忘记了怎么办
- 一个简单但让人困惑的问题!
- 请问:怎么样在一个form上制作一个表格,然后把表格插入到已创建好的word文档里去?
- 上海目前的delphi开发工程师的薪水
- 无法启动应用程序。工作组信息文件丢失,或是已被其它用户独占式打开
- 请问,如用table,与datasource来进行数据的查询,想查询出所有数据,如何办?
- statement expected but "procedure" found 是什么错误?
- ------如何知道对方QQ所在的IP地址?她们老是用几个QQ来看我是否花心,烦!!!---
- Database控件越多,是否速度越快呢?
- 那位仁兄有详细的api,给我一份
- 分布式应用,delphi和java那个更有前途?我认为是java!对java中间件的开发,那位大虾能发表一下看法。
SearchRec.time就可以获得
f: TSearchRec;
result:boolean;
begin
result := findfirst(path+'*.mp3',faAnyFile,f) = 0;
if Result then
begin
listbox1.Items.Add(f.name);
repeat
result := findnext(f) = 0;
if result then listbox1.Items.Add(f.name);
else findclose(f);
until (not result);
end;
end;
要用递归搜索
搜索一下以来的帖子,有很多这类问题的
你可把程序改一下,写成递归调用,就可连子目录的信息都得到。