怎樣才能得到整個目錄下的所有文件(60分)

  • 主题发起人 主题发起人 linzhai
  • 开始时间 开始时间
L

linzhai

Unregistered / Unconfirmed
GUEST, unregistred user!
;怎樣才能得到整個目錄下的所有文件(含路徑,存入一文本文件或
數據庫的一個字段),包括子目錄. 能否給出源
 
用这个办法可以得到某个目录下的所有文件名:

function TMainForm.GetAllFileNames(const Path:string):TStrings;
var
SearchRec: TSearchRec;
TempList:TStrings;
begin
TempList:=TStringList.Create;
TempList.Clear;
if FindFirst(Path'+'/*.*',faArchive,SearchRec)=0 then
begin
TempList.Add(SearchRec.Name);
while FindNext(SearchRec)=0 do
begin
TempList.Add(SearchRec.Name);
end;
end;
FindClose(SearchRec);
Result:=TempList;
end;

关于 FindFirst() 的使用,你可以去查帮助文件
 
./DispQ.asp?LID=258101

自己以所有文件检索一下
 
用FindFirstFile、FindNextFile、FindClose虽复杂,但功能强,具体用法参加
API帮助(MSDN),例程已找不到了。
 
var SRec: TSearchRec;
T: Integer;
p:string;
begin
...
p:='c:/*.*';
T:=FindFirst(p,faAnyFile,SRec);
While T=0 Do
Begin
If (SRec.Attr and (faDirectory or faVolumeID)) = 0 Then //文件
Begin
//处理文件
end;
retval := FindNext( SRec );
...
end;
 
时间太久,强制结束。 wjiachun
 
后退
顶部