Página 1 de 1

hbzip no xHarbour 0.99.7

Enviado: 19 Mar 2007 19:25
por TerraSoftware
Caros colegas...
Estou migrando minha versão do xHarbour de 0.99.3 para 0.99.7.
Esbarei em um unico problema:
a função hb_unzipfile(), contida na hbzip.lib simplesmente não funciona. Ela sempre retorna (.f.) e não descompacta o arquivo em questão. Já fiz trocentos teste e naum vai. Já recompilei a lib contida nas contrib´s e não funciona. O intrigante é que a função hb_zipfile() que compacta e a função hb_GetFilesInZip() que me retorna quantos arquivos estão zipados funcionam perfeitamente. Dá pra entender ??

Alguem pode me dar uma luz ???

Enviado: 20 Mar 2007 14:28
por TerraSoftware
Caros colegas...
Eu mesmo achei uma solução, mas ainda não é exatamente o que eu desejava, veja só:
A função hb_unzipfileindex() funciona na versao 0.99.7 do harbour, o problema é que ela descompacta um arquivo por vez, ou seja, tenho que dar um FOR no vetor com os arquivos a serem descompactados e descompacta-los um por vez. Mas isso é a verdadeira POG (programação orientada a gambiara), alem de ficar lento.
Eu gostaria mesmo é de fazer a função hb_unzipfile() funcionar, continuo no aguardo de ajuda.

Enviado: 20 Mar 2007 16:44
por TerraSoftware
Caros colegas....
Problema resolvido!!! :))
Quem tiver como o mesmo problema pode me procurar, pois tenho a solução !! :xau

Enviado: 21 Mar 2007 13:50
por viniciuspc
não teria como coloca-la aqui ? :)Pos

[editado em 23/mar/07]

vc usou o hb_unzipallfile ?, não consequi usa-la....

de qq forma dei uma olhada no exemplo do zipnew.txt na pasta DOC do xHarbour :

Código: Selecionar todos

      FUNCTION MAIN()

      aExtract := hb_GetFilesInZip( "TEST.ZIP" )  // extract all files in zip
      IF HB_UNZIPFILE( "TEST.ZIP",,,, ".\", aExtract )
         qout("File was successfully extracted")
      ENDIF

      aExtract := hb_GetFilesInZip( "TEST2.ZIP" )  // extract all files in zip
      IF HB_UNZIPFILE( "TEST2.ZIP", {|cFile| qout( cFile ) },,, ".\", aExtract )
         qout("File was successfully extracted")
      ENDIF
      Return Nil
alterei o meu fonte e ficou legal!

[]´s