DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Criando arquivo ZIP com o Delphi

Atualmente é muito comum o uso de arquivos ZIP, seja para backups ou para transferência de dados.

Durante muito tempo, sempre foi necessário o uso de componentes de terceiros para a
execução desta tarefa.

A partir do Delphi XE 2, há disponível a unit System.Zip, que facilitará este trabalho.
Eliminando a necessidade do uso de componentes.

Veja os exemplos:

Criando um ZIP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function CriarZipFile(FZipFile, AFileName: string): Integer;
var
  z: TZipFile;
begin
  result := 0;
  z := TZipFile.Create;
  try
    if fileExists(FZipFile) then
      z.Open(FZipFile, zmReadWrite)
    else
      z.Open(FZipFile, zmWrite);
    z.Add(AFileName, extractFileName(AFileName));
    z.Close;
    result := 1;
  finally
    z.Free;
  end;
end;

Descompactando o ZIP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function ZipFileDecompress(FZipFile, APath: string): Integer;
var
  z: TZipFile;
begin
  result := 0;
  z := TZipFile.Create;
  try
    if fileExists(FZipFile) then
      z.Open(FZipFile, zmReadWrite)
    else
      raise exception.Create('Não encontrei: ' + FZipFile);
    z.ExtractAll(APath);
    z.Close;
    result := 1;
  finally
    z.Free;
  end;
end;

A unit System.Zip ainda oferece outros recursos, que será tema de outros posts.

Autor original: Amarildo Lacerda

Este texto foi escrito bom base no material disponível em:
https://github.com/amarildolacerda/docs/blob/master/DelphiXFirebid.pdf

Dúvidas ou sugestões deixe nos comentários do post.

Facebook Comments Box
  • InfusTec
  • 13.612 views
  • 3 comentários
  • 17 de fevereiro de 2016

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

3 respostas para “Criando arquivo ZIP com o Delphi”

  1. Carlos Mendonca disse:

    Ótimo exemplo, bem mais simples que usar zlib.

  2. Carlos Mendonca disse:

    Ótima dica, essa classe é mais interessante e simples que a zlib que se torna complexa quando se faz necessário compactar mais de um arquivo.

  3. fernandoprogramacao disse:

    como eu implemento isto em um botão ou 2 botoes?

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados