DouglasP 1 Denunciar post Postado Maio 10, 2009 Boa noite tem esse codigo que lista os arquivos das pastas e subpastas: procedure EnumFolders(Root: String; Folders: TStrings); procedure Enum(dir: String); var SR: TSearchRec; ret: Integer; begin if dir[length(dir)] <> '\' then dir := dir + '\'; ret := FindFirst(dir + '*.*', faDirectory, SR); if ret = 0 then try repeat if ((SR.Attr and faDirectory) <> 0) and ( SR.Name <> '.') and ( SR.Name <> '..') then begin folders.add( dir+SR.Name ); Enum( dir + SR.Name ); end; ret := FindNext( SR ); until ret <> 0; finally SysUtils.FindClose(SR) end; end; begin if root <> EmptyStr then Enum(root); end; //usa EnumFolders para listar as Sub-Pastas e procuras por arquivos procedure EnumFiles(Pasta, Arquivo: String; Files: TStrings); var SR: TSearchRec; SubDirs : TStringList; ret, X : integer; sPasta : String; begin if Pasta[Length(Pasta)] <> '\' then Pasta := Pasta + '\'; try SubDirs := TStringList.Create; SubDirs.Add(Pasta); EnumFolders(Pasta, SubDirs); if SubDirs.Count > 0 then for X := 0 to SubDirs.Count -1 do begin sPasta:= SubDirs[X]; if sPasta[Length(sPasta)] <> '\' then sPasta := sPasta + '\'; ret := FindFirst(sPasta + Arquivo, faAnyFile, SR); if ret = 0 then try repeat if not (SR.Attr and faDirectory > 0) then Files.Add(SR.Name); ret := FindNext(SR); until ret <> 0; finally SysUtils.FindClose(SR) end; end; finally SubDirs.Free; end; end; como faço para ele listar tbm o local de onde se localiza cada arquivo? grato. Compartilhar este post Link para o post Compartilhar em outros sites
DouglasP 1 Denunciar post Postado Maio 11, 2009 ja solucionei pode deleta. Compartilhar este post Link para o post Compartilhar em outros sites