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 

ajuda com txt..Resolvido

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Sáb Jun 01, 2013 5:50 pm    Assunto: ajuda com txt..Resolvido Responder com Citação

ola pessoal preciso de ajuda em um sistema de backup...na verdade o sistema de backup esta tudo certo..faço meu backup por FTP e antes de enviar o backup ele cria um arquivo em uma pasta e assim depois ele envia por FTP.. mas o arquivo não eh deletado da pasta local...e eu nem quero que seja deletado agora, eu quero que esta arquivo seja deletado quando já estiver um determinado numero de arquivo...digamos por exemplo quando tiver uns 5 arquivo de backup...

Eu gostaria de que anotasse em um txt os últimos 5 nomes dos arquivos gerados... ai ele ao criar a 6 linha ele pegue o nome mais antigo e apague o arquivo e apague e linha do txt tbm mantendo apenas 5 linhas (5 arquivos)...

meio complicado minha pergunta mas qualquer duvida estou aqui para esclarecer...
desde já agradeço;;;...


Editado pela última vez por kakarlos em Sáb Jun 08, 2013 11:19 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Sáb Jun 01, 2013 6:23 pm    Assunto: Responder com Citação

Boa noite, kakarlos.
Eu acho mais fácil utilizar um TFileListBox.
Coloque-o no formulário e deixe como Visible = False.
Em, seguida, você pode usar um código como esse:
Código:
var
  DataArquivo: integer;
  i, ArquivoMaisAntigo: integer;
begin
  FileListBox1.Directory := 'C:\Aplicativo\Backups';
  FileListBox1.ItemIndex := 0;
  ArquivoMaisAntigo := 0;
  DataArquivo := FileAge(FileListBox1.FileName);
 
  for i := 1 to FileListBox1.Items.Count - 1 do
  begin
    FileListBox1.ItemIndex := i;
    if DataArquivo > FileAge(FileListBox1.FileName) then
    begin
      DataArquivo := FileAge(FileListBox1.FileName);
      ArquivoMaisAntigo := i;
    end;
  end;

  FileListBox1.ItemIndex := ArquivoMaisAntigo;
  DeleteFile(FileListBox1.FileName);
  FileListBox1.Update;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Dom Jun 02, 2013 10:04 am    Assunto: Responder com Citação

Batera escreveu:
Boa noite, kakarlos.
Eu acho mais fácil utilizar um TFileListBox.
Coloque-o no formulário e deixe como Visible = False.
Em, seguida, você pode usar um código como esse:
Código:
var
  DataArquivo: integer;
  i, ArquivoMaisAntigo: integer;
begin
  FileListBox1.Directory := 'C:\Aplicativo\Backups';
  FileListBox1.ItemIndex := 0;
  ArquivoMaisAntigo := 0;
  DataArquivo := FileAge(FileListBox1.FileName);
 
  for i := 1 to FileListBox1.Items.Count - 1 do
  begin
    FileListBox1.ItemIndex := i;
    if DataArquivo > FileAge(FileListBox1.FileName) then
    begin
      DataArquivo := FileAge(FileListBox1.FileName);
      ArquivoMaisAntigo := i;
    end;
  end;

  FileListBox1.ItemIndex := ArquivoMaisAntigo;
  DeleteFile(FileListBox1.FileName);
  FileListBox1.Update;
end;



Na verdade não eh bem oque eu gostaria... eu queria que sempre mantivesse os 5 últimos arquivos gerado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Dom Jun 02, 2013 10:40 am    Assunto: Responder com Citação

Neste caso, coloque uma condição:
Código:
if FileListBox1.Items.Count > 5 then

Ele só vai realizar a operação se houver mais de 5 arquivos na pasta.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Ter Jun 04, 2013 9:29 am    Assunto: Responder com Citação

Batera escreveu:
Neste caso, coloque uma condição:
Código:
if FileListBox1.Items.Count > 5 then

Ele só vai realizar a operação se houver mais de 5 arquivos na pasta.




OK;; vou testar.. desculpa a demora para responder mas estive off..
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kakarlos
Experiente
Experiente


Registrado: Quinta-Feira, 30 de Setembro de 2010
Mensagens: 420

MensagemEnviada: Sáb Jun 08, 2013 11:17 am    Assunto: Responder com Citação

kakarlos escreveu:
Batera escreveu:
Neste caso, coloque uma condição:
Código:
if FileListBox1.Items.Count > 5 then

Ele só vai realizar a operação se houver mais de 5 arquivos na pasta.




OK;; vou testar.. desculpa a demora para responder mas estive off..




VLW funcionou perfeitoo
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