procedure TForm1.Button1Click(Sender: TObject); var SearchRec:TSearchRec; ext,AppPath:string; begin listbox1.Items.Clear; AppPath:='d:\test\'; ext:='*.*'; FindFirst(AppPath+ext,faAnyFile-faDirectory,SearchRec); listbox1.Items.Add(SearchRec.Name); while FindNext(SearchRec)=0 do listbox1.Items.Add(SearchRec.Name); listbox1.items为你需要的结果 end;
function GetFileName(DireStr: string; FileName: string): string; var sr: TSearchRec; FileAttrs: Integer; begin Result:=''; FileAttrs := faArchive; if FindFirst(DireStr + FileName, FileAttrs, sr) = 0 then begin if (sr.Attr and FileAttrs) = sr.Attr then Result := Result + DireStr + sr.Name + #13#10; while FindNext(sr) = 0 do begin if (sr.Attr and FileAttrs) = sr.Attr then Result := Result + DireStr + sr.Name + #13#10; end; FindClose(sr); end; end;function GetDireFile(DireStr: string; FileName: string): string; var sr: TSearchRec; FileAttrs: Integer; TempDireStr: string; begin Result := ''; Result:=Result+GetFileName(DireStr,FileName); FileAttrs := faDirectory; if FindFirst(DireStr + '*.*', FileAttrs, sr) = 0 then begin if ((sr.Attr and FileAttrs) = sr.Attr) and (sr.Name <> '.') and (sr.Name <> '..') then begin TempDireStr := DireStr + sr.Name; if TempDireStr[Length(TempDireStr)] <> '\' then TempDireStr := TempDireStr + '\'; Result := Result + GetDireFile(TempDireStr, FileName); end; while FindNext(sr) = 0 do begin if ((sr.Attr and FileAttrs) = sr.Attr) and (sr.Name <> '.') and (sr.Name <> '..') then begin TempDireStr := DireStr + sr.Name; if TempDireStr[Length(TempDireStr)] <> '\' then TempDireStr := TempDireStr + '\'; Result := Result + GetDireFile(TempDireStr, FileName); end; end; FindClose(sr); end; end;
http://haitian.myrice.com/Soft/MyPubFuncUnit.Txt
procedure TForm1.Button1Click(Sender: TObject); var ASearchRec:TSearchRec; begin listview1.Items.Clear; FindFirst('D:\*.*',faAnyFile,SearchRec); listview1.Items.Add.Caption := SearchRec.Name; while FindNext(SearchRec)=0 do listview1.Items.Add.Caption := searchrec.Name; end;
var
SearchRec:TSearchRec;
ext,AppPath:string;
begin
listbox1.Items.Clear;
AppPath:='d:\test\';
ext:='*.*';
FindFirst(AppPath+ext,faAnyFile-faDirectory,SearchRec);
listbox1.Items.Add(SearchRec.Name);
while FindNext(SearchRec)=0 do
listbox1.Items.Add(SearchRec.Name);
listbox1.items为你需要的结果
end;
var
sr: TSearchRec;
FileAttrs: Integer;
begin
Result:='';
FileAttrs := faArchive;
if FindFirst(DireStr + FileName, FileAttrs, sr) = 0 then
begin
if (sr.Attr and FileAttrs) = sr.Attr then
Result := Result + DireStr + sr.Name + #13#10;
while FindNext(sr) = 0 do
begin
if (sr.Attr and FileAttrs) = sr.Attr then
Result := Result + DireStr + sr.Name + #13#10;
end;
FindClose(sr);
end;
end;function GetDireFile(DireStr: string; FileName: string): string;
var
sr: TSearchRec;
FileAttrs: Integer;
TempDireStr: string;
begin
Result := '';
Result:=Result+GetFileName(DireStr,FileName);
FileAttrs := faDirectory;
if FindFirst(DireStr + '*.*', FileAttrs, sr) = 0 then
begin
if ((sr.Attr and FileAttrs) = sr.Attr) and (sr.Name <> '.') and (sr.Name <> '..') then
begin
TempDireStr := DireStr + sr.Name;
if TempDireStr[Length(TempDireStr)] <> '\' then
TempDireStr := TempDireStr + '\';
Result := Result + GetDireFile(TempDireStr, FileName);
end;
while FindNext(sr) = 0 do
begin
if ((sr.Attr and FileAttrs) = sr.Attr) and (sr.Name <> '.') and (sr.Name <> '..') then
begin
TempDireStr := DireStr + sr.Name;
if TempDireStr[Length(TempDireStr)] <> '\' then
TempDireStr := TempDireStr + '\';
Result := Result + GetDireFile(TempDireStr, FileName);
end;
end;
FindClose(sr);
end;
end;
var
ASearchRec:TSearchRec;
begin
listview1.Items.Clear;
FindFirst('D:\*.*',faAnyFile,SearchRec);
listview1.Items.Add.Caption := SearchRec.Name;
while FindNext(SearchRec)=0 do
listview1.Items.Add.Caption := searchrec.Name;
end;