如何获得指定目录下的所以文件的文件名?
解决方案 »
- 请问:同步发送、异步发送、同步调用、异步调用、阻塞调用、非阻塞调用 之间的关系是什么?
- 关于fastReport的应用: 如何使Master data band 中数据隔行显示不同的底色???
- 在delphi中怎样调用 oracle数据库中的存取过程?
- 高分求教编写COM+和调用的操作步骤!!
- 请教textout输出的字符为何老是有背景色?
- 给大家发布自己写的一个函数,得到一天是当年的第几周
- BathchMove实现数据导入为什么只能导入一条记录,求助!
- 程序中如何引用汇编程序
- DBGrid取数据放到有一个临时表里去
- 在Delphi的代码编辑器中,将一段代码大小转换的快捷键是什么??
- 关于数据流的方法
- 原意奉上500分请教一个小弟很为难的问题!
var
sr : TSearchRec;
PathDir : String;
begin
memo1.Lines.Clear;
//pathdir:='e:\gzhx\*.*';
PathDir := 'd:\rsc\*.pas';
If FindFirst(PathDir, faanyfile, sr)=0 Then
Begin
//showmessage('123');
memo1.Lines.Add(sr.Name+' '+inttostr(sr.Size));
While FindNext(sr)=0 Do
Begin
memo1.Lines.Add(sr.Name+' SIZE:'+inttostr(sr.Size)+'KB');
End;
End;
end;
FindNext
CloseFile
var
i, Count: integer;
SubDir: TStrings;
SearchRec: TSearchRec;
{Begin Local Function}
function IsValidDir(SearchRec: TSearchRec): integer;
begin
if (SearchRec.Attr <> 16) and (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
Result:=0 {It's not dir}
else
if (SearchRec.Attr = 16) and (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
Result:=1 {It's not root dir}
else
Result:=2; {It's root dir}
end;
{End Local Function}
begin
if Trim(Mask) <> '' then
begin
if (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) then
begin
repeat
if IsValidDir(SearchRec) = 0 then
begin
Inc(Num);
FoundResult.Add(Path + SearchRec.Name);
end;
Application.ProcessMessages;
until (FindNext(SearchRec) <> 0);
end;
FindClose(SearchRec);
if SubFolder then
begin
SubDir := TStringList.Create;
if (FindFirst(Path + '*.*', faDirectory, SearchRec) = 0) then
begin
repeat
if IsValidDir(SearchRec) = 1 then SubDir.Add(SearchRec.Name);
Application.ProcessMessages;
until (FindNext(SearchRec) <> 0);
end;
FindClose(SearchRec);
Count := SubDir.Count - 1;
for i := 0 to Count do
SearchFile(Path + SubDir.Strings[i] + '\', Mask, true, FoundResult, Num);
SubDir.Free;
end;
end;
end;
var SearchRec: TSearchRec;
list:tstringlist;
retval:integer;
begin
list:=tstringlist.create;
RetVal := FindFirst('c:\temp\*.*', faAnyFile, SearchRec);
try
while RetVal = 0 do
begin
if (searchrec.name<>'.') and (searchrec.name<>'..') then
list.add(searchrec.name);
RetVal := FindNext(SearchRec);
end;
finally
FindClose(SearchRec);
end;
end;