delphi獲取目錄下所有文件名


 

 

procedure  searchfile(path:string);//注意,path后面要有'\';   
   var   
       SearchRec:TSearchRec;   
       found:integer;   
   begin   
       found:=FindFirst(path+'*.*',faAnyFile,SearchRec);   
       while    found=0    do   
         begin   
             if (SearchRec.Name<>'.')  and (SearchRec.Name<>'..')     
                   and    (SearchRec.Attr<>faDirectory)    then   
                 ListBox1.Add(SearchRec.Name);   
             found:=FindNext(SearchRec);   
         end;   
       FindClose(SearchRec);   
   end;  

//===============================================================

上面一個只獲取當前目錄下所有文件,如果要獲取該目錄下的子目錄的文件,看下面   
   procedure  SearchFile(path:string);   
   var   
       SearchRec:TSearchRec;   
       found:integer;   
   begin   
       found:=FindFirst(path+'*.*',faAanyFile,SearchRec);   
       while    found=0    do   
         begin   
           if  (SearchRec.Name<>'.')  and  (SearchRec.name<>'..)  and   
                 (SearchRec.Name=faDirectory)    then   
               SearchFile(SearchRec.Name+'\')   
           else   
               LisBox1.Add(SearchRec.Name);   
           found:=FindNext(SearchREc);   
       end;   
       FindClose(SearchRec);   
   end;   
//===================================================================

 

第二個函數的 SearchRec.Name=faDirectory 錯了

procedure TForm2.SearchFile(path:string; strList: TStrings);
var
SearchRec:TSearchRec;
found:integer;
begin
found:=FindFirst(path+'*.*', faAnyFile,SearchRec);
while found=0 do
begin
if (SearchRec.Name<>'.') and (SearchRec.name<>'..') and
((SearchRec.Attr and faDirectory) <> 0) then
SearchFile(path + SearchRec.Name + '\', strList)
else
strList.Add(path + SearchRec.Name);
found:=FindNext(SearchREc);
end;
FindClose(SearchRec);
end;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM