Ver Mensaje Individual
  #6  
Antiguo 24-10-2003
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Reputación: 22
sitrico Va por buen camino
Lamentablemente el WinSegu no me sirve porque tendria q dejar al usuario seleccionar muchas opciones (carpetas, archivos, etc.)

Pero revizando el código fuente encontre algunas rutinas q me permiten completar la aplicación.

Me explico.

La aplicación está diseñada multiempresa, con un directorio base \Data para los datos comunes (y el archivo de empresas) y dentro de esa carpeta creo una sub-carpeta para c/u de la empresas \Data\emp01, \Data\Emp02...

Como la ruta de acceso a la carpeta se almacena en la base de datos de empresas lo q estoy haciendo es lo siguiente:

Primero leo los archivos de la carpeta en cuention

procedure TfRexi4200.AnadeArchivosDirec(Origen: string);
var
Files : integer;
Search : TSearchRec;
begin
ListaArchivos.Clear;
Files := FindFirst(Origen + '\*.*', faAnyFile, Search);
while Files = 0 do
begin
if Search.Attr <> faDirectory then
ListaArchivos.Add(Origen + '\' + Search.Name);
Files := FindNext(Search);
end;
FindClose(Search);
end;

Nota: Var ListaArchivos : tStringList

y luego

procedure TfRexi4200.RespaldarDatos(Archivo:String);
begin
if ListaArchivos.Count > 0 then
begin
Screen.Cursor := crHourGlass;
ZLB.CompressionLevel := fcMaximum; // el espacio es oro
ZLB.SavePaths := True;
if FileExists(Archivo) then
DeleteFile(Archivo); // Siempre es un respaldo nuevo
ZLB.CreateArchive(Archivo);
ZLB.AddFiles(ListaArchivos);
Screen.Cursor := crDefault;
End;
end;

(Cualquier parecido con WinSegu es pura coincidencia ;-) )

Como pueden ver he simplificado (demasiado) las rutinas para leer la carpeta y para generar el .ZLB

Ahora bien tengo 2 dudas:

1.- Como no he usado casi el ZLBArchive no sé si requiere de algun Try..except para manegar errores o try..finally para liberar
recursos.
2.- El ZLBArchiver puede separar el archivo generado en varios discos

PD: lo q si me gustaría hacer es agregar como un extra el WinZLB.exe, para poder recuperar datos de los respaldos en caso de emergencia, desde fuera de la aplicación.
__________________
Sitrico
Responder Con Cita