Explodir arquivo criado pela HbZip.Lib
Moderador: Moderadores
Explodir arquivo criado pela HbZip.Lib
Bom dia...
Alguém pode compartilhar um fonte-exemplo de como Explodir (UNZIP) uma arquivo zipado que foi gerado (COM SENHA) usando a lib do harbour ?
É que depois do windows 64, até isso é a gente q tem que fazer.
Quero gerar o meu próprio, pq Testei o 7-zip.exe e ele não me atendeu
gabriel
Alguém pode compartilhar um fonte-exemplo de como Explodir (UNZIP) uma arquivo zipado que foi gerado (COM SENHA) usando a lib do harbour ?
É que depois do windows 64, até isso é a gente q tem que fazer.
Quero gerar o meu próprio, pq Testei o 7-zip.exe e ele não me atendeu
gabriel
lugab
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Explodir arquivo criado pela HbZip.Lib
Amigo, segue um pequeno exemplo de como compactar e descompactar um arquivo de backup:
Abraços,
Código: Selecionar todos
/****************************************
* Compilar: hbmk2 teste_zip.prg -lhbziparc -lhbmzip -lminizip
****************************************/
PROCEDURE Main()
LOCAL cTipo := "1"
LOCAL cDestino:=left("C:\"+CurDir()+spac(100),100)
LOCAL cOrigem:=left("C:\"+CurDir()+"\*.DBF"+spac(100),100)
LOCAL cSenha:=SPAC(10)
LOCAL aArq:={}
LOCAL c_ExtArq:="bck" //extensao do arquivo que sera criado
CLS
SETMODE(25,80)
DO WHILE .T.
@ 5, 1 TO 13, 78
@ 10,2 SAY REPL("-",76)
@ 12,3 say REPL(".",74)
@ 6,23 SAY "(1-Backup/2-Restaura)"
@ 6, 3 SAY "Tipo............:" GET cTipo VALID (cTipo$[12])
READ
IF LASTKEY()=27
EXIT
ENDIF
IF cTipo="2"
cOrigem:=left("C:\"+CurDir()+"\backup."+c_ExtArq+spac(100),100)
ENDIF
@ 7, 3 SAY "Arquivo Origem..:" GET cOrigem PICT "@S56"
@ 8, 3 SAY "Drive Destino...:" GET cDestino PICT "@S56"
@ 9, 3 SAY "Senha...........:" GET cSenha PICT "@!"
READ
IF LASTKEY()=27
EXIT
ENDIF
IF !FILE(ALLTRIM(cOrigem))
Alert("Arquivo "+ALLTRIM(cOrigem)+";Nao encontrado!")
LOOP
ENDIF
IF RIGHT(ALLTRIM(cDestino),1)!="\"
cDest:=ALLTRIM(cDestino)+"\NUL"
cArqZip:=ALLTRIM(cDestino)+"\backup."+c_ExtArq
ELSE
cDest:=ALLTRIM(cDestino)+"NUL"
cArqZip:=ALLTRIM(cDestino)+"backup."+c_ExtArq
ENDIF
IF !FILE(cDest)
Alert("O Drive "+ALLTRIM(cDestino)+";Nao encontrado!")
LOOP
ENDIF
IF cTipo="1"
aArq:={}
IF "*" $ cOrigem
aDir1 := directory(ALLTRIM(cOrigem))
vPasta:= LEFT(cOrigem,RAT("\",cOrigem))
for x=1 to len(aDir1)
aadd(aArq,vPasta+aDir1[x,1])
next
ELSE
aadd(aArq,ALLTRIM(cOrigem))
ENDIF
nTotal:=Len(aArq)
hb_zipfile( cArqZip,aArq, 9,{|cFile,nPos| eProgresso( cFile, nPos,nTotal) },.t.,ALLTRIM(cSenha),.F.,.F., )
ELSE
cDest:=ALLTRIM(cDestino)
IF RIGHT(ALLTRIM(cDestino),1)!="\"
cDest+="\"
ENDIF
aArq:=hb_GetFilesInZip(ALLTRIM(cOrigem))
nTotal:=Len(aArq)
hb_UnzipFile( ALLTRIM(cOrigem),{|cFile,nPos| eProgresso( cFile, nPos,nTotal) },,ALLTRIM(cSenha),cDest,aArq)
ENDIF
EXIT
ENDDO
RETURN
************************************
Function eProgresso(vtxt,xPerc,wTot)
************************************
Local nPre:=(xPerc*100)/wTot,;
nBar:=(nPre*74)/100
@ 11,3 say "Concluido..: "+str(nPre,3,0)
@ 11,21 say "Arquivo: "+LEFT(vtxt+SPAC(40),44)
@ 12,3 say REPL("X",INT(nBar))
return nilToledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Explodir arquivo criado pela HbZip.Lib
Oi, Toledo
Acho q deixei de linkar alguma coisa e obtive esses erros na compilação.
Das 3 libs q vc mencionou, só consegui localizar e linkar as 2 primeiras.
Minizip.lib eu não achei, nem nada começando com HB q fosse similar
Acho q deixei de linkar alguma coisa e obtive esses erros na compilação.
Será falta de algum .CH ou versão do HArbour ? Eu uso o Harbour2.0Error: Unresolved external '_deflateInit2_' referenced from H:\HB-ZIP\TESTE\HBMZIP.LIB|zip
Error: Unresolved external '_get_crc_table' referenced from H:\HB-ZIP\TESTE\HBMZIP.LIB|zip
Error: Unresolved external '_crc32' referenced from H:\HB-ZIP\TESTE\HBMZIP.LIB|zip
Error: Unresolved external '_deflate' referenced from H:\HB-ZIP\TESTE\HBMZIP.LIB|zip
Error: Unresolved external '_deflateEnd' referenced from H:\HB-ZIP\TESTE\HBMZIP.LIB|zip
Error: Unresolved external '_inflateInit2_' referenced from H:\HB-ZIP\TESTE\HBMZIP.LIB|unzip
Error: Unresolved external '_inflate' referenced from H:\HB-ZIP\TESTE\HBMZIP.LIB|unzip
Error: Unresolved external '_inflateEnd' referenced from H:\HB-ZIP\TESTE\HBMZIP.LIB|unzip
Das 3 libs q vc mencionou, só consegui localizar e linkar as 2 primeiras.
Minizip.lib eu não achei, nem nada começando com HB q fosse similar
* Compilar: hbmk2 teste_zip.prg -lhbziparc -lhbmzip -lminizip
lugab
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Explodir arquivo criado pela HbZip.Lib
O exemplo que passei foi testado a partir do Harbour 3.0, então não sei se vai funcionar com a versão 2.0.lugab escreveu:Eu uso o Harbour2.0
Verifique se nesta sua versão não existe a pasta \contrib\hbmzip\tests e \contrib\hbziparc\tests, onde você pode encontrar um código exemplo.
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Explodir arquivo criado pela HbZip.Lib
Oi Toledo,
Eu compilei com o Hb 3.0 e deu esses erros no minizip.lib q está na pasta lib
Desconfia se alguma coisa q eu fiz errado , ou então, tens algum outro exemplo pra eu testar ?
Um abraço
PS: Eu consegui achar o Minizip.lib no Hb 3.00 e linkei, juntamente com hbziparc.lib e hbmzip.lib
Eu compilei com o Hb 3.0 e deu esses erros no minizip.lib q está na pasta lib
Código: Selecionar todos
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
zipunzip.c:
d:\borland\bcc55\bin\ilink32.exe -Gn -Tpe -s zipunzip.obj, zipunzip.exe,, d:\borland\bcc55\LIB\c0w32.obj d:\hb30\lib\hbrtl.lib d:\hb30\lib\xhb.lib d:\hb30\lib\gtwvg.lib d:\hb30\lib\hbvm.lib d:\hb30\lib\hblang.lib d:\hb30\lib\hbct.lib d:\hb30\lib\hbmacro.lib d:\hb30\lib\hbrdd.lib d:\hb30\lib\hbcommon.lib d:\hb30\lib\hbpp.lib d:\hb30\lib\hbwin.lib d:\hb30\lib\hbtip.lib d:\hb30\lib\hbsix.lib d:\hb30\lib\gtwin.lib d:\hb30\lib\rddcdx.lib d:\hb30\lib\rddntx.lib d:\hb30\lib\rddfpt.lib d:\hb30\lib\hbpcre.lib d:\hb30\lib\hbziparc.lib d:\hb30\lib\hbmzip.lib d:\hb30\lib\minizip.lib d:\borland\bcc55\lib\cw32.lib d:\borland\bcc55\lib\import32.lib,
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_deflateInit2_' referenced from D:\HB30\LIB\MINIZIP.LIB|zip
Error: Unresolved external '_get_crc_table' referenced from D:\HB30\LIB\MINIZIP.LIB|zip
Error: Unresolved external '_crc32' referenced from D:\HB30\LIB\MINIZIP.LIB|zip
Error: Unresolved external '_deflate' referenced from D:\HB30\LIB\MINIZIP.LIB|zip
Error: Unresolved external '_deflateEnd' referenced from D:\HB30\LIB\MINIZIP.LIB|zip
Error: Unresolved external '_inflateInit2_' referenced from D:\HB30\LIB\MINIZIP.LIB|unzip
Error: Unresolved external '_inflate' referenced from D:\HB30\LIB\MINIZIP.LIB|unzip
Error: Unresolved external '_inflateEnd' referenced from D:\HB30\LIB\MINIZIP.LIB|unzip
** error 2 ** deleting all
Um abraço
PS: Eu consegui achar o Minizip.lib no Hb 3.00 e linkei, juntamente com hbziparc.lib e hbmzip.lib
lugab
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Explodir arquivo criado pela HbZip.Lib
Amigo, acabei de compilar este meu exemplo, usando Harbour 3.0 e o BCC55:
Harbour 3.0
Arquivo TLink32.cfg que está na pasta \BCC55\BIN:
Não sei dizer com certeza qual é o problema com a sua compilação, mas segue abaixo a minha configuração de ambiente do Harbour e do BCC:C:\programa\forum\zip>hbmk2 demo.prg -lhbziparc -lhbmzip -lminizip
hbmk2: Processando op‡äes do ambiente: -compiler=bcc
Harbour 3.0.0 (Rev. 16951)
Copyright ( c ) 1999-2011, http://harbour-project.org/
Compiling 'demo.prg'...
Lines 88, Functions/Procedures 2
Generating C source output to 'C:\DOCUME~1\TOLEDO~1\CONFIG~1\Temp\hbmk_putsm7.dir\demo.c'... Done.
C:\DOCUME~1\TOLEDO~1\CONFIG~1\Temp\hbmk_putsm7.dir\demo.c:
Turbo Incremental Link 5.00 Copyright ( c ) 1997, 2000 Borland
C:\programa\forum\zip>dir *.exe
O volume na unidade C não tem nome.
O número de série do volume é B0AA-2831
Pasta de C:\programa\forum\zip
22/06/2015 07:42 933.888 demo.exe
1 arquivo(s) 933.888 bytes
0 pasta(s) 28.407.132.160 bytes disponíveis
C:\programa\forum\zip>
Harbour 3.0
Borland BCC:SET PATH=c:\bcc55\bin;c:\hb30\bin;%PATH%
set HB_COMPILER=bcc
Arquivo TLink32.cfg que está na pasta \BCC55\BIN:
Arquivo bcc32.cfg que está na pasta \BCC55\BIN:/LC:\BCC55\lib;C:\hb30\LIB\win\bcc
Arquivo ILINK32.CFG que está na pasta \BCC55\BIN:-IC:\bcc55\include;C:\hb30\include
-LC:\bcc55\lib;C:\hb30\lib\win\bcc
Abraços,-LC:\BCC55\LIB;C:\hb30\LIB\WIN\BCC
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Explodir arquivo criado pela HbZip.Lib
Obrigado,Toledo
Sinistro, né ? Aliás, essa é a maior queixa dos iniciantes. É bem mais complicado compilar sem erros até mesmo os exemplos
do próprio Harbour do que adaptar um .PRG pré-existente.
Só resta desconfiar do harbour 3.0 e do BCC que baixei e instalei...
Um abraçio...
Sinistro, né ? Aliás, essa é a maior queixa dos iniciantes. É bem mais complicado compilar sem erros até mesmo os exemplos
do próprio Harbour do que adaptar um .PRG pré-existente.
Só resta desconfiar do harbour 3.0 e do BCC que baixei e instalei...
Um abraçio...
lugab
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Explodir arquivo criado pela HbZip.Lib
Gabriel,
Percebo que muitos baixam muita coisa e na hora de usar acabam misturando muitas versão e projetos diferente. As vez é melhor capar tudo fora e seguir do inicio ao fim com apenas um ambiente em uso, caso não de certo apaga tudo e começa de novo com outro ambiente. NÃO SEI se foi seu caso, mas fique atento entre as diversidades de versões e projetos(harbour/xharbour)
Percebo que muitos baixam muita coisa e na hora de usar acabam misturando muitas versão e projetos diferente. As vez é melhor capar tudo fora e seguir do inicio ao fim com apenas um ambiente em uso, caso não de certo apaga tudo e começa de novo com outro ambiente. NÃO SEI se foi seu caso, mas fique atento entre as diversidades de versões e projetos(harbour/xharbour)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Explodir arquivo criado pela HbZip.Lib
Pode não ser culpa do iniciante.
Aqui neste forum tem tutoriais velhos, coisas antigas. Vai ver ele seguiu alguns desses.
Para o iniciante começar com Harbour 3.0 e BCC ? Pode ser algum tutorial defasado. Ai pode ser que, o iniciante pegue uma LIB do xHarbour e jogue no Harbour etc...
Saudações,
Itamar M. Lins Jr.
Aqui neste forum tem tutoriais velhos, coisas antigas. Vai ver ele seguiu alguns desses.
Para o iniciante começar com Harbour 3.0 e BCC ? Pode ser algum tutorial defasado. Ai pode ser que, o iniciante pegue uma LIB do xHarbour e jogue no Harbour etc...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Explodir arquivo criado pela HbZip.Lib
De fato, uma boa atualizada nos tutorial ajudaria os iniciante.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Explodir arquivo criado pela HbZip.Lib
Consegui, pessoal
Apaguei minha versão anterior e baixei o HB3.0 do link da sourcefog.net e aí funcionou
Obrigado ao Toledo pela solução e a todos que opinaram sobre como resolver o conflito de versões
Apaguei minha versão anterior e baixei o HB3.0 do link da sourcefog.net e aí funcionou
Obrigado ao Toledo pela solução e a todos que opinaram sobre como resolver o conflito de versões
lugab
