FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour HB_ZIPFILE - SUBPASTAS (Solucionado)
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
HB_ZIPFILE - SUBPASTAS (Solucionado)
Posted: Tue Mar 14, 2017 01:30 AM

Amigos,

Utilizando HB_ZIPFILE, como compactar subpastas e seus conteúdos, de forma que seja possível descompactar como foi compactado, ex:

COMPACTAR:
c:\fwh\pasta1\test1.txt
c:\fwh\pasta1\test2.txt
c:\fwh\pasta2\test1.txt
c:\fwh\pasta2\test2.txt

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: HB_ZIPFILE - SUBPASTAS
Posted: Tue Mar 14, 2017 01:41 AM
Hola
Compactar
Code (fw): Select all Collapse
AaDd(aFiles, "c:\fwh\pasta1\test1.txt")
AaDd(aFiles, "c:\fwh\pasta1\test2.txt")
AaDd(aFiles, "c:\fwh\pasta1\test3.txt")
AaDd(aFiles, "c:\fwh\pasta1\test4.txt")
cFilZip := "X:\ZIPS\TEST.ZIP"
lOk := HB_ZipFile( cFilZip, aFiles, 9, ,.T.,, .F., .F. )


Descompactar
Code (fw): Select all Collapse
aFile  := {}
aFiles := {}
cFile  := "X:\ZIPS\TEST.ZIP"
aFile := HB_GETFILESINZIP( cFile )
nLen  := LEN(aFile)

If nLen = 0
  Return(.f.)
EndIf

HB_UNZIPFILE( cFile, , .t., , , aFile)


Salu2
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: HB_ZIPFILE - SUBPASTAS
Posted: Tue Mar 14, 2017 10:52 AM

Wili,

Wili, me gustaría para comprimir el archivo, se respetaron los archivos de ruta completo, es decir, respetando las carpetas y subcarpetas.

DESCOMPACTAR:

como está ocurriendo: :cry:
test1.txt
test2.txt
test1.txt
test2.txt

ya que necesito: :D
pasta1\test1.txt
pasta1\test2.txt
pasta2\test1.txt
pasta2\test2.txt

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: HB_ZIPFILE - SUBPASTAS
Posted: Tue Mar 14, 2017 01:24 PM
Veja se ajuda:

Code (fw): Select all Collapse
FUNCTION Ret_Back_up()

   PRIVATE vNome_zip, aDir1
   PRIVATE oDlgHabla:=NIL

   MsgStop("Atenção Para Retornar um Back-up do Banco de Dados é Nescessario que Ninguem esteja usando o Sistema","Aviso do Sistema")

   IF MSGYESNO("Atenção Esse Processo é Totalmente Irreversível !!! Tem certeza que deseja Fazer o Retorno do Back-Up Agora ? ","Aviso do Sistema")

      s2 := "*.HSP"
      s1 := "Back-Up Banco de Dados " + "( " + s2 + " )"

      IF DISKNAME() = "C"

         cDir := curdrive()+':'
         cHome := curdir()

         aDir1 := curdrive()+":\"+rtrim(curdir()) + "\"

      ELSE

         cDir := ''
         cHome := curdir()

         aDir1 := "\"+rtrim(curdir()) + "\"

      ENDIF

      vNome_zip := SelectFile( {s1,"Todos Arquivos"}, {s2,"*.HSP*"} )

      IF EMPTY(vNome_zip) .OR. LASTKEY()=27
         close data
         Return Nil
      ELSE
         ALERTNEW([Por favor aguarde... recuperando back-up],,,.t.)
      ENDIF

      aExtract := hb_GetFilesInZip( vNome_zip )

      HB_UNZIPFILE( vNome_zip,,.F.,"senhaS", aDir1, aExtract )

      dbcloseall()

   ENDIF

   dirchange(cDir+"\"+cHome)

   sair()

   IF MSGYESNO([Deseja reindexar os arquivos],[Aviso do Sistema])

      CLOSE DATA

      if ("WINDOWS XP" IN upper(os()))

         RUN DEL *.CDX
      ELSE
         RUN DEL *.CDX
      ENDIF

      REINDEXA()
      CLOSE DATA

   ENDIF

Return


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: HB_ZIPFILE - SUBPASTAS
Posted: Tue Mar 14, 2017 01:42 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: HB_ZIPFILE - SUBPASTAS (Solucionado)
Posted: Thu Mar 16, 2017 10:40 AM

Amigos,

assim funciona:

local aFiles:={}
AaDd(aFiles, "bira1\test1.txt")
AaDd(aFiles, "bira1\test2.txt")
AaDd(aFiles, "bira2\test1.txt")
AaDd(aFiles, "bira2\test2.txt")
cFilZip := "C:\FWH1701\SAMPLES\TEST.ZIP"
lOk := HB_ZipFile( cFilZip, aFiles, 9, ,,,.T. )

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin

Continue the discussion