Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 4 Semanas
Avatar de keys
keys keys is offline
Miembro
 
Registrado: Sep 2003
Ubicación: Bilbao
Posts: 384
Poder: 15
keys Va por buen camino
Descomprimir con TZipFile

Hola a todos, estoy intentando descomprimir un archivo zip con la clase TZipFile del delphi XE TOKIO. Es un fichero muy grande con 479 MB. La copia se hace bien, lo abro con el winzip y veo todos los ficheros dentro con todos los datos.

Luego a la hora de restaurarlo con el TZipfile, al cargarlo con Zip.FileCount me dice que solo hay 7599 ficheros, cuando hay muchos más. Claro si voy restaurando con

For t := 0 to Zip.FileCount - 1
begin
Zip.Extract(Zip.FileNames[t], 'c:\Destino', true);
end;

no me restura todo.

Si lo restauro todo de golpe con Zip.ExtractAll('C:\destino22') me restaura exactamente lo mismo 7599 archivos. Sin embargo con el winzip veo que hay muchas mas y si lo descomprimo que salen muchos más.

¿Ha alguien le ha pasado esto? He tenido que cambiar a la clase de las jcl para poder descomprimir todo.

Un Saludo.
Responder Con Cita
  #2  
Antiguo Hace 4 Semanas
Avatar de keys
keys keys is offline
Miembro
 
Registrado: Sep 2003
Ubicación: Bilbao
Posts: 384
Poder: 15
keys Va por buen camino
Me respondo yo mismo. He encontrado por internet lo siguiente.

TZipFile was introduced in XE2 in 2011. Large .zip files have been around a lot longer than that, and Windows has supported large files > 4GB ever since NTFS was first introduced in NT3. Embarcadero simply didn't bother implementing support for the ZIP64 format (and still haven't) when they created TZipFile.

Es decir no soporta ficheros ZIP grandes. O eso creo entender.
Responder Con Cita
  #3  
Antiguo Hace 4 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 27.760
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
Var
  Zip :TZipFile;
Begin
  Zip := TZipFile.Create;
  Try
    Zip.Open ('C:\Delphi\Ejemplos\TZipFile\Prueba.zip', zmRead);
    Zip.ExtractAll('C:\Delphi\Ejemplos\TZipFile');
  Finally
    Zip.Free;
  End;
End;

479 Mb no es grande. Lo que has leido es para archivos de más de 4 Gigas.
Responder Con Cita
  #4  
Antiguo Hace 4 Semanas
Avatar de keys
keys keys is offline
Miembro
 
Registrado: Sep 2003
Ubicación: Bilbao
Posts: 384
Poder: 15
keys Va por buen camino
Lo primero gracias. He probado a hacer eso, y tambien fichero a fichero y me pasa lo mismo.
Responder Con Cita
  #5  
Antiguo Hace 4 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 27.760
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por keys Ver Mensaje
Lo primero gracias. He probado a hacer eso, y tambien fichero a fichero y me pasa lo mismo.
¿Seguro?
Responder Con Cita
  #6  
Antiguo Hace 4 Semanas
Avatar de keys
keys keys is offline
Miembro
 
Registrado: Sep 2003
Ubicación: Bilbao
Posts: 384
Poder: 15
keys Va por buen camino
Si Seguro.

La propiedad Zip.FileCount me devuelve 7599 que son muchos menos de los que tiene.

He cambiado a la clase de los jcl y me retorna todos los ficheros y me los descomprime. Al igual que el winzip.

lo he probado de las dos siguientes formas

for t := 0 to Zip.FileCount - 1 do
begin
Zip.Extract(Zip.FileNames[t],'c:\destino', true);
end;

y

Zip.ExtractAll('c:\Destino');
Responder Con Cita
  #7  
Antiguo Hace 4 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: Sep 2004
Ubicación: En algún lugar.
Posts: 27.760
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Será un error de esa versión.
Yo uso Abbrevia.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Descomprimir zip con sevenzip Ramsay Varios 2 14-07-2016 02:04:28
TZipFile en Builder XE3 Angel.Matilla C++ Builder 0 09-04-2015 12:11:29
Clase TZipFile, para comprimir y descomprimir archivos Al González Varios 10 25-10-2012 17:26:18
Problemas con TZipFile alastor Varios 7 05-09-2006 18:24:07
descomprimir un programa nachete Varios 0 11-03-2005 19:05:06


La franja horaria es GMT +2. Ahora son las 00:39:52.


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