Página 1 de 1
Problema con TZipFile
Publicado: Vie Nov 22, 2013 6:47 pm
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.
Problema con TZipFile
Publicado: Sab Nov 23, 2013 2:03 pm
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
Problema con TZipFile
Publicado: Dom Nov 24, 2013 10:15 am
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.
--
Problema con TZipFile
Publicado: Dom Nov 24, 2013 6:36 pm
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.
>
>
Problema con TZipFile
Publicado: Dom Nov 24, 2013 6:38 pm
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.
>>
>>
Problema con TZipFile
Publicado: Lun Nov 25, 2013 10:32 am
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
Problema con TZipFile
Publicado: Mar Nov 26, 2013 10:09 am
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 ???
Problema con TZipFile
Publicado: Mié Nov 27, 2013 7:54 pm
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)Â
Problema con TZipFile
Publicado: Vie Nov 29, 2013 3:07 pm
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.