请问如何用delphi遍历一个指定目录下的所有文件并且获得文件名

解决方案 »

  1.   

    procedure findall(disk,path: String; var fileresult: Tstrings); 
    var 
    fpath: String; 
    fs: TsearchRec; 
    begin 
    fpath:=disk+path+'\*.*'; 
    if findfirst(fpath,faAnyFile,fs)=0 then 
    begin 
    if (fs.Name<>'.')and(fs.Name<>'..') then 
    if (fs.Attr and faDirectory)=faDirectory then 
    findall(disk,path+'\'+fs.Name,fileresult) 
    else 
    fileresult.add(disk+strpas(strupper(pchar(path)))+'\'+strpas( 
    strupper(pchar(fs.Name)))+'('+inttostr(fs.Size)+')'); 
    while findnext(fs)=0 do 
    begin 
    if (fs.Name<>'.')and(fs.Name<>'..') then 
    if (fs.Attr and faDirectory)=faDirectory then 
    findall(disk,path+'\'+fs.Name,fileresult) 
    else 
    fileresult.add(disk+strpas(strupper(pchar(path)))+'\'+str 
    pas(strupper(pchar(fs.Name)))+'('+inttostr(fs.Size)+')'); 
    end; 
    end; 
    findclose(fs); 
    end;