Che julito.. si te bajas eso que te dije, solo tenes que agregar el .pas en las llamdas. despues lo creas.. y bueno ... hay ejemplos.. pero si queres algo te paso.
Código:
Código Delphi
[-]
unit CompactRep;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, ExtCtrls,zip, registry, JRO_TLB;
........
function TCompactarYreparar.Zipear: boolean;
var Zip:TZip;
ruta:String;
begin
TRY
ruta:=LeerPath;
reparar(ruta);
if Not DirectoryExists(ruta + 'BackUp\') then
CreateDir(ruta + 'BackUp\');
Zip:=TZip.create(nil);
zip.FileSpecList.Add(ruta + 'Base.mdb');
zip.Filename:=ruta + 'BackUp\' + FormatDateTime('DDMM_hhmm',now)+'.ZIP';
zip.Add;
if FileExists(ruta + 'Base.mdb') then
DeleteFile(ruta + 'Base.mdb');
CopyFile(pchar(ruta + 'basenueva.mdb'),Pchar(ruta+'Base.mdb'),false);
if FileExists(ruta+'basenueva.mdb') then
DeleteFile(ruta+'basenueva.mdb');
result:=TRUE;
EXCEPT
REsult:=FALSE
END;
end;
Este codigo lo que hace es zipear una base de datos la cual fue compactada por otro procedimiento..
Este otro agarra una lista de archivos y los zipea..
y tambien te paso la funcion que los dezipea!!
Código:
Código Delphi
[-]
Function zipear(FileName,RutaOrigen, RutaDestino:string;Lista:array of string):string;
var zip1:tzip;
i:integer;
begin
try
zip1:=tzip.create(nil);
i:=0;
while lista[i]<>'' do
begin
zip1.FileSpecList.Add(RutaOrigen + lista[i]);
i:=i+1;
end;
EscribirAuditoria('Comienza El Proceso de Zipeado: ' + FileName);
zip1.Filename:=RutaDestino+FileName;
zip1.ShowProgressDialog:=true;
zip1.add;
zipear:='correcto';
EscribirAuditoria('Se Completo Correctamente: ' + filename);
except
zipear:='error';
EscribirAuditoria('Se Produjo un Error Zipeando: ' + filename);
EscribirAuditoria('Borrando el Archivo Zip: '+ FileName);
DeleteFile(RutaDestino + FileName);
end;
end;
Function deszipear(FileName,RutaOrigen,RutaDestino:string):string;
var zip1:tzip;
begin
try
zip1:=tzip.create(nil);
EscribirAuditoria('Comienza El Proceso de DesZipeado: ' + FileName);
zip1.Filename :=RutaOrigen + FileName;
zip1.ExtractPath:=RutaDestino;
zip1.ShowProgressDialog:=false;
zip1.Extract;
deszipear:='correcto';
EscribirAuditoria('Se Completo Correctamente: ' + filename);
Escribirauditoria('Borrando El Archivo ZIP: ' +Filename);
DeleteFile(RutaOrigen + FileName);
except
deszipear:='error';
EscribirAuditoria('Se Produjo un Error DesZipeando: ' + filename);
Escribirauditoria('Borrando Archivos Que Componen : ' +Filename);
DeleteFile(RutaDestino + '*.*');
EscribirAuditoria('Borrando el Archivo Zip: ' + FileName);
DeleteFile(RutaOrigen + FileName);
end;
end;