Por favor si alguien me pude ayudar
Esta es mi rutina
- Code: Select all Expand view
- /*
Compresion / descompresion de ficheros ZIP desde Harbour
(c) 2009 Biel Maimo bmaimo@gmail.com - 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 NIL
Para comprimir no tengo problema pero en Descomprime me muestra el mensaje "No se han restaurado los datos"
De antemano muchas gracias
Saludos