Clipper On Line • Ver Tópico - Dúvida HB_Unzipfile()

Dúvida HB_Unzipfile()

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

Moderador: Moderadores

 

Dúvida HB_Unzipfile()

Mensagempor Softwhouse » 30 Nov 2017 17:38

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
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 300
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Dúvida HB_Unzipfile()

Mensagempor Itamar M. Lins Jr. » 30 Nov 2017 19:26

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

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Dúvida HB_Unzipfile()

Mensagempor Itamar M. Lins Jr. » 30 Nov 2017 19:31

Ola!
Procure na fonte.
A fonte é esta aqui:
https://harbour.github.io/doc/hbziparc.html#hb_unzipfile
Nos docs oficiais do Harbour.
lWithPath Toggle to create directory if needed

Espero que funcione.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Dúvida HB_Unzipfile()

Mensagempor Softwhouse » 01 Dez 2017 09:43

Olá,

Estou usando assim:

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

Tentei outras maneiras conforme o manual e não funcionou.
Fernando
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 300
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Dúvida HB_Unzipfile()

Mensagempor Kapiaba » 01 Dez 2017 09:57

Olá, veja se ajuda, fontes e executável anexos. Abs.
Anexos
PBACKUP.rar
(2.8 MiB) Baixado 62 vezes
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Dúvida HB_Unzipfile()

Mensagempor Kapiaba » 01 Dez 2017 10:00

Imagem:

pbackup.png


Abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Dúvida HB_Unzipfile()

Mensagempor gilbertosilverio » 01 Dez 2017 10:03

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
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Dúvida HB_Unzipfile()

Mensagempor Softwhouse » 01 Dez 2017 10:37

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
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 300
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Dúvida HB_Unzipfile()

Mensagempor Kapiaba » 01 Dez 2017 10:50

Fernando, veja onde está escrito:

"Carpeta(Pasta) destino para restaurar la cópia" - Troque(cambie) para onde deseja fazer a restauração. Abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes

Dúvida HB_Unzipfile()

Mensagempor Itamar M. Lins Jr. » 01 Dez 2017 12:54

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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Dúvida HB_Unzipfile()

Mensagempor Itamar M. Lins Jr. » 01 Dez 2017 13:00

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.
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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Dúvida HB_Unzipfile()

Mensagempor Softwhouse » 01 Dez 2017 13:02

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: 300
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Dúvida HB_Unzipfile()

Mensagempor Softwhouse » 01 Dez 2017 13:05

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
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 300
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Dúvida HB_Unzipfile()

Mensagempor Itamar M. Lins Jr. » 01 Dez 2017 13:08

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

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Dúvida HB_Unzipfile()

Mensagempor Softwhouse » 01 Dez 2017 13:16


#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
Softwhouse
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 300
Data de registro: 07 Dez 2011 17:44
Cidade/Estado: Porto Alegre/RS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro