| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
kakarlos Experiente

Registrado: Quinta-Feira, 30 de Setembro de 2010 Mensagens: 420
|
Enviada: Sáb Jun 01, 2013 5:50 pm Assunto: ajuda com txt..Resolvido |
|
|
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 |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Sáb Jun 01, 2013 6:23 pm Assunto: |
|
|
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 |
|
 |
kakarlos Experiente

Registrado: Quinta-Feira, 30 de Setembro de 2010 Mensagens: 420
|
Enviada: Dom Jun 02, 2013 10:04 am Assunto: |
|
|
| 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 |
|
 |
Batera Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008 Mensagens: 4899 Localização: Maringá
|
Enviada: Dom Jun 02, 2013 10:40 am Assunto: |
|
|
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 |
|
 |
kakarlos Experiente

Registrado: Quinta-Feira, 30 de Setembro de 2010 Mensagens: 420
|
Enviada: Ter Jun 04, 2013 9:29 am Assunto: |
|
|
| 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 |
|
 |
kakarlos Experiente

Registrado: Quinta-Feira, 30 de Setembro de 2010 Mensagens: 420
|
Enviada: Sáb Jun 08, 2013 11:17 am Assunto: |
|
|
| 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 |
|
 |
|