Ir para conteúdo
Fórum Script Brasil
  • 0

Abbrevia - Backup


Bicicleta

Pergunta

Salve salve...

Achei um componente na net chamado Abbrevia para fazer backup de arquivos em Zip/Cab (http://sourceforge.net/projects/tpabbrevia/)...

Está funciona perfeitamente, só tem um problema... Ao invés de ele adicionar somente o arquivo ele coloca a estrutura de diretórios onde está esse arquivo... Vejam:

Minha aplicação está rodando em:

"d:\sistema\empresa01\appTeste\programa.exe" e junto nessa mesma pasta está o BD: bancodados.mdb, então coloquei um componente TAbZipper no formulário e no onClick do botão isso aqui:

var arqBancoDados, localSalvar, nomeArqBackup : String;

arqBancoDados := "d:\sistema\empresa01\appTeste\bancodados.mdb";

localSalvar := "d:\sistema\empresa01\appTeste\backup\";

nomeArqBackup := 'Backup ('+ FormatDateTime('yyyy-mm-dd hhnnss', Now) +').zip';

adoConexao.Connected := false;

abZipper.FileName := localSalvar + nomeArqBackup;

abZipper.AddFiles(arqBancoDados, 0);

abZipper.Save;

abZipper.CloseArchive;

adoConexao.Connected := true;

Funciona que é uma beleza, o problema é que o arquivo compactado preserva a estrutura de pastas que tenho, ou seja, fica assim:

"Backup (2006-05-25 171300)" e dentro desse arquivo assim:

+-- sistema

+---- empresa01

+------ appTeste

+-------- bancodados.mdb

Eu queria que fica sem essas pastas, fica somente o arquivo e mais nada... Alguém sabe como posso fazer isso?

Valeu!!!

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Olá bicicleta

Esta função sua esta funcionando corretamente?

nomeArqBackup := 'Backup ('+ FormatDateTime('yyyy-mm-dd hhnnss', Now) +').zip';

Por que estou tentando renomear meu arquivo para a a data e a hora e não esta dando certo.

Será que pode me ajudar com isso?

Alexandre

Link para o comentário
Compartilhar em outros sites

  • 0

Olá mano

Consegui aqui.

Fiz assim:

Zip.FileName := EdtDestino.Text+'\'+FormatDateTime('dd-mm-yyyy hh-mm',now)+'.zip';
Zip.AddFiles(EdtOrigem.Text,0);

Agora me tire mais uma dúvida... como faço para ele aceitar compactar a pasta em que está o arquivo.

Tipo quero compactar a pasta dados que se encontra em C:\Meu sistema\dados\ pois o meu esta compactando somente o arquivo quando escolho a pasta ele num aceita..

falou

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Churc!!!

Olha esta dando o seguinte erro:

Stream read error.

E ai ele não consegue compactar a pasta.

estou usando o código da seguinte maneira:

      Zip.BaseDirectory := EdtOrigem.Text+'\';
      Zip.AddFiles('*.*', 0);
      Zip.CloseArchive;

Bicicleta pode me mandar o manual?

aslalexandre@hotmail.com

Alexandre

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Churc!!!

Como posso fazer para que ele compacte tudo que tem dentro de uma pasta quando eu selecionar essa pasta, mesmo que dentro dela tenha arquivos e outras pastas?

Estou fazendo aqui mas ele ignora as pastas e só compacta os arquivos.

Eu quero que ele compacte tudo que há dentro da pasta selecionada.

Estou usando o seguinte código para compactar:

      Zip.AddFiles(IncludeTrailingPathDelimiter(EdtOrigem.Text) + '\*.*', 0);
      Zip.Save;
      Zip.CloseArchive;

falou

Link para o comentário
Compartilhar em outros sites

  • 0

opa

tente o seguinte,

Zip.StoreOptions := Zip.StoreOptions + [soRecurse];

//soRecurse faz com que seja adicionado todos os arquivos, pastas e subpastas no diretorio que você quer compactar

Zip.BaseDirectory := IncludeTrailingPathDelimiter(EdtOrigem.Text);

//BaseDirectory é o diretório que você quer compactar

Zip.FileName := 'Caminho e nome do arquivo .zip a ser salvo';

//Ai você coloca o caminho e nome do arquivo a ser salvo, exemplo, backup.zip

Zip.AddFiles('*.*', 0);

Zip.Save;

Zip.CloseArchive;

se der algum erro, tente fazer o CloseArchive e depois o Save... acho mais provável ser isso, pois salvar algo

pra depois fechá-lo talvez de pau rsrs

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Churc me desculpa o encomodo novamente cara, mas agora ele esta compactando tudo certinho, ou seja, todos os arquivos que estão dentro da pasta selecionada, mas ele não compacta as outras pastas que estão dentro dessa, tipo:

C:\Meu Sistema - ai dentro dessa tem as pastas Dados, Imagens e Movies. E ele esta pegando os arquivos de dentro dessa pasta e compactando, mas qundo pesso para descompactar ele não traz essas pastas mas sim todos os arquivos juntos.

Abusando mais um pouco da sua paciencia como posso fazer isso?

Já mexi em algumas propriedades do componente aqui mas não resolveu nada.

Alexandre

Link para o comentário
Compartilhar em outros sites

  • 0

Eita auhahu

nesse exemplo que postei ele faz isso...

pelo menos aqui faz normal, ai não compacta?

Qual versão você utiliza do Abbrevia a última?

Fiz o exemplo testei tudo, aqui funcionou normal

mesmo você testando o exemplo não compacta?

Link para o comentário
Compartilhar em outros sites

  • 0

Churc, fiz o download aqui, muito massa a parada, hehehehehe... também vai ser de grande valia pra mim!!!

Valeu kara...

Vivendo&Aprendendo, pra você fazer o download entre no link que o churc passou, no final da página vai ter dois botões "PREMIUM" e "FREE", clique em "FREE", no final da página novamente digite o código que aparecer e clique em "Download from Mirror Alpha"... que tá funcionando certinho!!!

Valeu Churc!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Churc e Bicicleta...

Olha agora está beleza e agradeço a vocês dois pela ajuda, mas só para variar vou fazer mais uma perguntinha e prometo que está será a última.

O meu projeto esta compactando do jeito que eu quero agora, mas quando eu escolho um arquivo por exemplo na área de trabalho e mando compactar ele da erro só esta aceitando compactar pastas agora... hehehehe... o trem está doidão. Como faço para ele aceitar tanto arquivos sozinhos como pastas?

Alexandre

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...