如何获得某个目录下面的所有文件名称

解决方案 »

  1.   

    procedure GetDirectories(list: TlistView; Directory: string; Item: Tlistitem; IncludeFiles: boolean);
    var
    SearchRec: TSearchRec;
    begin
       list.Items.BeginUpdate;//准备更新
       list.Items.Clear;  //清空list内容
       if Directory[length(Directory)] <> '\' then //判断路径 
             Directory := Directory + '\';  //设置路径
       if FindFirst(Directory + '*.*',faDirectory,SearchRec) = 0 then       begin
                 repeat    
                 if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then  
                     begin
                            if (SearchRec.Attr and faDirectory > 0) then                               begin  Item := list.Items.Add;  //增加item
                                            item.Caption:=SearchRec.Name; 
                                            item.ImageIndex:=6;
                                  end;
                            GetDirectories(list,Directory + SearchRec.Name,Item,IncludeFiles);
                     end
                                   else
                   if IncludeFiles then
                                if SearchRec.Name[1] <> '.' then
                                        begin
                                               item:=list.Items.Add;
                                               item.Caption:=SearchRec.Name;
                                               item.ImageIndex:=6;
                                        end;
                          until FindNext(SearchRec) <> 0;
    //FindClose(SearchRec);
                   end;
          list.Items.EndUpdate;
    end;用listview显示文件夹下的文件