Amigos del foro
Por favor si alguien me pude ayudar
Esta es mi rutina
Para comprimir no tengo problema pero en Descomprime me muestra el mensaje "No se han restaurado los datos"
De antemano muchas gracias
Saludos
Por favor si alguien me pude ayudar
Esta es mi rutina
/*
Compresion / descompresion de ficheros ZIP desde Harbour
(c) 2009 Biel Maimo <!-- e --><a href="mailto:bmaimo@gmail.com">bmaimo@gmail.com</a><!-- e --> - bielsys.blogspot.com
*/
#include "FiveWin.ch"
#include "Directry.ch"
STATIC cDirLocal
FUNCTION ResArc()
LOCAL cFile,aFile, aFileBck:={}
cDirLocal:=cFilePath( GetModuleFileName( GetInstance() ) )
cFile:='datos.zip'
aFile:=Directory('*.*') //Todos los ficheros de la capeta donde se ejecuta nuestro ejemplo
AEval(aFile,{|a|AAdd(aFileBck,cDirLocal+a[F_NAME])}) //Añado path a los nombre de archivo
Comprime( @cFile, aFileBck )
DesComprime( cFile )
RETURN NIL
//---------------------------------------
STATIC FUNCTION Comprime(cFile,aFile)
LOCAL oDlg,oMeter,oText,cMsg,nLen,lVal,nActual:=0
nLen:=Len(aFile)
DEFINE DIALOG oDlg FROM 1, 1 TO 10, 60 TITLE "Espere comprimiendo archivos..."
@ 0.5, 2 SAY oText VAR cMsg SIZE 180, 20 OF oDlg
@ 2, 2 METER oMeter VAR nActual TOTAL 100 OF oDlg SIZE 200, 20
oDlg:bStart:={||lVal:=Hb_ZIPFILE(cFile,aFile, 9,{|cFile,nPos|oText:SetText('Comprimiendo '+cFile),;
nActual:=nPos/nLen*100,oMeter:Set(nActual)},.t.,,.t.,.t. ),;
IF(lVal,MsgInfo('Compresión completada con éxito'+CRLF+CRLF+;
'Fichero guardado '+cFile,'Bielsys 2009'),;
MsgStop('No pudo realizarse la compresión')),;
oDlg:END()}
ACTIVATE DIALOG oDlg CENTERED
RETURN lVal
//----------------------------------
STATIC FUNCTION Descomprime(cFile)
LOCAL oDlg,nFiles,oText, cMsg, oMeter,nActual:=0
nFiles:=Len(hb_GetFilesInZip(cFile))
DEFINE DIALOG oDlg FROM 1, 1 TO 10, 60 TITLE "Espere ejecutando recuperación de datos..."
@ 0.5, 2 SAY oText VAR cMsg SIZE 180, 20 OF oDlg
@ 2, 2 METER oMeter VAR nActual TOTAL 100 OF oDlg SIZE 200, 20
oDlg:bStart:={||lVal:=Hb_UnZipFile(cFile,{|cFile,nPos|oText:SetText('Descomprimiendo'+CRLF+cFile),;
nActual:=nPos/nFiles*100,oMeter:Set(nActual)},.t.,,cFile), ;
IF(lVal,MsgInfo('Restauracion completada con éxito'+CRLF+CRLF,'Bielsys 2009'),;
MsgStop('No se han podido restaurar los datos')),;
oDlg:END()}
ACTIVATE DIALOG oDlg CENTERED
RETURN NILPara comprimir no tengo problema pero en Descomprime me muestra el mensaje "No se han restaurado los datos"
De antemano muchas gracias
Saludos