Criando arquivo ZIP com o Delphi – Show Delphi

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

Posts Relacionados

  • Administrador
  • 1.355 views
  • 0 comentários
  • 17 de fevereiro de 2016

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

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