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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-06-2017
Avatar de ppb
[ppb] ppb is offline
Miembro Premium
 
Registrado: jun 2005
Ubicación: España
Posts: 109
Poder: 19
ppb Va por buen camino
UnZIP basado en /DotNetZip

Hola compañeros ,
estoy atascado con un tema de compresión/descompresión , más descompresión;
Voy allá , a la aplicación que estoy desarrollando llega una cadena , primero comprimida en zip
y luego codificada en base64 , estos pasos son realizados por una aplicación externa ,
para la compresión de dicha cadena se ha usado la compresión ZIP mediante el componente de .NET DotNetZip
v1.10.1(https://www.nuget.org/packages/DotNetZip) . Bueno el caso es que mi aplicación tiene que sacar el texto en claro
, en el decodebase64 no hay ningún problema , pero a la hora de hacer el unzip no encuentro la solución.
La cadena no viene de un fichero , es una lectura de un código de barras tipo 2D (417 FDF).

Alguien se ha pegado con algo parecido ?

Gracias por vuestra ayuda de antemano.
Saludos cordiales.
__________________
Because , I have a power.
Responder Con Cita
  #2  
Antiguo 20-06-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.265
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por ppb Ver Mensaje
La cadena no viene de un fichero , es una lectura de un código de barras tipo 2D (417 FDF).
A mi personalmente no me queda claro lo que comentas. Explicas todo, pero esto que te comento no lo acabo de entender.
¿Cómo llega a tu programa esa cadena?
¿Alguien lee el código de barras, hare un ZIP (será de un fichero) y luego usa Base64? ¿Esa cadena es la que te llega a ti?

Si es así, decodifica el base64, graba el ficheroi (ojo à la codificación), descomprime en otro fichero y lee el contenido.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 27-06-2017 a las 08:29:08.
Responder Con Cita
  #3  
Antiguo 26-06-2017
Avatar de ppb
[ppb] ppb is offline
Miembro Premium
 
Registrado: jun 2005
Ubicación: España
Posts: 109
Poder: 19
ppb Va por buen camino
Hola Neftali,

la lectura es a través de un lector de código de barras , la cadena que llega
está construida "TextoClaro->ZIP->codebase64" y para extraer "decodebase64->Unzip-TextoClaro"
gracias por la sugerencia , he probado a usar :
- "system.zlib" con ZDecompressStr , pero devuelve "data error" , usando AnsiString;
- He grabado el en un fichero ( bytes ) pero el fichero no es reconocido como zip.

No he probado con la funciones de "system.zip" , tengo que reconocer que
tampoco se la diferencia entre zip y zlib.

Gracias por tu ayuda.
__________________
Because , I have a power.
Responder Con Cita
  #4  
Antiguo 26-06-2017
Avatar de ppb
[ppb] ppb is offline
Miembro Premium
 
Registrado: jun 2005
Ubicación: España
Posts: 109
Poder: 19
ppb Va por buen camino
Solucionado :

Código Delphi [-]
function Unzip(aContent: TArray): string;
var
  DecompressionStream: TDecompressionStream;
  Compressed: TBytesStream;
  Decompressed: TStringStream;
begin
    Compressed := TBytesStream.Create(aContent);
    try
      DecompressionStream := TDecompressionStream.Create(Compressed, -8);
      try
        Decompressed := TStringStream.Create('', TEncoding.UTF8);
        try
          Decompressed.LoadFromStream(DecompressionStream);
          Result := Decompressed.DataString;
        finally
          Decompressed.Free;
        end;
      finally
        DecompressionStream.Free;
      end;
    finally
      Compressed.Free;
    end;
end;

Gracias.
__________________
Because , I have a power.
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
'Cast' basado en un arreglo. TiammatMX OOP 9 09-08-2013 12:46:05
Problemas con el ZIP Y EL UNZIP para backups BuRtOn Varios 15 23-09-2008 16:58:14
Reporte basado en un query Puberta Varios 5 01-02-2008 18:22:04
Editor de Texto Basado en HTML sitrico Varios 2 29-08-2006 22:44:25
Creación de Componente basado en DBImage Aprendiz OOP 6 17-12-2004 12:49:43


La franja horaria es GMT +2. Ahora son las 22:43:51.


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