Problema con zip

Post Reply
groiss
Posts: 206
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Problema con zip

Post by groiss »

La consulta no es precisamente sobre fivewin, sino sobre harbour, ya que las funciones de manejo de ZIPs de fivewin no consigo ponerlas en marcha, por lo tanto uso directamente las de harbour, que tampoco consigo que me funcionen.
Tengo entendido que la sintaxis de hb_zipfile es
HB_ZipFile( cZipName, cFile | aFiles, nLevel, bBlock, lOverRide, cPassWord, lWithPath, lWithDrive, pFileProgress )

Lo único que consigo es que me cree un zip vacio, con esta instruccion
handle:=HB_zipfile("C:\BASES\salida\files","g:\datos\personal\datos\BAJAS.DBF")

Evidentemente algo hago mal, pero ¿que?

Gracias y un saludo
José Luis
User avatar
ADBLANCO
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Re: Problema con zip

Post by ADBLANCO »

Esto está trabajando bién

Code: Select all

*******************************************************************************
static procedure GrabaZip(cOrig,aFileList)
*******************************************************************************
local     cFile ,;
          aFiles,;
                    nItem,;
                    cString,;
                    cReturn:="",;
                    nI,;
                    na,;
                    aFil,;
                    cFilepath,;
                    lContinue

cFile:=cGetFile( "*.zip","Seleccione Archivo a Exportar" )
if len(alltrim(cFile))<>0
     lContinue:=.t.
     if file(cfile)
         if !MsgNoYEs("Archivo Ya Existe, Desea Sobre-Escribir","Exportar")
             lContinue:=.f.
         endif
     endif
     if lContinue
       cursorwait()
     cFilePath := AllTrim( cOrig )
       for nI=1 to len(aFilelist)
       cReturn   += AllTrim( cOrig ) +aFilelist[nI]
       next
     cString   := cReturn

     aFiles := {}
     for nI=1 to len(aFilelist)
       aFil := Directory( ( cFilePath +aFilelist[nI] ) )
       //aEval( aFil, { | uFile | AAdd( aFiles, uFile ) } )
         for  na=1 to len(afil)
          AAdd( aFiles, afil[na,1] )
            next
       next

     // HB_ZipFile( <cFile>, <cFileToCompress> | <aFiles>, <nLevel>, <bBlock>, <lOverwrite>, <cPassword>, <lWithPath>, <lWithDrive>, <pFileProgress> )
     // cFile: filename of the zip file.
     // cFileToCompress | aFiles: a file or a list (array) of files to compress.
     // nLevel: compression level (value from 0 to 9).
     // Block: code block to execute while compressing.
     // lOverWrite: overwrite existing files or not.
     // cPassword: password to encrypt the files.
     // lWithPath: store the file path or not.
     // lWithDrive: store the drive letter and path or not.
     // pFileProgress: code block for file progress.

     HB_ZIPFILE( cfile, afiles,,,,, .t. )
       cursorarrow()
       *wqout( HB_GetFilesInZip( cfile ) )
     endif
endif

return

*******************************************************************************
static procedure LeeZip()
*******************************************************************************
local     cFile ,;
          aFiles,;
                    nItem

cFile:=cGetFile( "*.zip","Seleccione Archivo a Importar" )
if len(alltrim(cFile))<>0
     if msgnoyes('Archivos en el Sistema Seran Sustituidos, Desea Continuar',"Importar")
     aFiles    :=HB_GetFilesInZip( cFile )
     HB_UNZIPFILE( cFile, { | x, y | QOUT( "Archivo ", STR( y, 1 ), " se está extrayendo." ) },,, '.\', aFiles )
     //for nItem:=1 to len( aFiles )
       //  HB_UNZIPFILE( "Angelito.zip", { | x, y | QOUT( "Archivo ", STR( y, 1 ), " se está extrayendo." ) },,, '.\', aFiles[ nItem ] )
       // next
    delfile('','*.cdx')
      MsgMeter( { | oMeter, oText, oDlg |  reindexa(oMeter, oText, oDlg)} )
      n_use('Acceso','=',exclusivo,0)
    endif
endif


return


Es solo un código de ejemplo

Espero te ayude

Saludos
:wink:
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Post Reply