Dúvida HB_Unzipfile()

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Dúvida HB_Unzipfile()

Mensagem por Softwhouse »

Tenho uma rotina de backup que grava a pasta e as subpastas com seus arquivos. Na rotina de recuperação, com HB_Unzipfile, só recupera se a subpasta existir, se por acaso alguma pasta tenha sido excluída não será recriada, só recupera os arquivos nas pastas existentes. Está correto isso ou existe algum parâmetro que desconheço para que isso funcione? Obrigado.
Fernando
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Dúvida HB_Unzipfile()

Mensagem por Itamar M. Lins Jr. »

Ola!
Cadê a sintaxe dela ? Como vc está usando ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Dúvida HB_Unzipfile()

Mensagem por Itamar M. Lins Jr. »

Ola!
Procure na fonte.
A fonte é esta aqui:
https://harbour.github.io/doc/hbziparc. ... _unzipfile
Nos docs oficiais do Harbour.

Código: Selecionar todos

lWithPath Toggle to create directory if needed
Espero que funcione.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Dúvida HB_Unzipfile()

Mensagem por Softwhouse »

Olá,

Estou usando assim:

If Hb_UnzipFile('cArquivo.zip', ,.T., ,'C:\', aExtract')

Tentei outras maneiras conforme o manual e não funcionou.
Fernando
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Dúvida HB_Unzipfile()

Mensagem por Kapiaba »

Olá, veja se ajuda, fontes e executável anexos. Abs.
Anexos
PBACKUP.rar
(2.8 MiB) Baixado 348 vezes
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Dúvida HB_Unzipfile()

Mensagem por Kapiaba »

Imagem:
pbackup.png
Abs.
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Dúvida HB_Unzipfile()

Mensagem por gilbertosilverio »

Ola,

Se ver teu código completo fica difícil, mais você esta usando isto:

aExtract := hb_GetFilesInZip( cZip )


Acho que e aqui que ele pega as pastas do arquivo zipado...
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Dúvida HB_Unzipfile()

Mensagem por Softwhouse »

Kapiaba,

Testei seu demo tentando descompactar o zip gerado pelo meu sistema, não foram geradas nehuma pasta, descompactou os arquivos em C:\

Gilberto

Essa linha existe sim no sistema.
Fernando
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Dúvida HB_Unzipfile()

Mensagem por Kapiaba »

Fernando, veja onde está escrito:

"Carpeta(Pasta) destino para restaurar la cópia" - Troque(cambie) para onde deseja fazer a restauração. Abs.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Dúvida HB_Unzipfile()

Mensagem por Itamar M. Lins Jr. »

Ola!
If Hb_UnzipFile('cArquivo.zip', ,.T., ,'C:\', aExtract')

Tentei outras maneiras conforme o manual e não funcionou.
Muito importante informar. Qual é a versão do seu Harbour ?
Monta um exemplo enxuto. Precisamos mandar esse bug para o grupo de desenvolvedores.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Dúvida HB_Unzipfile()

Mensagem por Itamar M. Lins Jr. »

Ola!
Aqui tudo é de gota em gota.
Cadê seu fonte com a função hb_zipfile ?
Quando pedir ajuda, se possível já criar a função demonstrando o problema, e a versão do harbour.

Código: Selecionar todos

Syntax

hb_ZipFile( <cFile>, <cFileToCompress> | <aFiles>, <nLevel>,
<bBlock>, <lOverWrite>, <cPassword>, <lWithPath>, <lWithDrive>,
<pFileProgress> ) → lCompress

lWithPath Toggle to store the path or not
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Dúvida HB_Unzipfile()

Mensagem por Softwhouse »

Descobri. Compilei com o Harbour 3.0 e funcionou perfeitamente, o problema está no harbour 3.2. Baixei a versão nightly e o problema persiste.
Fernando
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Dúvida HB_Unzipfile()

Mensagem por Softwhouse »

Fiz isso fora do sistema para testar:

Function Main()
aExtract:=Hb_GetFilesInZip('171130.zip')

If Hb_UnZipFile('171130.zip',,.T.,,'C:\',aExtract)
@ 10,20 Say 'Sucesso...'
EndIf
Return(.T.)
Fernando
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Dúvida HB_Unzipfile()

Mensagem por Itamar M. Lins Jr. »

Ola!
Cadê a sua sintaxe de como usa a hb_zipfile ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Dúvida HB_Unzipfile()

Mensagem por Softwhouse »

Código: Selecionar todos


#include 'inkey.ch'
Function Backup(cOperacao)
Local cColor, cTela, aDir, aRay, nChoice, aExtract, cPasta
Local cOrigem:='C:\Estoques\Dados\'
Local cDestino:='C:\Backups\Estoques\'
Local cArqZip:=SubStr(Dtos(Date()),3,6) + StrTran(Time(),':','')

HB_DirBuild('C:\Backups\Estoques')

If cOperacao=='Backup'
   If Confirma('Confirma o in¡cio do backup?')==1
      If LastKey()==K_ESC
         Return(.T.)
      Else
         MensagemRun('Aguarde, efetuando backup...','Begin')
         aRay:={}

         aDir:=Directory(cOrigem + '*.*', 'D')

         cPasta:=Left(cOrigem, Rat('\',cOrigem))

         For i = 1 To Len(aDir)
             AADD(aRay, cPasta + aDir[i,1] + '\*.DBF')
             AADD(aRay, cPasta + aDir[i,1] + '\*.CDX')
         Next

         HB_ZipFile(cDestino + cArqZip, aRay, 9,,,,.T.,.F.)

         MensagemRun('Backup conclu¡do!','End')
      EndIf
   EndIf

ElseIf cOperacao=='Restore'
   If Alert('Aten‡Æo !!!; NÆo prossiga com essa opera‡Æo; sem o devido conhecimento.;Desejas Continuar ?',{'NÆo','Sim'})==2
      cColor:=SetColor()
      cTela:=SaveScreen(04,19,14,39)
      SetColor('N/BG,W+/N')
      aDir:=Directory(cDestino + '*.zip')
      aRay:={}
      For i = 1 To Len(aDir)
          Aadd(aRay, aDir[i,1])
      Next
      Shade(04,19,13,38)
      @ 04,20 Say '´ Escolha o zip Ã'
      nChoice:=Achoice(06,21,11,36,aRay)
      If nChoice <> 0
         If Confirma('Confirma o in¡cio da restaura‡Æo?')==1
            If LastKey()==K_ESC
               SetColor(cColor)
               RestScreen(04,19,14,39,cTela)
               Return(.T.)
            Else
               MensagemRun('Aguarde, restaurando o backup...','Begin')
               aExtract:=Hb_GetFilesInZip(cDestino + aDir[nChoice,1])

               If Hb_UnZipFile('171130.zip',,.T.,,'C:\',aExtract)
                  MensagemRun('Restaura‡Æo conclu¡da!','End')
                  Alert('Acesse o sistema novamente...')
                  Quit
               EndIf

            EndIf
         EndIf
      EndIf
      SetColor(cColor)
      RestScreen(04,19,14,39,cTela)
   EndIf
EndIf
Return(.T.)


Fernando
Responder