A vueltas con zip

Post Reply
groiss
Posts: 206
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

A vueltas con zip

Post by groiss »

Por mas vueltas que le llevo dadas al tema no consigo hacer uso de las funciones para crear ficheros comprimidos ZIP.¿ Sería alguein tan amable de ponerme un pequeño ejemplo que le funcione, así como las librerías harbour que hay que enlazar?
Muchisimas gracias y un saludo
José Luis
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: A vueltas con zip

Post by Daniel Garcia-Gil »

Groiss...


dale un vistazo el blog de biel http://bielsys.blogspot.com/
(gracias biel)
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
groiss
Posts: 206
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: A vueltas con zip

Post by groiss »

Daniel, a ese blog ya llegué hace tiempo, y sigo igual, me revise todo o casi todo lo que hay en estos foros y sigo igual. Fíjate un PRG con sólo esta línea den el programa HB_zipfile("C:\BASES\salida\files.zip","C:\BASES\salida\BOOKPROV.EXE")
Me produce un zip con el nombre files.zip de tamaño 0 bytes, sin nada en su interior. Las rutas esán comprobadas, pero algo me falla.
Las librerias que enlazo:

Code: Select all

echo %fwh%\lib\FiveH.lib %fwh%\lib\FiveHC.lib + >> b32.bc
echo %hdirl%\hbrtl.lib + >> b32.bc
echo %hdirl%\hbvm.lib + >> b32.bc
echo %hdirl%\%GT%.lib + >> b32.bc
echo %hdirl%\hblang.lib + >> b32.bc
echo %hdirl%\hbmacro.lib + >> b32.bc
echo %hdirl%\hbrdd.lib + >> b32.bc
echo %hdirl%\rddntx.lib + >> b32.bc
echo %hdirl%\rddcdx.lib + >> b32.bc
echo %hdirl%\rddfpt.lib + >> b32.bc
echo %hdirl%\dbfcdx.lib + >> b32.bc
echo %hdirl%\hbsix.lib + >> b32.bc
echo %hdirl%\hbdebug.lib + >> b32.bc
echo %hdirl%\hbcommon.lib + >> b32.bc
echo %hdirl%\hbpp.lib + >> b32.bc
echo %hdirl%\hbcpage.lib + >> b32.bc
echo %hdirl%\hbwin.lib + >> b32.bc
echo %hdirl%\hbziparch.lib + >> b32.bc
echo %hdirl%\hbzlib.lib + >> b32.bc
 
Así que no se que puede suceder.
Un saludo y mil gracias
José Luis
User avatar
anserkk
Posts: 1280
Joined: Fri Jun 13, 2008 11:04 am
Location: Kochi, India

Re: A vueltas con zip

Post by anserkk »

Dear Mr.Jose,
To create a zip

Code: Select all

lOk := hb_ZipFile( cTarget  , ;
                          aFiles , ;
                          nCompress , ;
                          bZip  , ;
                          lOverwrite , ;           // overwrite
                          cPassword  , ;
                          lWithPath,;               // with path
                          lWithDrive  )
 
Try as given below

Code: Select all

HB_zipfile("C:\BASES\salida\files.zip",{"C:\BASES\salida\BOOKPROV.EXE"})
If you need to store the file path, then try

Code: Select all

HB_zipfile("C:\BASES\salida\files.zip",{"C:\BASES\salida\BOOKPROV.EXE"}, , , , ,.T., )

Regards
Anser
User avatar
Willi Quintana
Posts: 859
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Re: A vueltas con zip

Post by Willi Quintana »

Veamos:

cFilZip := "archivo.zip"
aFiles := {..............} // array que contiene los nombres de los files a zipear
cPass := <contraseña>

lOk := HB_ZipFile( cFilZip, aFiles, 9, {|| oMeter2:Set(nRow++)} ,.T., cPass, .F., .F. )

9 indica el nivel de compresion, y veras que hay un codeblock para ver el avance en un METER

Salu2
groiss
Posts: 206
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: A vueltas con zip

Post by groiss »

Muy agradecido a todos, pero cuando he abierto el hilo, es porque todo lo tengo visto y leido, pero por alguna extrañisima circunstancia, mis zip se quedan en 0 kb, y sin nada dentro, y el ejecutable termina de forma anómala.
No he comentado que estoy trabajando con Harbour versión 2.0, pero con la beta anterior tampoco me funcionaba. No se cual puede ser el problema.
Muchas gracias y un saludo
José Luis
groiss
Posts: 206
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: A vueltas con zip

Post by groiss »

Alguien podría enlazarme este código y colgarme su exe correspondiente, para ver si funciona en mi equipo?
Gracias y un saludo
José Luis

Code: Select all

function main()
HB_zipfile("C:\BASES\salida\files.zip",{"C:\BASES\salida\BOOKPROV.EXE"})
return nil
 
User avatar
Andrés G.
Posts: 33
Joined: Fri Jun 29, 2007 7:38 am
Location: Tarragona, Catalunya

Re: A vueltas con zip

Post by Andrés G. »

José Luís,

Te envío a tu correo el ejemplo compilado, funciona bien.

Recuerdos.

Andrés
groiss
Posts: 206
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: A vueltas con zip

Post by groiss »

Muchisimas gracias, funciona perfecto, pero la que compilo y enlazo yo, no va ni a tiros, ¿podrías indicarme que buildh.bat estas usando?.
Gracias nuevamente y un saludo
José Luis
User avatar
Andrés G.
Posts: 33
Joined: Fri Jun 29, 2007 7:38 am
Location: Tarragona, Catalunya

Re: A vueltas con zip

Post by Andrés G. »

José Luís,

Aquí te pongo el codigo de mi BuildH.bat

Code: Select all

@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for Harbour 9.05 - May. 2009            Harbour development power  ³Ü
ECHO ³ (c) FiveTech, 1993-2009     for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7 ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

if "%FWDIR%" == "" set FWDIR=c:\fwh
if "%HBDIR%" == "" set HBDIR=c:\harbour
if "%2" == "/b" set GT=gtwin
if not "%2" == "/b" set GT=gtgui

ECHO Compiling...

set hdir=%HBDIR%
set hdirl=%hdir%\lib
set fwh=%FWDIR%
set bcdir=c:\bcc55

%hdir%\bin\harbour %1 /n /i%fwh%\include;%hdir%\include /w /p %2 %3 > comp.log
IF ERRORLEVEL 1 GOTO COMPILEERRORS
@type comp.log

echo -O2 -e%1.exe -I%hdir%\include -I%bcdir%\include %1.c > b32.bc
%bcdir%\bin\bcc32 -M -c @b32.bc
:ENDCOMPILE

IF EXIST %1.rc %bcdir%\bin\brc32 -r %1
rem IF EXIST %1.rc %vcdir%\bin\rc -r -d__FLAT__ %1

echo %bcdir%\lib\c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo %hdirl%\hbZipArc.lib + >> b32.bc
echo %hdirl%\hbmzip.lib + >> b32.bc
echo %hdirl%\hbzlib.lib + >> b32.bc
echo %fwh%\lib\FiveH.lib %fwh%\lib\FiveHC.lib + >> b32.bc
echo %hdirl%\hbrtl.lib + >> b32.bc
echo %hdirl%\hbvm.lib + >> b32.bc
echo %hdirl%\%GT%.lib + >> b32.bc
echo %hdirl%\hblang.lib + >> b32.bc
echo %hdirl%\hbmacro.lib + >> b32.bc
echo %hdirl%\hbrdd.lib + >> b32.bc
echo %hdirl%\rddntx.lib + >> b32.bc
echo %hdirl%\rddcdx.lib + >> b32.bc
echo %hdirl%\rddfpt.lib + >> b32.bc
echo %hdirl%\hbsix.lib + >> b32.bc
echo %hdirl%\hbdebug.lib + >> b32.bc
echo %hdirl%\hbcommon.lib + >> b32.bc
echo %hdirl%\hbpp.lib + >> b32.bc
echo %hdirl%\hbcpage.lib + >> b32.bc
echo %hdirl%\hbwin.lib + >> b32.bc

rem Uncomment these two lines to use Advantage RDD
rem echo %hdirl%\rddads.lib + >> b32.bc
rem echo %hdirl%\Ace32.lib + >> b32.bc

echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\uuid.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\msimg32.lib + >> b32.bc
echo %bcdir%\lib\psdk\rasapi32.lib, >> b32.bc

IF EXIST %1.res echo %1.res >> b32.bc
if %GT% == gtwin %bcdir%\bin\ilink32 -Tpe -s @b32.bc
IF ERRORLEVEL 1 GOTO LINKERROR
if %GT% == gtgui %bcdir%\bin\ilink32 -Gn -aa -Tpe -s @b32.bc
IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built *
%1
GOTO EXIT
ECHO

rem delete temporary files
@del %1.c

:COMPILEERRORS
@type comp.log
ECHO * Compile errors *
Pause
GOTO EXIT

:LINKERROR
ECHO * Linking errors *
Pause
GOTO EXIT

:SINTAX
ECHO    SYNTAX: Build [Program]     {-- No especifiques la extensi¢n PRG
ECHO                                {-- Don't specify .PRG extension
Pause
GOTO EXIT

:NOEXIST
ECHO The specified PRG %1 does not exist
Pause
:EXIT
Espero que te sirva.

Recuerdos,

Andrés
groiss
Posts: 206
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: A vueltas con zip

Post by groiss »

Muchisimas gracias.
Problema resuelto, bastó con cambiar el ordern de proceso de las librerías, porniendo:
hbziparc.lib
hbmzip.lib
hbzlib.lib
antes de las propias de Fivewin.

Un saludo
José Luis
Post Reply