{ A função abaixo foi codificada ainda há pouco, e foi testada com sucesso!
}
function GetDirFiles(const Path, FileMask: String; FileList: TStrings;
  ListIndex: Integer = 0): Boolean;
var
  lFound: Integer;
  lSearchRec: TSearchRec;
  lIndex: Integer;
  lFileOrPath: String;
begin
  lFound :=
    FindFirst(IncludeTrailingBackslash(Path) + FileMask, faAnyFile,
lSearchRec);
  if lFound > 0 then
    Result := False
  else
  begin
    while lFound = 0 do
    begin
      Application.ProcessMessages;
      lFileOrPath := IncludeTrailingBackslash(Path) + lSearchRec.Name;

      if Boolean(lSearchRec.Attr and faDirectory) then
      begin
        if (lSearchRec.Name <> '.') and (lSearchRec.Name <> '..') then
        begin
          lIndex := FileList.Add(lFileOrPath);
          GetDirFiles(lFileOrPath, FileMask, FileList, lIndex + 1);
        end;
        lFound := FindNext(lSearchRec);
      end
      else
      begin
        if ListIndex = 0 then
          FileList.Add(lFileOrPath)
        else
          FileList.Insert(ListIndex, lFileOrPath);
        lFound := FindNext(lSearchRec);
      end;
      if lFound > 0 then
        FindClose(lSearchRec);
    end;
    Result := True;
  end;
end;


Sds.

>From: "Vinicius Florido" <[EMAIL PROTECTED]>
>Reply-To: delphi-br@yahoogrupos.com.br
>To: <delphi-br@yahoogrupos.com.br>
>Subject: [delphi-br] Alguem tem uma função Parecida?
>Date: Sun, 4 Jun 2006 21:40:33 -0300
>
>  Estou precisando de uma função que ao ser passado um diretório me
>retorne uma lista de arquivos daquele diretório e de seus
>subdiretórios... por exemplo, se eu colocasse como parâmetro c:\ ele me
>retornaria todos os arquivos do meu hd... +/- isso que to precisando...
>Já consegui fazer uma função que retorne tudo de um determinado
>diretório, mas não de seus subdiretórios...
>
>   _____
>
>Esta mensagem foi verificada pelo E-mail Protegido Terra
><http://mail.terra.com.br/> .
>Scan engine: McAfee VirusScan / Atualizado em 02/06/2006 / Versão:
>4.4.00/4776
>Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
>
>[As partes desta mensagem que não continham texto foram removidas]
>

_________________________________________________________________
Seja um dos primeiros a testar o  Windows Live Messenger Beta a nova geração
do seu MSN Messenger.
http://imagine-msn.com/minisites/messenger/default.aspx?locale=pt-br



--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a