Clipper On Line • Ver Tópico - HB_UNZIPFILE(), não consigo extrair nenhum arquivo

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor sambomb » 27 Out 2008 08:22

Olá, gostaria de saber se mais alguem ja teve esse problema, e como resolve-lo.

Já segui o código fonte apresentado no xbLite e não consegui extrair nenhum arquivo, a função sempre me retorna falso.

Um detalhe que eu achei interessante é que nem pelo executável do xbLite eu consigo extrair arquivos.

Result := HB_UNZIPFILE(::cPath+::cNome,,.F.,,pcDestPath,paFile[i])

Sendo que o retorno que recebo de cada varíavel é o seguinte :
::cPath+::cNome = C:\INTERESTE.ZIP
pcDestPath = C:\
paFile[i] = C:\Intel\Logs\IntelChipset.log

Sendo o caminho do Zip C:\INTERESTE.ZIP
O caminho para extração: C:\
O arquivo dentro do Zip denominado : IntelChipset.log
E o caminho(path) do arquivo dentro do ZIP \Intel\Logs\

OBS.: Adicionar ou retirar a unidade não alterou em nada o resultado
OBS. 2: Passar o parametro lWithPath como .T. também retorna falso e não extrai o arquivo

Abaixo segue a documentação que eu tenho desta função para fins de comparação caso ela esteja errada e também para quem não tenha acesso a função que está incluida na lib hzip.lib
HB_UNZIPFILE() //Unzip a compressed file

SYNTAX : HB_UNZIPFILE( <cFile>, <bBlock>, <lWithPath>, <cPassWord>, <cPath>, <cFile>|<aFile>,<pFileProgress> ) ---> lCompress

ARGUMENTS :
<cFile> Name of the zip file to extract
<bBlock> Code block to execute while extracting
<lWithPath> Toggle to create directory if needed
<cPassWord> Password to use to extract files
<cPath> Path to extract the files to - mandatory
<cFile> | <aFiles> A File or Array of files to extract - mandatory
<pFileProgress> Code block for File Progress
Imagem

Rca Sistemas - Itaocara - RJ
Avatar de usuário

sambomb
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 251
Data de registro: 24 Out 2008 16:02
Cidade/Estado: Itaocara - RJ - Brasil
Curtiu: 16 vezes
Mens.Curtidas: 10 vezes

Re: HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor sygecom » 27 Out 2008 17:27

Post um pequeno EXEMPLO para ver se consigo descompactar aqui !
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com
Avatar de usuário

sygecom
Membro Master

Membro Master
 
Mensagens: 6509
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 49 vezes

Re: HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor sambomb » 29 Out 2008 07:49

Atualizando.... Achei o erro.... http://www.fivewin.com.br/forum/topic.a ... C_ID=14090

Obrigado a todos que leram mas não puderam ajudar e a quem tentou....
Imagem

Rca Sistemas - Itaocara - RJ
Avatar de usuário

sambomb
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 251
Data de registro: 24 Out 2008 16:02
Cidade/Estado: Itaocara - RJ - Brasil
Curtiu: 16 vezes
Mens.Curtidas: 10 vezes

Re: HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor rochinha » 08 Nov 2008 09:56

Amiguinho,

De uma analisada neste meu codigo:
#include "FiveWin.ch"

FUNCTION NFWBackup()
   local oDLGARQ, oGet, lGo := .f., lGrava := .t., lDireta := .t.
   local lOverWrite:=.t., cPassword:="5volution"
   local lCtrl101,nCtrl102:=15,lCtrl103,lCtrl104,lCtrl105,nCtrl106:=1,;
         cCtrl107:="DIA(S)",nCtrl108:=1,cCtrl109:=SPACE(50)
   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"
   cZIPName   := VerifyINI( "BACKUP" , "Nome"      , cBKPName                      , cPath+"5vbackup.ini", .t. )
   cZIPEmail  := VerifyINI( "BACKUP" , "Email"     , "irochinha@itelefonica.com.br", cPath+"5vbackup.ini" )
   cZIPFiles  := VerifyINI( "BACKUP" , "Arquivos"  , "*.DBF;*.DBT;*.FPT;*.ARR;*.ETI;*.FRM;*.HRB;*.VAL;*.DAT;*.INI", cPath+"5vbackup.ini" )
   nZIPNivel  := VerifyINI( "BACKUP" , "Nivel"     , 8                             , cPath+"5vbackup.ini" )
   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"                           , cPath+"5vbackup.ini" )
   cPassword  := VerifyINI( "BACKUP" , "PassWord"  , Codifica("5volution")         , cPath+"5vbackup.ini" )
   cBKPAuto   := VerifyINI( "BACKUP" , "AUTOMATICO", "N"                           , cPath+"5vbackup.ini" )
   cBKPDest   := VerifyINI( "BACKUP" , "DESTINO"   , cPath                         , cPath+"5vbackup.ini" )
   cBKPOrig   := VerifyINI( "BACKUP" , "ORIGEM"    , cPath                         , cPath+"5vbackup.ini" )
                 VerifyINI( "BACKUP" , "LEMBRAR"   , "S"                           , cPath+"5vbackup.ini" )
                 VerifyINI( "BACKUP" , "PUBLICO"   , "N"                           , cPath+"5vbackup.ini" )
   DEFINE DIALOG oDLGARQ NAME "dlgBackup"
          //REDEFINE CHECKBOX oCtrl101 VAR lCtrl101 ID 101 OF oDLGARQ
          //REDEFINE GET      oCtrl102 VAR nCtrl102 ID 102 PICTURE "999" OF oDLGARQ WHEN lCtrl101 ;
          //  SPINNER ;
          //  ON UP   (++nCtrl102,oCtrl102:Refresh()) ;
          //  ON DOWN (--nCtrl102,oCtrl102:Refresh())
          REDEFINE GET      oCtrl102 VAR cBKPOrig ID 102 PICTURE "@!" OF oDLGARQ WHEN nCtrl108=1
          REDEFINE BUTTON ID 103 OF oDLGARQ ACTION ( cBKPOrig:=cGetDir("Pesquise no conjunto de pastas na caixa abaixo qual o diretorio contem os dados de que necessita","C:\"),oCtrl102:Refresh(),;
                                                     VerifyINI( "BACKUP", "DESTINO", cBKPOrig, cPath+"5vbackup.ini", .t. ),;
                                                     VerifyINI( "BACKUP", "ORIGEM" , cBKPOrig, cPath+"5vbackup.ini", .t. ) )
          //REDEFINE CHECKBOX oCtrl105 VAR lCtrl105 ID 105 OF oDLGARQ
          //REDEFINE GET      oCtrl106 VAR nCtrl106 ID 106 PICTURE "999" OF oDLGARQ ;
          //  SPINNER ;
          //  ON UP   (++nCtrl106,oCtrl106:Refresh()) ;
          //  ON DOWN (--nCtrl106,oCtrl106:Refresh())
          //REDEFINE COMBOBOX oCtrl107 VAR cCtrl107 ITEMS { "Mese(s)", "Semana(s)", "Dia(s)", "Ano(s)" } OF oDLGARQ ID 107
          REDEFINE BITMAP oBitMap ID 101 OF oDLGARQ RESOURCE "bmp006" //TRANSPAREN
          REDEFINE BITMAP oBitMap ID 104 OF oDLGARQ RESOURCE "bmp006" //TRANSPAREN
          REDEFINE BUTTON ID 105 OF oDLGARQ ACTION ZipBackup()
          REDEFINE BUTTON ID 106 OF oDLGARQ ACTION ZipRestore()
          REDEFINE BUTTON ID 107 OF oDLGARQ ACTION (lGo := .f., oDLGARQ:End())
   ACTIVATE DIALOG oDLGARQ CENTERED
   //VerifyINI( "BACKUP" , "Nome"      , cZIPName  , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Email"     , cZIPEmail , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Arquivos"  , cZIPFiles , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Nivel"     , nZIPNivel , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Reescreve" , lOverWrite, cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "PassWord"  , cPassword , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "AUTOMATICO", cBKPAuto  , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "DESTINO"   , cBKPDest  , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "ORIGEM"    , cBKPOrig  , cPath+"5vbackup.ini", .t. )
   return nil

FUNCTION ZIPBackup()
   local oMeter
   SET _3DLOOK ON
   MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
             ZipIn(oMeter) },;
             "Gerando arquivo compactado...", "Backup/Restore" )
   Return .f.

FUNCTION ZipIn(oMeter)
   local lOverWrite:=.t., cPassword:="5volution"
   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"
   cZIPName   := VerifyINI( "BACKUP" , "Nome"      , cBKPName                      , cPath+"5vbackup.ini", .t. )
   cZIPEmail  := VerifyINI( "BACKUP" , "Email"     , "irochinha@itelefonica.com.br", cPath+"5vbackup.ini" )
   cZIPFiles  := VerifyINI( "BACKUP" , "Arquivos"  , "*.DBF;*.DBT;*.FPT;*.ARR;*.ETI;*.FRM;*.HRB;*.VAL;*.DAT;*.INI", cPath+"5vbackup.ini" )
   nZIPNivel  := VerifyINI( "BACKUP" , "Nivel"     , 8                             , cPath+"5vbackup.ini" )
   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"                           , cPath+"5vbackup.ini" )
   cPassword  := VerifyINI( "BACKUP" , "PassWord"  , Codifica("5volution")         , cPath+"5vbackup.ini" )
   cBKPAuto   := VerifyINI( "BACKUP" , "AUTOMATICO", "N"                           , cPath+"5vbackup.ini" )
   cBKPDest   := VerifyINI( "BACKUP" , "DESTINO"   , cPath                         , cPath+"5vbackup.ini" )
   cBKPOrig   := VerifyINI( "BACKUP" , "ORIGEM"    , cPath                         , cPath+"5vbackup.ini" )
                 VerifyINI( "BACKUP" , "LEMBRAR"   , "S"                           , cPath+"5vbackup.ini" )
                 VerifyINI( "BACKUP" , "PUBLICO"   , "N"                           , cPath+"5vbackup.ini" )
   aZipFiles  := ProcessaArray( StringToArray( cZIPFiles, ";" ) )
   oMeter:nTotal:=Len(aZIPFiles)
   cBKPOrig   := curdrive()+":\"+curdir()
   if !file(cBKPOrig+"\"+cZIPName)
      Hb_ZIPFILE(cBKPOrig+"\"+cZIPName, aZIPFiles, nZIPNivel, {|cFile,nPos| (oMeter:Set(nPos),SysRefresh()) },lOverWrite )
   else
      //fErase(cBKPOrig+"\"+cZIPName)
      //if MsgYesNo( "Arquivo ("+cBKPName+") ja existe, Deseja re-escrever", "Atencao" )
      //   Hb_ZIPFILE(cBKPOrig+"\"+cZIPName, aZIPFiles, nZIPNivel, {|cFile,nPos| (oMeter:Set(nPos),SysRefresh()) },lOverWrite )
      //endif
   endif
   return .t.

FUNCTION ZIPRestore()
   local oMeter
   SET _3DLOOK ON
   MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
             ZipOut(oMeter) },;
             "Descompactando arquivo...", "Backup/Restore" )
   Return Nil     

FUNCTION ZipOut(oMeter)
   local lOverWrite:=.t., cPassword:="5volution"
   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"
   cZIPName   := VerifyINI( "BACKUP" , "Nome"      , cBKPName                      , cPath+"5vbackup.ini", .t. )
   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"                           , cPath+"5vbackup.ini" )
   cPassword  := DeCodifica(VerifyINI( "BACKUP" , "PassWord"  , Codifica("5volution")         , cPath+"5vbackup.ini" ))
   cBKPDest   := VerifyINI( "BACKUP" , "DESTINO"   , cPath                         , cPath+"5vbackup.ini" )
   oMeter:nTotal:=HB_GetFilesInZip( cZIPName )
   HB_UNZIPFILE(cBKPDest+"\"+cZIPName,,lOverWrite,,cBKPDest)
   return .t.

FUNCTION ProcessaArray( aQArray )
   local aTArray := {}
   for i = 1 to len( aQArray )
       DBF_NOMES := array( ADIR( aQArray[i] ) )
       ADIR( aQArray[i], DBF_NOMES )
       for ii = 1 to len( DBF_NOMES )
           AADD( aTArray, DBF_NOMES[ii] )
       next
   next
   return aTArray

FUNCTION CheckBKP()
   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"
   cBKPAuto   := VerifyINI( "BACKUP" , "AUTOMATICO", "N"                           , cPath+"5vbackup.ini" )
   cZIPName   := VerifyINI( "BACKUP" , "Nome"      , cBKPName                      , cPath+"5vbackup.ini", .t. )
   cBKPOrig   := VerifyINI( "BACKUP" , "ORIGEM"    , cPath                         , cPath+"5vbackup.ini" )
   cBKPOrig   := curdrive()+":\"+curdir()
   if cBKPAuto = "S"
      if !file(cBKPOrig+"\"+cZIPName)
         if Val(TTOS(time())) > 173000
            if MsgYesNo( "Backup de seguranca de hoje nao existe. "+CRLF+"Deseja efetuar o backup?", "Atencao" )
               ZIPBackup()
            endif
         endif
      endif
   endif
   return .t.

FUNCTION VerifyINI( _section_, _entry_, _var_, _inifile_, _grava_ )
   oIni := TIni():New( _inifile_ )
   if _grava_ = .t.
      oIni:Set( _section_, _entry_, _var_ )
   endif
   return oIni:Get( _section_, _entry_, _var_, _var_ )


Resource:
dlgBackup DIALOG 10, 124, 269, 125
STYLE DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Gerenciar arquivos"
FONT 8, "MS Sans Serif"
{
EDITTEXT 102, 14, 51, 189, 12
PUSHBUTTON "Procurar...", 103, 207, 50, 50, 14
PUSHBUTTON "Fazer &Backup Agora", 105, 8, 106, 86, 14
PUSHBUTTON "&Restaurar Agora...", 106, 96, 106, 86, 14
PUSHBUTTON "Fechar", 107, 212, 106, 50, 14
CONTROL "", 101, "static", SS_BLACKRECT | WS_CHILD | WS_VISIBLE, 8, 5, 20, 20
CONTROL "", 104, "static", SS_BLACKRECT | WS_CHILD | WS_VISIBLE, 8, 76, 20, 20
LTEXT "Local atual:", -1, 15, 40, 106, 8
GROUPBOX "Local para backup e restauração", -1, 8, 29, 256, 42, BS_GROUPBOX
LTEXT "Faça o backup periódico de seus arquivos de dados em um local seguro. Dê preferencia a locais fora de seu disco rigido, como outro disco rígido, cd ou disco virtual na internet.", -1, 35, 74, 228, 27
LTEXT "Insira o local para backup ou restauração dos arquivos.", -1, 34, 3, 228, 27
}


Nem retirei os trechos desabilitados e se faltar uma fução me da um toque.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

O cara pode até ser feio, mas se ele for honesto, cheiroso, trabalhador,... vai continuar feio, porque, ..., uma coisa não tem nada a ver com a outra.


Sou Corinthiano, mas também torço para São Paulo, Palmeiras, Santos em campeonatos internacionais, portanto, Corinthians no coração e Harbour na cabeça.

[color=#FFFFFF]
"...Feliz aquele que transfere o que sabe e aprende o que ensina. Cora Coralina..."
[color=#FFFFFF]"...Acharam que eu estava derrotado, quem achou estava errado, eu voltei, tô aqui, tô firmão, tô na correria, sô guerreiro, sô vaso ruim de quebrar, tô de volta pro mundão..."
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 3977
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 383 vezes
Mens.Curtidas: 154 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor Kapiaba » 21 Mar 2017 15:11

Rochinha, podeis disponibilizar estas funções e o arquivo.ini?

Error: Unresolved external '_HB_FUN_CODIFICA' referenced from C:\FWH1701\SAMPLES
\BACKUP.OBJ
Error: Unresolved external '_HB_FUN_STRINGTOARRAY' referenced from C:\FWH1701\SA
MPLES\BACKUP.OBJ
Error: Unresolved external '_HB_FUN_DECODIFICA' referenced from C:\FWH1701\SAMPL
ES\BACKUP.OBJ
Error: Unable to perform link
* Linking errors *
C:\FWH1701\samples>


Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1370
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 271 vezes
Mens.Curtidas: 84 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor rochinha » 22 Mar 2017 00:39

Amiguinhos,

Seguem as funções faltantes:
function codifica( _pass_ )
  _senha_ := ''
  for i = 1 to len(alltrim(_pass_))
    _senha_ := _senha_ + chr(asc(substr(_pass_,i,1))+9)
  next
  return _senha_

function decodifica( _pass_ )
  _senha_ := ''
  for i = 1 to len(alltrim(_pass_))
    _senha_ := _senha_ + chr(asc(substr(_pass_,i,1))-9)
  next
  return _senha_

function StringToArray( cString, cSeparator )
LOCAL nPos
LOCAL aString := {}
DEFAULT cSeparator := ";"
cString := ALLTRIM( cString ) + cSeparator
DO WHILE .T.
   nPos := AT( cSeparator, cString )
   IF nPos = 0
    EXIT
   ENDIF
   AADD( aString, SUBSTR( cString, 1, nPos-1 ) )
   cString := SUBSTR( cString, nPos+1 )
ENDDO
RETURN ( aString )

function ArrayToString( aArray, cSeparator )
LOCAL nPos
DEFAULT cSeparator := ";"
cString := ""
FOR nPos = 1 TO LEN(aArray)
   cString := cString + aArray[nPos] + cSeparator
NEXT
RETURN ( cString )
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

O cara pode até ser feio, mas se ele for honesto, cheiroso, trabalhador,... vai continuar feio, porque, ..., uma coisa não tem nada a ver com a outra.


Sou Corinthiano, mas também torço para São Paulo, Palmeiras, Santos em campeonatos internacionais, portanto, Corinthians no coração e Harbour na cabeça.

[color=#FFFFFF]
"...Feliz aquele que transfere o que sabe e aprende o que ensina. Cora Coralina..."
[color=#FFFFFF]"...Acharam que eu estava derrotado, quem achou estava errado, eu voltei, tô aqui, tô firmão, tô na correria, sô guerreiro, sô vaso ruim de quebrar, tô de volta pro mundão..."
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 3977
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 383 vezes
Mens.Curtidas: 154 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor Kapiaba » 22 Mar 2017 10:48

Very good Rochinha, haciendo testes. Many thanks.

backup.png
Backup


Abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1370
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 271 vezes
Mens.Curtidas: 84 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor Kapiaba » 22 Mar 2017 11:27

Rochinha, somente o "Restaurar Agora" não funcionou, sabeis o motivo?

/*
// Autor: By Rochinha - Forum PcToledo.
// http://www.pctoledo.com.br/forum/viewtopic.php?f=2&t=8731
// Modificado por: Joao Santos em: 22/03/2017
// Email: kapiabafwh@gmail.com
*/

#include "FiveWin.ch"

#Define CLR_MENTA          RGB(221,255,238)

MEMVAR cPath

FUNCTION NFWBackup()

   LOCAL oDLGARQ, oGet, lGo := .f., lGrava := .t., lDireta := .t.
   LOCAL lOverWrite := .t., cPassword := "5volution"
   LOCAL lCtrl101, nCtrl102:=15, lCtrl103,lCtrl104, lCtrl105, nCtrl106 := 1, ;
         cCtrl107 := "DIA(S)", nCtrl108 := 1, cCtrl109 := SPACE(50)

   LOCAL cBKPName, cZIPName, cZIPEmail, cZIPFiles, nZIPNivel, cBKPAuto, ;
         cBKPDest, cBKPOrig, oCtrl102, oBitMap
   // variavel nao existia
   PRIVATE cPath := CURDRIVE() + ":\" + CURDIR()

   SetBalloon( .T. ) // Balloon shape required for tooltips

   SkinButtons()     // Botoes Coloridos nas novas versoes

   SetGetColorFocus( CLR_MENTA )  // COR NO GET

   tGet():lDisColors  := .F.      // WHEN( .F. ) COM COR.
   tGet():nClrTextDis := CLR_HBLUE
   tGet():nClrPaneDis := CLR_HRED

   //---------------------Rochinha------------------------------------------//

   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"

   cZIPName   := VerifyINI( "BACKUP" , "Nome"   , cBKPName           , cPath+"5vbackup.ini", .t. )

   cZIPEmail  := VerifyINI( "BACKUP" , "Email"  , "irochinha@itelefonica.com.br", cPath+"5vbackup.ini" )

   // Pega os arquivos destes formatos.
   cZIPFiles  := VerifyINI( "BACKUP" , "Arquivos" , "*.DBF;*.DBT;*.FPT;*.ARR;*.ETI;*.FRM;*.HRB;*.VAL;*.DAT;*.INI", cPath+"5vbackup.ini" )

   nZIPNivel  := VerifyINI( "BACKUP" , "Nivel"  , 8              , cPath+"5vbackup.ini" )

   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"             , cPath+"5vbackup.ini" )

   cPassword  := VerifyINI( "BACKUP" , "PassWord" , Codifica("5volution")    , cPath+"5vbackup.ini" )

   cBKPAuto   := VerifyINI( "BACKUP" , "AUTOMATICO", "N"             , cPath+"5vbackup.ini" )

   cBKPDest   := VerifyINI( "BACKUP" , "DESTINO" , cPath            , cPath+"5vbackup.ini" )

   cBKPOrig   := VerifyINI( "BACKUP" , "ORIGEM"  , cPath            , cPath+"5vbackup.ini" )

                 VerifyINI( "BACKUP" , "LEMBRAR" , "S"             , cPath+"5vbackup.ini" )

                 VerifyINI( "BACKUP" , "PUBLICO" , "N"             , cPath+"5vbackup.ini" )

   DEFINE DIALOG oDLGARQ NAME "dlgBackup" ;
          COLORS CLR_BLACK, CLR_WHITE TRANSPARENT

   oDLGARQ:lHelpIcon := .F.

   // REDEFINE CHECKBOX oCtrl101 VAR lCtrl101 ID 101 OF oDLGARQ
   // REDEFINE GET   oCtrl102 VAR nCtrl102 ID 102 PICTURE "999" OF oDLGARQ WHEN lCtrl101 ;
   // SPINNER ;
   // ON UP (++nCtrl102,oCtrl102:Refresh()) ;
   // ON DOWN (--nCtrl102,oCtrl102:Refresh())

   REDEFINE GET oCtrl102 VAR cBKPOrig ID 102 PICTURE "@!" OF oDLGARQ ;
            WHEN nCtrl108=1

   REDEFINE BUTTON ID 103 OF oDLGARQ ;
      ACTION( cBKPOrig := cGetDir("Pesquise no conjunto de pastas na caixa abaixo qual o diretorio contem os dados de que necessita","C:\"),oCtrl102:Refresh(),;
              VerifyINI( "BACKUP", "DESTINO", cBKPOrig, cPath+"5vbackup.ini", .t. ),;
              VerifyINI( "BACKUP", "ORIGEM" , cBKPOrig, cPath+"5vbackup.ini", .t. ) )

   // REDEFINE CHECKBOX oCtrl105 VAR lCtrl105 ID 105 OF oDLGARQ
   // REDEFINE GET   oCtrl106 VAR nCtrl106 ID 106 PICTURE "999" OF oDLGARQ ;
   // SPINNER ;
   // ON UP (++nCtrl106,oCtrl106:Refresh()) ;
   // ON DOWN (--nCtrl106,oCtrl106:Refresh())
   // REDEFINE COMBOBOX oCtrl107 VAR cCtrl107 ITEMS { "Mese(s)", "Semana(s)", "Dia(s)", "Ano(s)" } OF oDLGARQ ID 107

   REDEFINE BITMAP oBitMap ID 101 OF oDLGARQ RESOURCE "bmp006" //TRANSPARENT

   REDEFINE BITMAP oBitMap ID 104 OF oDLGARQ RESOURCE "bmp006" //TRANSPARENT

   REDEFINE BUTTON ID 105 OF oDLGARQ ;
            ACTION ZipBackup()

   REDEFINE BUTTON ID 106 OF oDLGARQ ;
            ACTION ZipRestore()

   REDEFINE BUTTON ID 107 OF oDLGARQ ;
            ACTION (lGo := .f., oDLGARQ:End()) CANCEL

   ACTIVATE DIALOG oDLGARQ CENTERED

   //VerifyINI( "BACKUP" , "Nome"   , cZIPName , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Email"  , cZIPEmail , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Arquivos" , cZIPFiles , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Nivel"  , nZIPNivel , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Reescreve" , lOverWrite, cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "PassWord" , cPassword , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "AUTOMATICO", cBKPAuto , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "DESTINO" , cBKPDest , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "ORIGEM"  , cBKPOrig , cPath+"5vbackup.ini", .t. )

RETURN NIL

FUNCTION ZIPBackup()

   LOCAL oMeter

   SET _3DLOOK ON

   MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
             ZipIn(oMeter) },;
             "Gerando arquivo compactado...", "Backup/Restore" )

Return .f.

FUNCTION ZipIn(oMeter)

   LOCAL lOverWrite := .t., cPassword := "5volution"
   LOCAL cBKPName, cZIPName,  cZIPEmail, cZIPFiles, nZIPNivel, cBKPAuto, ;
         cBKPDest, cBKPOrig, aZipFiles

   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"

   cZIPName   := VerifyINI( "BACKUP" , "Nome"   , cBKPName           , cPath+"5vbackup.ini", .t. )

   cZIPEmail  := VerifyINI( "BACKUP" , "Email"  , "irochinha@itelefonica.com.br", cPath+"5vbackup.ini" )

   cZIPFiles  := VerifyINI( "BACKUP" , "Arquivos" , "*.DBF;*.DBT;*.FPT;*.ARR;*.ETI;*.FRM;*.HRB;*.VAL;*.DAT;*.INI", cPath+"5vbackup.ini" )

   nZIPNivel  := VerifyINI( "BACKUP" , "Nivel"  , 8              , cPath+"5vbackup.ini" )

   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"             , cPath+"5vbackup.ini" )

   cPassword  := VerifyINI( "BACKUP" , "PassWord" , Codifica("5volution")    , cPath+"5vbackup.ini" )

   cBKPAuto   := VerifyINI( "BACKUP" , "AUTOMATICO", "N"             , cPath+"5vbackup.ini" )

   cBKPDest   := VerifyINI( "BACKUP" , "DESTINO" , cPath            , cPath+"5vbackup.ini" )

   cBKPOrig   := VerifyINI( "BACKUP" , "ORIGEM"  , cPath            , cPath+"5vbackup.ini" )

                 VerifyINI( "BACKUP" , "LEMBRAR" , "S"             , cPath+"5vbackup.ini" )

                 VerifyINI( "BACKUP" , "PUBLICO" , "N"             , cPath+"5vbackup.ini" )

   aZipFiles := ProcessaArray( StringToArray( cZIPFiles, ";" ) )

   oMeter:nTotal:=Len(aZIPFiles)

   cBKPOrig := curdrive()+":\"+curdir()

   if !file(cBKPOrig+"\"+cZIPName)

     Hb_ZIPFILE(cBKPOrig+"\"+cZIPName, aZIPFiles, nZIPNivel, {|cFile,nPos| (oMeter:Set(nPos),SysRefresh()) },lOverWrite )

   else

     //fErase(cBKPOrig+"\"+cZIPName)
     //if MsgYesNo( "Arquivo ("+cBKPName+") ja existe, Deseja re-escrever", "Atencao" )
     // Hb_ZIPFILE(cBKPOrig+"\"+cZIPName, aZIPFiles, nZIPNivel, {|cFile,nPos| (oMeter:Set(nPos),SysRefresh()) },lOverWrite )
     //endif

   endif

return .t.

FUNCTION ZIPRestore()

   LOCAL oMeter

   SET _3DLOOK ON

   MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
             ZipOut(oMeter) },;
            "Descompactando arquivo...", "Backup/Restore" )

Return Nil   

FUNCTION ZipOut(oMeter)

   LOCAL lOverWrite:=.t., cPassword:="5volution"
   LOCAL cBKPName, cZIPName,  cZIPEmail, cZIPFiles, nZIPNivel, cBKPAuto, ;
         cBKPDest, cBKPOrig, aZipFiles

   cBKPName := "BK"+strtran(dtoc(date()),"/","")+".ZIP"

   cZIPName := VerifyINI( "BACKUP" , "Nome"   , cBKPName           , cPath+"5vbackup.ini", .t. )

   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"             , cPath+"5vbackup.ini" )

   cPassword := DeCodifica(VerifyINI( "BACKUP" , "PassWord" , Codifica("5volution")    , cPath+"5vbackup.ini" ))

   cBKPDest := VerifyINI( "BACKUP" , "DESTINO" , cPath            , cPath+"5vbackup.ini" )

   oMeter:nTotal := HB_GetFilesInZip( cZIPName )

   // Restore nao funcionou a contento...
   HB_UNZIPFILE(cBKPDest+"\"+cZIPName,,lOverWrite,,cBKPDest)

return .t.

FUNCTION ProcessaArray( aQArray )

   LOCAL aTArray := {}
   LOCAL I, DBF_NOMES, II

   for i = 1 to len( aQArray )

      DBF_NOMES := ARRAY( ADIR( aQArray[i] ) )

      ADIR( aQArray[i], DBF_NOMES )

      for ii = 1 to len( DBF_NOMES )
         AADD( aTArray, DBF_NOMES[ii] )
      next

   next

return aTArray

FUNCTION CheckBKP()

   LOCAL cBKPName, cZIPName,  cZIPEmail, cZIPFiles, nZIPNivel, cBKPAuto, ;
         cBKPDest, cBKPOrig, aZipFiles

   cBKPName := "BK"+strtran(dtoc(date()),"/","")+".ZIP"

   cBKPAuto := VerifyINI( "BACKUP" , "AUTOMATICO", "N"             , cPath+"5vbackup.ini" )

   cZIPName := VerifyINI( "BACKUP" , "Nome"   , cBKPName           , cPath+"5vbackup.ini", .t. )

   cBKPOrig := VerifyINI( "BACKUP" , "ORIGEM"  , cPath            , cPath+"5vbackup.ini" )

   cBKPOrig := curdrive()+":\"+curdir()

   if cBKPAuto = "S"

      if !file(cBKPOrig+"\"+cZIPName)

         if Val(TTOS(time())) > 173000

            if MsgYesNo( "Backup de seguranca de hoje nao existe. "+CRLF+"Deseja efetuar o backup?", "Atencao" )

               ZIPBackup()

            endif

         endif

      endif

   endif

return .t.

FUNCTION VerifyINI( _section_, _entry_, _var_, _inifile_, _grava_ )

   LOCAL oIni

   oIni := TIni():New( _inifile_ )

   if _grava_ = .t.

      oIni:Set( _section_, _entry_, _var_ )

   endif

return oIni:Get( _section_, _entry_, _var_, _var_ )

function codifica( _pass_ )

   LOCAL _senha_, I

   _senha_ := ''

   for i = 1 to len(alltrim(_pass_))

      _senha_ := _senha_ + chr(asc(substr(_pass_,i,1))+9)

   next

return _senha_

function decodifica( _pass_ )

   LOCAL _senha_, I

    _senha_ := ''

   for i = 1 to len(alltrim(_pass_))

      _senha_ := _senha_ + chr(asc(substr(_pass_,i,1))-9)

   next

return _senha_

function StringToArray( cString, cSeparator )

   LOCAL nPos
   LOCAL aString := {}

   DEFAULT cSeparator := ";"

   cString := ALLTRIM( cString ) + cSeparator

   DO WHILE .T.

      nPos := AT( cSeparator, cString )

      IF nPos = 0

         EXIT

      ENDIF

      AADD( aString, SUBSTR( cString, 1, nPos-1 ) )

      cString := SUBSTR( cString, nPos+1 )

      SYSREFRESH()

   ENDDO

RETURN ( aString )

function ArrayToString( aArray, cSeparator )

   LOCAL nPos, cString

   DEFAULT cSeparator := ";"

   cString := ""

   FOR nPos = 1 TO LEN(aArray)

      cString := cString + aArray[nPos] + cSeparator

   NEXT

RETURN ( cString )

// FIN


Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1370
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 271 vezes
Mens.Curtidas: 84 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor Kapiaba » 22 Mar 2017 12:09

Rochinha, sua rotina ficaria show() de bola assim, com a xBrowse. Que achas? Consegues no estilo da xBlite.prg?

backup.png


Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1370
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 271 vezes
Mens.Curtidas: 84 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor Kapiaba » 22 Mar 2017 13:25

Desafiando o Rochinha a fazer igual, usando xBrowse. Topas Rochinha?

backup.png


Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1370
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 271 vezes
Mens.Curtidas: 84 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor rochinha » 22 Mar 2017 14:30

Amiguinhos,

kapiaba, ai já é demais pro meu plantel. As suas telas tá muito bonitinha, parece programa do Baixaki.

O módulo em questão era assim reduzido a diálogos porque era chamado de dentro do sistema e para não parecer outro programa ficou bem suscinto.

Preciso rever, porque as funções de ZIPagem do meu Harbour não estão mais funcionando, tive de usar ZIP.EXE para sanar problemas e usei OOG para os clientes pararem de pedir suporte(traduzindo: encher o saco)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

O cara pode até ser feio, mas se ele for honesto, cheiroso, trabalhador,... vai continuar feio, porque, ..., uma coisa não tem nada a ver com a outra.


Sou Corinthiano, mas também torço para São Paulo, Palmeiras, Santos em campeonatos internacionais, portanto, Corinthians no coração e Harbour na cabeça.

[color=#FFFFFF]
"...Feliz aquele que transfere o que sabe e aprende o que ensina. Cora Coralina..."
[color=#FFFFFF]"...Acharam que eu estava derrotado, quem achou estava errado, eu voltei, tô aqui, tô firmão, tô na correria, sô guerreiro, sô vaso ruim de quebrar, tô de volta pro mundão..."
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 3977
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 383 vezes
Mens.Curtidas: 154 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor Kapiaba » 22 Mar 2017 15:14

Que é isso Rochinha, boto fé no seu tako.

Mas blz, sua rotina funciona perfeita para ZIPAR os arquivos, mas não descobri o motivo de não descompactar. Se você descobrir, poste a resposta por favor.

Depois, vou tentar passar a xBlite.prg par tcBrowse ou xBrowse. Se conseguir posto aqui depois. Forte abraço.

Obg. abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1370
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 271 vezes
Mens.Curtidas: 84 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor rochinha » 22 Mar 2017 22:37

Amiguinhos,

Uma pequena modificação aqui:
FUNCTION NFWBackup()
   local oDLGARQ, oGet, lGo := .f., lGrava := .t., lDireta := .t.
   local lOverWrite:=.t., cPassword:="5volution"
   local lCtrl101,nCtrl102:=15,lCtrl103,lCtrl104,lCtrl105,nCtrl106:=1,;
         cCtrl107:="DIA(S)",nCtrl108:=1,cCtrl109:=SPACE(50)
      
   public cPath      := cFilePath( GetModuleFileName( GetInstance() ) )

   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"


Outra ali:
FUNCTION ZipOut(oMeter)
   local lOverWrite:=.t., cPassword:="5volution"
   cBKPName  := "BK"+strtran(dtoc(date()),"/","")+".ZIP"
   cZIPName   := VerifyINI( "BACKUP" , "Nome"      , cBKPName                      , cPath+"5vbackup.ini", .t. )
   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"                           , cPath+"5vbackup.ini" )
   cPassword  := DeCodifica(VerifyINI( "BACKUP" , "PassWord"  , Codifica("5volution")         , cPath+"5vbackup.ini" ))
   cBKPDest   := VerifyINI( "BACKUP" , "DESTINO"   , cPath                         , cPath+"5vbackup.ini" )
   oMeter:nTotal:=len(HB_GetFilesInZip( cZIPName ))
   HB_UNZIPFILE(cBKPDest+"\"+cZIPName,,,,cBKPDest,,{|cFile,nPos|(oMeter:Set(nPos),SysRefresh())})
   return .t.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

O cara pode até ser feio, mas se ele for honesto, cheiroso, trabalhador,... vai continuar feio, porque, ..., uma coisa não tem nada a ver com a outra.


Sou Corinthiano, mas também torço para São Paulo, Palmeiras, Santos em campeonatos internacionais, portanto, Corinthians no coração e Harbour na cabeça.

[color=#FFFFFF]
"...Feliz aquele que transfere o que sabe e aprende o que ensina. Cora Coralina..."
[color=#FFFFFF]"...Acharam que eu estava derrotado, quem achou estava errado, eu voltei, tô aqui, tô firmão, tô na correria, sô guerreiro, sô vaso ruim de quebrar, tô de volta pro mundão..."
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 3977
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 383 vezes
Mens.Curtidas: 154 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor Kapiaba » 23 Mar 2017 09:43

Rochinha, o "Restaurar agora..." continua sem funcionar... Mistérios...

/*
// Autor: By Rochinha - Forum PcToledo.
// http://www.pctoledo.com.br/forum/viewtopic.php?f=2&t=8731
// Modificado por: Joao Santos em: 22/03/2017
// Email: kapiabafwh@gmail.com
*/

#include "FiveWin.ch"

#Define CLR_MENTA          RGB(221,255,238)

MEMVAR cPath

FUNCTION NFWBackup()

   local oDLGARQ, oGet, lGo := .f., lGrava := .t., lDireta := .t.
   local lOverWrite:=.t., cPassword:="5volution"
   local lCtrl101,nCtrl102:=15,lCtrl103,lCtrl104,lCtrl105,nCtrl106:=1,;
         cCtrl107:="DIA(S)",nCtrl108:=1,cCtrl109:=SPACE(50)

   LOCAL cBKPName, cZIPName, cZIPEmail, cZIPFiles, nZIPNivel, cBKPAuto, ;
         cBKPDest, cBKPOrig, oCtrl102, oBitMap

   cPath   := cFilePath( GetModuleFileName( GetInstance() ) )

   SetBalloon( .T. ) // Balloon shape required for tooltips

   SkinButtons()     // Botoes Coloridos nas novas versoes

   SetGetColorFocus( CLR_MENTA )  // COR NO GET

   tGet():lDisColors  := .F.      // WHEN( .F. ) COM COR.
   tGet():nClrTextDis := CLR_HBLUE
   tGet():nClrPaneDis := CLR_HRED

   //---------------------Rochinha------------------------------------------//

   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"

   cZIPName   := VerifyINI( "BACKUP" , "Nome"   , cBKPName           , cPath+"5vbackup.ini", .t. )

   cZIPEmail  := VerifyINI( "BACKUP" , "Email"  , "irochinha@itelefonica.com.br", cPath+"5vbackup.ini" )

   // Pega os arquivos destes formatos.
   cZIPFiles  := VerifyINI( "BACKUP" , "Arquivos" , "*.DBF;*.DBT;*.FPT;*.ARR;*.ETI;*.FRM;*.HRB;*.VAL;*.DAT;*.INI", cPath+"5vbackup.ini" )

   nZIPNivel  := VerifyINI( "BACKUP" , "Nivel"  , 8              , cPath+"5vbackup.ini" )

   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"             , cPath+"5vbackup.ini" )

   cPassword  := VerifyINI( "BACKUP" , "PassWord" , Codifica("5volution")    , cPath+"5vbackup.ini" )

   cBKPAuto   := VerifyINI( "BACKUP" , "AUTOMATICO", "N"             , cPath+"5vbackup.ini" )

   cBKPDest   := VerifyINI( "BACKUP" , "DESTINO" , cPath            , cPath+"5vbackup.ini" )

   cBKPOrig   := VerifyINI( "BACKUP" , "ORIGEM"  , cPath            , cPath+"5vbackup.ini" )

                 VerifyINI( "BACKUP" , "LEMBRAR" , "S"             , cPath+"5vbackup.ini" )

                 VerifyINI( "BACKUP" , "PUBLICO" , "N"             , cPath+"5vbackup.ini" )

   DEFINE DIALOG oDLGARQ NAME "dlgBackup" ;
          COLORS CLR_BLACK, CLR_WHITE TRANSPARENT

   oDLGARQ:lHelpIcon := .F.

   // REDEFINE CHECKBOX oCtrl101 VAR lCtrl101 ID 101 OF oDLGARQ
   // REDEFINE GET   oCtrl102 VAR nCtrl102 ID 102 PICTURE "999" OF oDLGARQ WHEN lCtrl101 ;
   // SPINNER ;
   // ON UP (++nCtrl102,oCtrl102:Refresh()) ;
   // ON DOWN (--nCtrl102,oCtrl102:Refresh())

   REDEFINE GET oCtrl102 VAR cBKPOrig ID 102 PICTURE "@!" OF oDLGARQ ;
            WHEN nCtrl108=1

   REDEFINE BUTTON ID 103 OF oDLGARQ ;
      ACTION( cBKPOrig := cGetDir("Pesquise no conjunto de pastas na caixa abaixo qual o diretorio contem os dados de que necessita","C:\"),oCtrl102:Refresh(),;
              VerifyINI( "BACKUP", "DESTINO", cBKPOrig, cPath+"5vbackup.ini", .t. ),;
              VerifyINI( "BACKUP", "ORIGEM" , cBKPOrig, cPath+"5vbackup.ini", .t. ) )

   // REDEFINE CHECKBOX oCtrl105 VAR lCtrl105 ID 105 OF oDLGARQ
   // REDEFINE GET   oCtrl106 VAR nCtrl106 ID 106 PICTURE "999" OF oDLGARQ ;
   // SPINNER ;
   // ON UP (++nCtrl106,oCtrl106:Refresh()) ;
   // ON DOWN (--nCtrl106,oCtrl106:Refresh())
   // REDEFINE COMBOBOX oCtrl107 VAR cCtrl107 ITEMS { "Mese(s)", "Semana(s)", "Dia(s)", "Ano(s)" } OF oDLGARQ ID 107

   REDEFINE BITMAP oBitMap ID 101 OF oDLGARQ RESOURCE "bmp006" //TRANSPARENT

   REDEFINE BITMAP oBitMap ID 104 OF oDLGARQ RESOURCE "bmp006" //TRANSPARENT

   REDEFINE BUTTON ID 105 OF oDLGARQ ;
            ACTION ZipBackup()

   REDEFINE BUTTON ID 106 OF oDLGARQ ;
            ACTION ZipRestore()

   REDEFINE BUTTON ID 107 OF oDLGARQ ;
            ACTION (lGo := .f., oDLGARQ:End()) CANCEL

   ACTIVATE DIALOG oDLGARQ CENTERED

   //VerifyINI( "BACKUP" , "Nome"   , cZIPName , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Email"  , cZIPEmail , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Arquivos" , cZIPFiles , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Nivel"  , nZIPNivel , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "Reescreve" , lOverWrite, cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "PassWord" , cPassword , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "AUTOMATICO", cBKPAuto , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "DESTINO" , cBKPDest , cPath+"5vbackup.ini", .t. )
   //VerifyINI( "BACKUP" , "ORIGEM"  , cBKPOrig , cPath+"5vbackup.ini", .t. )

RETURN NIL

FUNCTION ZIPBackup()

   LOCAL oMeter

   SET _3DLOOK ON

   MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
             ZipIn(oMeter) },;
             "Gerando arquivo compactado...", "Backup/Restore" )

Return .f.

FUNCTION ZipIn(oMeter)

   LOCAL lOverWrite := .t., cPassword := "5volution"
   LOCAL cBKPName, cZIPName,  cZIPEmail, cZIPFiles, nZIPNivel, cBKPAuto, ;
         cBKPDest, cBKPOrig, aZipFiles

   cBKPName   := "BK"+strtran(dtoc(date()),"/","")+".ZIP"

   cZIPName   := VerifyINI( "BACKUP" , "Nome"   , cBKPName           , cPath+"5vbackup.ini", .t. )

   cZIPEmail  := VerifyINI( "BACKUP" , "Email"  , "irochinha@itelefonica.com.br", cPath+"5vbackup.ini" )

   cZIPFiles  := VerifyINI( "BACKUP" , "Arquivos" , "*.DBF;*.DBT;*.FPT;*.ARR;*.ETI;*.FRM;*.HRB;*.VAL;*.DAT;*.INI", cPath+"5vbackup.ini" )

   nZIPNivel  := VerifyINI( "BACKUP" , "Nivel"  , 8              , cPath+"5vbackup.ini" )

   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"             , cPath+"5vbackup.ini" )

   cPassword  := VerifyINI( "BACKUP" , "PassWord" , Codifica("5volution")    , cPath+"5vbackup.ini" )

   cBKPAuto   := VerifyINI( "BACKUP" , "AUTOMATICO", "N"             , cPath+"5vbackup.ini" )

   cBKPDest   := VerifyINI( "BACKUP" , "DESTINO" , cPath            , cPath+"5vbackup.ini" )

   cBKPOrig   := VerifyINI( "BACKUP" , "ORIGEM"  , cPath            , cPath+"5vbackup.ini" )

                 VerifyINI( "BACKUP" , "LEMBRAR" , "S"             , cPath+"5vbackup.ini" )

                 VerifyINI( "BACKUP" , "PUBLICO" , "N"             , cPath+"5vbackup.ini" )

   aZipFiles := ProcessaArray( StringToArray( cZIPFiles, ";" ) )

   oMeter:nTotal:=Len(aZIPFiles)

   cBKPOrig := curdrive()+":\"+curdir()

   if !file(cBKPOrig+"\"+cZIPName)

     Hb_ZIPFILE(cBKPOrig+"\"+cZIPName, aZIPFiles, nZIPNivel, {|cFile,nPos| (oMeter:Set(nPos),SysRefresh()) },lOverWrite )

   else

     //fErase(cBKPOrig+"\"+cZIPName)
     //if MsgYesNo( "Arquivo ("+cBKPName+") ja existe, Deseja re-escrever", "Atencao" )
     // Hb_ZIPFILE(cBKPOrig+"\"+cZIPName, aZIPFiles, nZIPNivel, {|cFile,nPos| (oMeter:Set(nPos),SysRefresh()) },lOverWrite )
     //endif

   endif

return .t.

FUNCTION ZIPRestore()

   LOCAL oMeter

   SET _3DLOOK ON

   MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
             ZipOut(oMeter) },;
            "Descompactando arquivo...", "Backup/Restore" )

Return Nil   

FUNCTION ZipOut(oMeter)

   LOCAL lOverWrite:=.t., cPassword:="5volution"
   LOCAL cBKPName, cZIPName,  cZIPEmail, cZIPFiles, nZIPNivel, cBKPAuto, ;
         cBKPDest, cBKPOrig, aZipFiles

   cBKPName := "BK"+strtran(dtoc(date()),"/","")+".ZIP"

   cZIPName := VerifyINI( "BACKUP" , "Nome"   , cBKPName           , cPath+"5vbackup.ini", .t. )

   lOverWrite := VerifyINI( "BACKUP" , "Reescreve" , "S"             , cPath+"5vbackup.ini" )

   cPassword := DeCodifica(VerifyINI( "BACKUP" , "PassWord" , Codifica("5volution")    , cPath+"5vbackup.ini" ))

   cBKPDest := VerifyINI( "BACKUP" , "DESTINO" , cPath            , cPath+"5vbackup.ini" )

   oMeter:nTotal:=len(HB_GetFilesInZip( cZIPName ))

   HB_UNZIPFILE(cBKPDest+"\"+cZIPName,,,,cBKPDest,,{|cFile,nPos|(oMeter:Set(nPos),SysRefresh())})

return .t.

FUNCTION ProcessaArray( aQArray )

   LOCAL aTArray := {}
   LOCAL I, DBF_NOMES, II

   for i = 1 to len( aQArray )

      DBF_NOMES := ARRAY( ADIR( aQArray[i] ) )

      ADIR( aQArray[i], DBF_NOMES )

      for ii = 1 to len( DBF_NOMES )
         AADD( aTArray, DBF_NOMES[ii] )
      next

   next

return aTArray

FUNCTION CheckBKP()

   LOCAL cBKPName, cZIPName,  cZIPEmail, cZIPFiles, nZIPNivel, cBKPAuto, ;
         cBKPDest, cBKPOrig, aZipFiles

   cBKPName := "BK"+strtran(dtoc(date()),"/","")+".ZIP"

   cBKPAuto := VerifyINI( "BACKUP" , "AUTOMATICO", "N"             , cPath+"5vbackup.ini" )

   cZIPName := VerifyINI( "BACKUP" , "Nome"   , cBKPName           , cPath+"5vbackup.ini", .t. )

   cBKPOrig := VerifyINI( "BACKUP" , "ORIGEM"  , cPath            , cPath+"5vbackup.ini" )

   cBKPOrig := curdrive()+":\"+curdir()

   if cBKPAuto = "S"

      if !file(cBKPOrig+"\"+cZIPName)

         if Val(TTOS(time())) > 173000

            if MsgYesNo( "Backup de seguranca de hoje nao existe. "+CRLF+"Deseja efetuar o backup?", "Atencao" )

               ZIPBackup()

            endif

         endif

      endif

   endif

return .t.

FUNCTION VerifyINI( _section_, _entry_, _var_, _inifile_, _grava_ )

   LOCAL oIni

   oIni := TIni():New( _inifile_ )

   if _grava_ = .t.

      oIni:Set( _section_, _entry_, _var_ )

   endif

return oIni:Get( _section_, _entry_, _var_, _var_ )

function codifica( _pass_ )

   LOCAL _senha_, I

   _senha_ := ''

   for i = 1 to len(alltrim(_pass_))

      _senha_ := _senha_ + chr(asc(substr(_pass_,i,1))+9)

   next

return _senha_

function decodifica( _pass_ )

   LOCAL _senha_, I

    _senha_ := ''

   for i = 1 to len(alltrim(_pass_))

      _senha_ := _senha_ + chr(asc(substr(_pass_,i,1))-9)

   next

return _senha_

function StringToArray( cString, cSeparator )

   LOCAL nPos
   LOCAL aString := {}

   DEFAULT cSeparator := ";"

   cString := ALLTRIM( cString ) + cSeparator

   DO WHILE .T.

      nPos := AT( cSeparator, cString )

      IF nPos = 0

         EXIT

      ENDIF

      AADD( aString, SUBSTR( cString, 1, nPos-1 ) )

      cString := SUBSTR( cString, nPos+1 )

      SYSREFRESH()

   ENDDO

RETURN ( aString )

function ArrayToString( aArray, cSeparator )

   LOCAL nPos, cString

   DEFAULT cSeparator := ";"

   cString := ""

   FOR nPos = 1 TO LEN(aArray)

      cString := cString + aArray[nPos] + cSeparator

   NEXT

RETURN ( cString )

// FIN


Abs.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1370
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 271 vezes
Mens.Curtidas: 84 vezes

HB_UNZIPFILE(), não consigo extrair nenhum arquivo

Mensagempor rochinha » 23 Mar 2017 12:10

Amiguinhos,

kapiaba crie uma pasta de testes e coloque o BK?????.ZIP criado, o arquivo .INI e o aplicativo compilado.

Execute e veja se descompacta.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

O cara pode até ser feio, mas se ele for honesto, cheiroso, trabalhador,... vai continuar feio, porque, ..., uma coisa não tem nada a ver com a outra.


Sou Corinthiano, mas também torço para São Paulo, Palmeiras, Santos em campeonatos internacionais, portanto, Corinthians no coração e Harbour na cabeça.

[color=#FFFFFF]
"...Feliz aquele que transfere o que sabe e aprende o que ensina. Cora Coralina..."
[color=#FFFFFF]"...Acharam que eu estava derrotado, quem achou estava errado, eu voltei, tô aqui, tô firmão, tô na correria, sô guerreiro, sô vaso ruim de quebrar, tô de volta pro mundão..."
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 3977
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 383 vezes
Mens.Curtidas: 154 vezes

Próximo



Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro