Skip to content

TZipFile en Delphi para Comprimir y Descomprimir Archivos

La clase TZipFile, de la unidad Zip de Delphi es una herramienta esencial para la compresión y descompresión de archivos.

En este artículo, te brindaremos ejemplos de la clase TZipFile, aprendiendo cómo comprimir y descomprimir archivos mejorando la eficiencia y organización en tus proyectos.

Comprimir archivos con la clase TZipFile

uses
  System.Zip;

procedure ComprimirArchivos(const Archivos: array of string; const Destino: string);
var
  ZipFile: TZipFile;
  Archivo: string;
begin
  ZipFile := TZipFile.Create;
  try
    ZipFile.Open(Destino, zmWrite);
    for Archivo in Archivos do
      ZipFile.Add(Archivo);
  finally
    ZipFile.Close;
    ZipFile.Free;
  end;
end;

Descomprimir archivos con la clase TZipFile

procedure DescomprimirArchivo(const ArchivoZip: string; const Destino: string);
var
  ZipFile: TZipFile;
begin
  ZipFile := TZipFile.Create;
  try
    ZipFile.Open(ArchivoZip, zmRead);
    ZipFile.ExtractAll(Destino);
  finally
    ZipFile.Close;
    ZipFile.Free;
  end;
end;

En el caso de querer descomprimir un solo archivo se puede utilizar el siguiente ejemplo

procedure DescomprimirArchivo(const ArchivoZip: string; const Destino: string);
var
  ZipFile: TZipFile;
begin
  ZipFile := TZipFile.Create;
  try
    ZipFile.Open(ArchivoZip, zmRead);
    ZipFile.Extract('archivo_a_descomprim.ir', Destino);
  finally
    ZipFile.Close;
    ZipFile.Free;
  end;
end;

Porque utilizar TZipFile y no las innumerables librerias que podemos encontrar en internet:

  1. Eficiencia: TZipFile optimiza la compresión y descompresión de archivos, reduciendo el uso de recursos de memoria y CPU como así el tiempo.
  2. Mantenimiento: La integración en proyectos existentes es sencilla, mejorando la gestión y organización de archivos ya que es una clase nativa en Delphi y no tneemos que lidiar con versiones e instalaciones de librerias de terceros.
  3. Compatibilidad: Los archivos comprimidos con TZipFile son ampliamente compatibles, asegurando que puedas compartir y utilizar los datos con cualquier aplicación de descompresión.