In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problema con TZipFile

Foro de Xailer profesional en español
Responder
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Problema con TZipFile

Mensaje por Bingen Ugaldebere »

Hola XTeam
Después de instalar la 3.2 veo que sigue fallando como en la 3.1 el
parámetro lIncludePath de TZipFile(), que sí­ funcionaba en 3.0 y sigue
sin crear las carpetas de los archivos en el Zip tal y como los cargas
en aZipFiles.
¿Hay alguna solución para esto?
Gracias y saludos.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9469
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Problema con TZipFile

Mensaje por ignacio »

Bingen Ugaldebere escribió el vie, 22 noviembre 2013 18:47Hola XTeam
Después de instalar la 3.2 veo que sigue fallando como en la 3.1 el
parámetro lIncludePath de TZipFile(), que sí­ funcionaba en 3.0 y sigue
sin crear las carpetas de los archivos en el Zip tal y como los cargas
en aZipFiles.
¿Hay alguna solución para esto?
Gracias y saludos.
A este asunto se le ha dedicado extrema atención no sola nuestra sino también de usuarios que lo han probado ampliamente y creemos que los problemas que tení­a la versión anterior están solucionados. No obstante, es posible que se haya quedado algún fleco sin resolver.
Te ruego que nos mandes un ejemplo que muestre el error.
Gracias
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Problema con TZipFile

Mensaje por Bingen Ugaldebere »

Aquí­ va la muestra:
Aadd( aZipFiles, Application:cDirectory+"Source*.Prg")
Aadd( aZipFiles, Application:cDirectory+"Source*.Xfm")
Aadd( aZipFiles, Application:cDirectory+"ReSource*.*")
Aadd( aZipFiles, Application:cDirectory+"Include*.*")
Aadd( aZipFiles, Application:cDirectory+"*.xpj")
WITH OBJECT oZip := TZipFile()
:cFileName := cName
:lIncludePath := .T.
:aFileMask := aZipFiles
:nCompressionLevel:= pkBEST
:Run()
END
Y el resultado como se ve en la imagen, es que sale todo junto.
Gracias.
--
xevi[1]
Mensajes: 39
Registrado: Lun Jun 14, 2010 3:52 pm

Problema con TZipFile

Mensaje por xevi[1] »

Bingen,
Ya hace que tuve problemas con la compatibilidad entre versiones anteriores
de Xailer y copias Zip. Después de leer i escribir algun post al respecto...
me dio por añadir el fuente ZipArchive.prg de fecha 10/12/2102 (no se a que
versión de Xailer se corresponde) a mis proyectos... así­ me funciona
perfectamente, vaya, funciona como hacia anteriormente, y no me rompe nada.
Un Saludo,
Xevi.
"Bingen Ugaldebere" <bingen@bisoft.es> ha escrit al
missatge:5291c3d9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Aquí­ va la muestra:
>
> Aadd( aZipFiles, Application:cDirectory+"Source*.Prg")
> Aadd( aZipFiles, Application:cDirectory+"Source*.Xfm")
> Aadd( aZipFiles, Application:cDirectory+"ReSource*.*")
> Aadd( aZipFiles, Application:cDirectory+"Include*.*")
> Aadd( aZipFiles, Application:cDirectory+"*.xpj")
>
> WITH OBJECT oZip := TZipFile()
> :cFileName := cName
> :lIncludePath := .T.
> :aFileMask := aZipFiles
> :nCompressionLevel:= pkBEST
> :Run()
> END
>
> Y el resultado como se ve en la imagen, es que sale todo junto.
>
> Gracias.
>
>
xevi[1]
Mensajes: 39
Registrado: Lun Jun 14, 2010 3:52 pm

Problema con TZipFile

Mensaje por xevi[1] »

2012... se me fueron los dedos !!!
"Xevi" <xevicomas_quitaeso@gmail.com> ha escrit al
missatge:52923923$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Bingen,
>
> Ya hace que tuve problemas con la compatibilidad entre versiones
> anteriores de Xailer y copias Zip. Después de leer i escribir algun post
> al respecto... me dio por añadir el fuente ZipArchive.prg de fecha
> 10/12/2102 (no se a que versión de Xailer se corresponde) a mis
> proyectos... así­ me funciona perfectamente, vaya, funciona como hacia
> anteriormente, y no me rompe nada.
>
>
> Un Saludo,
> Xevi.
>
>
> "Bingen Ugaldebere" <bingen@bisoft.es> ha escrit al
> missatge:5291c3d9$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Aquí­ va la muestra:
>>
>> Aadd( aZipFiles, Application:cDirectory+"Source*.Prg")
>> Aadd( aZipFiles, Application:cDirectory+"Source*.Xfm")
>> Aadd( aZipFiles, Application:cDirectory+"ReSource*.*")
>> Aadd( aZipFiles, Application:cDirectory+"Include*.*")
>> Aadd( aZipFiles, Application:cDirectory+"*.xpj")
>>
>> WITH OBJECT oZip := TZipFile()
>> :cFileName := cName
>> :lIncludePath := .T.
>> :aFileMask := aZipFiles
>> :nCompressionLevel:= pkBEST
>> :Run()
>> END
>>
>> Y el resultado como se ve en la imagen, es que sale todo junto.
>>
>> Gracias.
>>
>>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9469
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Problema con TZipFile

Mensaje por ignacio »

Buenos dí­as,
METHOD Run() CLASS XZipFile
LOCAL aFiles
LOCAL dDate
LOCAL cFile, cTime, cBuffer, cDir, cPath, cMaskPath
LOCAL nTotal, nAttr, nSize, nRead, nLen, nPos
LOCAL hZip, hFile
LOCAL lOk
::nLastError := 0
::cLastError := ""
nLen := ::nBufferSize * 1024
cDir := HB_CurDrive() + ":" + Curdir()
cBuffer := Space( nLen )
nTotal := 0
nPos := 0
lOk := .T.
aFiles := ::GetFiles()
IF Len( aFiles ) == 0
::cLastError := "Property aFiles empty"
RETURN .F.
ENDIF
IF !::lOverwrite .AND. File( ::cFileName )
hZip := HB_ZipOpen( ::cFileName, HB_ZIP_OPEN_ADDINZIP )
ELSE
hZip := HB_ZipOpen( ::cFileName, HB_ZIP_OPEN_CREATE )
ENDIF
IF Empty( hZip )
::nLastError := GetLastError()
::cLastError := "File creation error (" + ::cFileName + ")"
RETURN .F.
ENDIF
cMaskPath := ::CommonMaskPath()
nTotal := ::FilesSize()
FOR EACH cFile IN aFiles
IF !::lIncludePath
DirChange( FilePath( cFile ) )
cFile := FileFullName( cFile )
ELSE
cPath := FilePath( ::aMasks[ cFile:__enumIndex ] )
IF !Empty( cPath )
IF !::lMasksComPath
IF !::lIncludePath
DirChange( cPath )
cFile := SubStr( cFile, Len( cPath ) + 2 )
ELSE
DirChange( cMaskPath )
cFile := SubStr( cFile, Len( cMaskPath ) + 1 )
ENDIF
ELSE
IF Empty( cMaskPath ) .OR. Left( cFile, 3) != Left( cMaskPath, 3 )
cMaskPath := Left( cFile, 3 )
ENDIF
DirChange( cMaskPath )
cFile := SubStr( cFile, Len( cMaskPath ) + 1 )
ENDIF
ENDIF
ENDIF
dDate := FileDateTimeLocal( cFile )
cTime := SubStr( hb_TToC( dDate ), 12, 8 )
nSize := hb_FSize( cFile )
nAttr := GetFileAttributes( cFile )
::OnChangeFile( cFile )
IF ( hFile := FOpen( cFile, 32 ) ) <= 0
::cLastError := "File open error (" + cFile + ")"
::nLastError := GetLastError()
lOk := .F.
EXIT
ENDIF
IF Empty( ::cPassword )
HB_ZipFileCreate( hZip, cFile, dDate, cTime, 0, nAttr,, ;
::nCompressionLevel )
ELSE
HB_ZipFileCreate( hZip, cFile, dDate, cTime, 0, nAttr,, ;
::nCompressionLevel, ::cPassword, hb_ZipFileCRC32( cFile ) )
ENDIF
DO WHILE nSize > 0
nRead := FRead( hFile, @cBuffer, Min( nSize, nLen ) )
IF nRead == 0
EXIT
ENDIF
IF ( ::nLastError := GetLastError() ) != 0
::cLastError := "File reading error (" + cFile + ")"
FClose( hFile )
lOk := .F.
EXIT
ENDIF
HB_ZipFileWrite( hZip, cBuffer, nRead )
nSize -= nRead
nPos += nRead
::OnProgress( nPos, nTotal )
END DO
HB_ZipFileClose( hZip )
FClose( hFile )
IF !lOk
EXIT
ENDIF
NEXT
HB_ZipClose( hZip )
DirChange( cDir )
RETURN lOk
Si fueras tan amable de probarlo. Te quedo muy agradecido de antemano y disculpa por las molestias.
Un saludo
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Problema con TZipFile

Mensaje por Bingen Ugaldebere »

Perdona Ignacio tengo problemas los valores de
Ambiguous reference 'HB_ZIP_OPEN_ADDINZIP'
Ambiguous reference 'HB_ZIP_OPEN_CREATE'
He incluido
#define HB_ZIP_OPEN_CREATE 0
#define HB_ZIP_OPEN_CREATEAFTER 1
#define HB_ZIP_OPEN_ADDINZIP 2
que he sacado de los fuentes
y así­ no da error pero me genera un ZIP de 1Kb corrupto ???
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9469
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Problema con TZipFile

Mensaje por ignacio »


Te adjunto el fichero completo. No tengo ni idea que te puede estar pasando.
Un saludo

Attached files ZipArchive.rar (3.9 KB)Â
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Problema con TZipFile

Mensaje por Bingen Ugaldebere »

Gracias Ignacio con este Prg funciona perfectamente, necesitas que haga
alguna prueba más para ver donde esta el problema o la diferencia entre
las versiones? o lo tienes claro.
Salu2.
Responder