ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Aqruivo mais recente de uma pasta

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
paulo@lizotti.com.br
Novato
Novato


Registrado: Quarta-Feira, 24 de Fevereiro de 2016
Mensagens: 3

MensagemEnviada: Sex Fev 26, 2016 9:05 am    Assunto: Aqruivo mais recente de uma pasta Responder com Citação

Preciso var qual arquivo mais novo de uma pasta e pegar o caminho completo dele com o seu nome e colocar em uma StingGrid ou Memo. Question
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Seg Fev 29, 2016 10:28 am    Assunto: Responder com Citação

Teste esta função:

Código:
// para Listar os documentos disponíveis em uma pasta
function GetFileList(const Path: string): TStringList;
var
  I: Integer;
  SearchRec: TSearchRec;
begin
  Result := TStringList.Create;
  try
    I := FindFirst(Path + '*.*', 0, SearchRec);
    while I = 0 do
    begin
      Result.Add(Path + SearchRec.Name);
      I := FindNext(SearchRec);
    end;
  except
    Result.Free;
    raise;
  end;
end;


Modo de uso:

Código:
var
  Lista: TStringList;
  Data1, Data2: TDateTime;
  Arquivo: string;
  I: Integer;
begin
  try
    Memo1.Clear;
    Lista := TStringList.Create;
    Lista := GetFileList('C:\Teste\');

    for I := 0 to Lista.Count - 1 do
    begin
      Data2 := FileDateToDateTime(FileAge(Lista[I]));
      if Data1 < Data2 then
      begin
        Data1 := Data2;
        Arquivo := Lista[I];
      end;
    end;
    Memo1.Lines.Add(Arquivo + ' - ' + DateTimeToStr(Data1));
  finally
    Lista.Free;
  end;
end;

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Fev 29, 2016 5:03 pm    Assunto: Responder com Citação

Boa tarde,

Paulo, experimente mais ou menos dessa forma:

Código:
var
  sr: TSearchRec;
  Arquivo: string;
  Data, DataAux: TDateTime;
begin
  Arquivo := '';
  Data := 0;
  if FindFirst('c:\pasta\*', 0, sr) = 0 then
    begin
      repeat
          DataAux := FileDateToDateTime(sr.Time);
          if DataAux > Data then
            begin
              Arquivo := sr.Name;
              Data := DataAux;
            end;
      until FindNext(sr) <> 0;
      FindClose(sr);
    end;
  ShowMessage(Arquivo + ' - ' + DateTimeToStr(Data));


Espero que ajude


Editado pela última vez por imex em Sáb Set 30, 2023 5:30 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
paulo@lizotti.com.br
Novato
Novato


Registrado: Quarta-Feira, 24 de Fevereiro de 2016
Mensagens: 3

MensagemEnviada: Qui Mar 03, 2016 4:08 pm    Assunto: Responder com Citação

Boa Tarde!

Meus Caros Obrigado Pela Ajuda!

Os Dois Códigos funcionam vou implementar um deles
na minha aplicação.

Valeu!!!
Laughing Laughing Laughing
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB