Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2008
Avatar de johurgi
johurgi johurgi is offline
Miembro
 
Registrado: jul 2006
Posts: 95
Poder: 18
johurgi Va por buen camino
generar archivos rar o zip

Hola a todos,

Estoy realizando en mi aplicacion un modulo que tiene que coger una carpeta y meterla en un archivo .rar o .zip. El problema es que no se como hacerlo. He probado con el componente de abbrevia, pero el tiempo que tarda en generar el fichero es demasiado elevado.

Agradeceria cualquier tipo de ayuda.

un saludo
Responder Con Cita
  #2  
Antiguo 05-06-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Con ShellExecute y el WinRAR instalado podrías hacerlo.
Yo utilizo esto en un .bat, pero podría servirte.

Código:
rem Esto mete dentro de Backup.rar el contenido completo de Carpeta, Carpeta2 y Carpeta3.
"C:\Archivos de programa\WinRAR\WinRAR.exe" a -r Backup.rar "C:\Carpeta\*.*"
"C:\Archivos de programa\WinRAR\WinRAR.exe" a -r Backup.rar "C:\Carpeta2\*.*"
"C:\Archivos de programa\WinRAR\WinRAR.exe" a -r Backup.rar "C:\Carpeta3\*.*"
Responder Con Cita
  #3  
Antiguo 05-06-2008
Avatar de johurgi
johurgi johurgi is offline
Miembro
 
Registrado: jul 2006
Posts: 95
Poder: 18
johurgi Va por buen camino
esta opcion ya la habia contemplado, no me acaba de gustar por que cuando distribuya la aplicacion o instalo el winrar o nada de nada.

De todas formas gracias por tu respuesta.
Responder Con Cita
  #4  
Antiguo 05-06-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Mira esta página y esta otra .Hay un montón de componentes.

Mira también esta discusión... talvez el componente tenga alguna opción para comprimir más o menos y de eso dependa la velocidad.
Responder Con Cita
  #5  
Antiguo 05-06-2008
Avatar de johurgi
johurgi johurgi is offline
Miembro
 
Registrado: jul 2006
Posts: 95
Poder: 18
johurgi Va por buen camino
Gracias por tu ayuda voy a probar con lo que he leido en el hilo y te comento.
Responder Con Cita
  #6  
Antiguo 05-06-2008
Avatar de johurgi
johurgi johurgi is offline
Miembro
 
Registrado: jul 2006
Posts: 95
Poder: 18
johurgi Va por buen camino
con el codigo del hilo que me has dicho me ha funcionado perfectamente lo unico que le he cambiado una de las opciones para que me valla mas rapido.

Código Delphi [-]
deflationOption:=doSuperFast;

gracias por tu ayuda.

Un saludo.
Responder Con Cita
  #7  
Antiguo 05-06-2008
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Puedes hacerlo sin ningun componente externo pq Delphi tiene la unidad ZLib q puedes usar sus funciones para tal fin..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #8  
Antiguo 06-06-2008
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Precisamente el lunes hice un programilla que respaldaba automáticamente unos datos y los guardaba en un zip, con opciones de insertar comentarios, contraseña y crear sfx, todo esto compatible con WinZip, usé unas unidades que tengo hace tiempo (ya ni me acuerdo de donde las saqué), pero no recuerdo si son freeware, de ser así las pongo por aquí, en cuanto a lo de la unidad ZLIB de Delphi, ya leí un poco y no doy como usarla.
__________________
Herr Heins Faust
Responder Con Cita
  #9  
Antiguo 06-06-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cool

Cita:
Empezado por Delfino Ver Mensaje
Puedes hacerlo sin ningun componente externo pq Delphi tiene la unidad ZLib q puedes usar sus funciones para tal fin..
podrias dar un ejemplo de como utilizar esta libreria....

Salu2
__________________
BlueSteel
Responder Con Cita
  #10  
Antiguo 06-06-2008
Avatar de johurgi
johurgi johurgi is offline
Miembro
 
Registrado: jul 2006
Posts: 95
Poder: 18
johurgi Va por buen camino
Danos algun tipo de ejemplo, ya que es otra opcion que no conocia, y seria muy interesante ver como funciona.
Responder Con Cita
  #11  
Antiguo 06-06-2008
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 20
manolop Va por buen camino
yo utilzo el TZipmaster y este sería un ejemplo....

Código Delphi [-]
     Zip.Dll_Load;

      zip.FSpecArgs.Append('*.*');
   
     zip.RootDir:=directorio_proyecto;
     if fdestino<>'' then
       Zip.ZipFilename :=fdestino   //fichero q creara
  

     Zip.AddOptions := Zip.AddOptions + [AddRecurseDirs, AddDirNames];
         
     try
        Zip.Add;
     except
       on exception do
         begin
           Cursor:=crDefault;
           Application.MessageBox('Falló la compresión',PAnsiChar(Main.get_nombre_aplicacion),mb_iconError+mb_OK);
         end;
     end;
     Zip.Dll_Load;

Espero que te sirva, un saludo
Responder Con Cita
  #12  
Antiguo 06-06-2008
Avatar de johurgi
johurgi johurgi is offline
Miembro
 
Registrado: jul 2006
Posts: 95
Poder: 18
johurgi Va por buen camino
el zipmaster es un componente gratuito???, y donde lo puedo conseguir??
Responder Con Cita
  #13  
Antiguo 06-06-2008
manolop manolop is offline
Miembro
 
Registrado: may 2005
Posts: 109
Poder: 20
manolop Va por buen camino
Es gratuito y lo tienes en

http://www.delphizip.org/index.html
Responder Con Cita
  #14  
Antiguo 07-06-2008
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Las funciones de la libreria hablan por si mismo, pero googleando encontre este ejemplo, q se puede personalizar..
Código Delphi [-]
 program ZLibTest;
{$APPTYPE CONSOLE}
uses SysUtils, Classes, ZLib;
var
  FileName: String;
  CompFileStream: TStream;
  CompressionStream: TCompressionStream;
  FileStream: TStream;
  DecompressionStream: TDecompressionStream;
  Buffer: Array[0..4095] of Char;
  BufLen: Integer;
begin
  if ParamCount < 1 then Halt;
  FileName := ParamStr(1);
  Write('Compressing ',FileName,' ... ');
  FileStream := TFileStream.Create(FileName,fmOpenRead OR fmShareDenyWrite);
  CompFileStream := TFileStream.Create(FileName+'.compress',fmCreate);
  CompressionStream := TCompressionStream.Create(clDefault,CompFileStream);
  CompressionStream.CopyFrom(FileStream,0);
  CompressionStream.Free;
  CompFileStream.Free;
  FileStream.Free;
  Writeln('Done');
  Write('Decompressing ',FileName,'.compress ... ');
  CompFileStream := TFileStream.Create(FileName+'.compress', fmOpenRead OR fmShareDenyWrite);
  FileStream := TFileStream.Create(FileName+'.uncompress', fmCreate);
  DecompressionStream := TDecompressionStream.Create(CompFileStream);
  BufLen := DecompressionStream.Read(Buffer,SizeOf(Buffer));
  while BufLen > 0 do
    begin
    FileStream.Write(Buffer,BufLen);
    BufLen := DecompressionStream.Read(Buffer,SizeOf(Buffer));
    end;
  DecompressionStream.Free;
  FileStream.Free;
  CompFileStream.Free;
  Writeln('Done');
  Readln;
end.
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #15  
Antiguo 09-06-2008
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
De aquí se puede bajar el componente que vengo usando hace tiempo, hasta ahora no me ha dado problemas, pero hay muchos otros componentes más actuales y poderosos.

Olvidaba decir que es free.
__________________
Herr Heins Faust
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Abrir archivos con nombres de archivos de otra codificación. matabyte Windows 2 01-05-2008 01:40:13
Generar contraseña Bicho Varios 10 05-09-2007 10:26:35
como generar un id UREÑA Conexión con bases de datos 9 20-05-2007 00:56:47
Generar SQL jevo19100 Firebird e Interbase 5 07-10-2006 22:17:21
generar PDF Nidia H. Ochoa Impresión 0 09-07-2004 23:58:42


La franja horaria es GMT +2. Ahora son las 00:41:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi