Olá gente boa! No artigo de hoje, vamos aprender como implementar a compactação de arquivos, de forma nativa no Delphi.
Em versões mais antigas do Delphi, era comum utilizar a biblioteca "ZLib" presente na unit "System.ZLib", porém, utilizando essa biblioteca, tínhamos um problema, o arquivo compactado gerado não era compatível com outros aplicativos, como WinRar, 7Zip, etc, sendo assim, se o arquivo fosse enviado para alguém, este alguém não conseguiria abrir ou extrair este arquivo, a menos que, tivesse um aplicativo para isso, que utilizasse esta mesma biblioteca, para então conseguir abrir, visualizar e extrair.
Ora, isso não era interessante do ponto de vista usual, uma vez que, esta funcionalidade ficava "Delphi to Delphi", ou seja, só era possível descompactar usando um aplicativo, cuja implementação fosse feita com essa mesma biblioteca.
Nas versões novas do Delphi, surge a classe "TZipFile", presente na unit "System.Zip". Esta nova biblioteca, resolve o problema anterior.
A classe TZipFile é utilizada para criar e ler arquivos ".zip", ela dispõe de métodos para compactar e descompactar arquivos no formato .zip.
Ao implementar métodos para compactação e descompactação de arquivos usando a classe TZipFile, fica compatível com outros aplicativos do mercado, como o WinRAR, 7Zip por exemplo. Agora, você pode compactar arquivos, enviar para alguém, e este alguém, vai conseguir abrir e extrair esses arquivos sem problema algum, utilizando qualquer aplicativo que ele tenha instalado no computador para isso.
Muito bem, chega de teoria e vamos para a prática, segue abaixo o código para implementação da compactação de arquivos no Delphi:
Feito isso, declaramos um método chamado "CompactarArquivos". Na implementação dele, declaramos três variáveis:
- lArqZip: TZipFile -> que receberá uma instância da classe TZipFile;
- lDestino: string -> que receberá o diretório onde será gerado o arquivo compactado;
- lNome: string -> que receberá o nome do arquivo ZIP que será gerado;
Através do método Add passamos por parâmetro o local + nome dos arquivos que serão adicionados no arquivo compactado ZIP.
Pronto, somente com essas linhas já teremos o arquivo ZIP gerado com os arquivos adicionados.
Note que não foi necessário chamarmos o método Close no final, visto que, o mesmo é chamado automaticamente na destruição do objeto.
Muito bem clipatequeiros, viram como é simples, fácil e prático? Agora, você pode usar esta implementação, modifica-la de acordo com suas necessidades, mais um recurso interessante que nos livra de ficar usando bibliotecas externas ou via linha de comando como outrora. Um grande abraço, que esta dica contribua de alguma maneira no seu dia a dia como programador.
Links:
- Descompactando arquivos com Delphi;
(Por ClipaTec Informática)
0 comments:
Postar um comentário
Visite nossa página de Política de comentarios antes de comentar para ter certeza de que seu comentário não será excluído! Lembre-se, assim que aprovarmos o teu comentário ele será publicado, por isso, não deixe de sempre visitar nosso blog e conferir nossa resposta ao seu comentário, abraço!