Requiero extraer del archivo DAT.ZIP unicamente un archivo .
El contenido del archivo .ZIP tiene dos archivos JPG que fueron comprimidos
con TZipFile quedando dentro del archivo DAT.ZIP como se muestra:
C:DAT01FILE.JPG
C:DAT02FILE.JPG
Lo que se requiere es extraer del DAT.ZIP unicamente el archivo:
C:DAT02FILE.JPG
Ya lo intente de mil maneras y no logro extraerlo, que debo poner en el
:aFileMask para obtener el resultado deseado.
WITH OBJECT oZip := TUnzipFile()
:cFileName := "DAT.ZIP"
:aFileMask := ? // QUE DEBO DE INDICAR AQUí PARA EXTRAER EL
ARCHIVO REQUERIDO
:cDirectory := "C:PRUEBA" // CON ESTE DIRECTORIO NO HAY
PROBLEMA PUEDE SER CUALQUIERA
:lIncludePath := .F.
:OnProgress := {|oSender, cFile, nPos| ::oProgressDlg1:nValue :=
(nPos/:nCount)*100}
If :Run()
MsgInfo('Ok')
EndIf
::oProgressDlg1:Stop()
END WITH
Gracias
Guillermo
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.
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.
Manejo de TUnzipFile()
-
- Mensajes: 176
- Registrado: Sab Ene 19, 2008 5:52 pm
Manejo de TUnzipFile()
Guillermo,
Yo lo estoy utilizando así...
aFileMask := { "MiFichero.xxx" }
Ahora bien, tu lo quieres extraer de una carpeta...
Tendrás que probar...
aFileMask := { "DAT02FILE.JPG" }
aFileMask := { "002FILE.JPG"
Un Saludo,
Xevi.
"Guillermo Guevara C." <soporte@pvwin.com> escribió en el mensaje
news:4aef81d1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Requiero extraer del archivo DAT.ZIP unicamente un archivo .
>
> El contenido del archivo .ZIP tiene dos archivos JPG que fueron
> comprimidos con TZipFile quedando dentro del archivo DAT.ZIP como se
> muestra:
>
> C:DAT01FILE.JPG
> C:DAT02FILE.JPG
>
> Lo que se requiere es extraer del DAT.ZIP unicamente el archivo:
> C:DAT02FILE.JPG
>
> Ya lo intente de mil maneras y no logro extraerlo, que debo poner en el
> :aFileMask para obtener el resultado deseado.
>
> WITH OBJECT oZip := TUnzipFile()
> :cFileName := "DAT.ZIP"
> :aFileMask := ? // QUE DEBO DE INDICAR AQUÍ PARA EXTRAER EL
> ARCHIVO REQUERIDO
> :cDirectory := "C:PRUEBA" // CON ESTE DIRECTORIO NO HAY
> PROBLEMA PUEDE SER CUALQUIERA
> :lIncludePath := .F.
> :OnProgress := {|oSender, cFile, nPos| ::oProgressDlg1:nValue :=
> (nPos/:nCount)*100}
> If :Run()
> MsgInfo('Ok')
> EndIf
> ::oProgressDlg1:Stop()
> END WITH
>
> Gracias
>
> Guillermo
Yo lo estoy utilizando así...
aFileMask := { "MiFichero.xxx" }
Ahora bien, tu lo quieres extraer de una carpeta...
Tendrás que probar...
aFileMask := { "DAT02FILE.JPG" }
aFileMask := { "002FILE.JPG"
Un Saludo,
Xevi.
"Guillermo Guevara C." <soporte@pvwin.com> escribió en el mensaje
news:4aef81d1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Requiero extraer del archivo DAT.ZIP unicamente un archivo .
>
> El contenido del archivo .ZIP tiene dos archivos JPG que fueron
> comprimidos con TZipFile quedando dentro del archivo DAT.ZIP como se
> muestra:
>
> C:DAT01FILE.JPG
> C:DAT02FILE.JPG
>
> Lo que se requiere es extraer del DAT.ZIP unicamente el archivo:
> C:DAT02FILE.JPG
>
> Ya lo intente de mil maneras y no logro extraerlo, que debo poner en el
> :aFileMask para obtener el resultado deseado.
>
> WITH OBJECT oZip := TUnzipFile()
> :cFileName := "DAT.ZIP"
> :aFileMask := ? // QUE DEBO DE INDICAR AQUÍ PARA EXTRAER EL
> ARCHIVO REQUERIDO
> :cDirectory := "C:PRUEBA" // CON ESTE DIRECTORIO NO HAY
> PROBLEMA PUEDE SER CUALQUIERA
> :lIncludePath := .F.
> :OnProgress := {|oSender, cFile, nPos| ::oProgressDlg1:nValue :=
> (nPos/:nCount)*100}
> If :Run()
> MsgInfo('Ok')
> EndIf
> ::oProgressDlg1:Stop()
> END WITH
>
> Gracias
>
> Guillermo
-
- Mensajes: 176
- Registrado: Sab Ene 19, 2008 5:52 pm
Manejo de TUnzipFile()
"Xevi" <xevicomas@gmail.com> escribió en el mensaje de noticias
news:4aefdaea$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Guillermo,
>
> Yo lo estoy utilizando así...
> aFileMask := { "MiFichero.xxx" }
>
> Ahora bien, tu lo quieres extraer de una carpeta...
> Tendrás que probar...
> aFileMask := { "DAT02FILE.JPG" }
> aFileMask := { "002FILE.JPG"
>
>
> Un Saludo,
> Xevi.
>
>
> "Guillermo Guevara C." <soporte@pvwin.com> escribió en el mensaje
> news:4aef81d1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Requiero extraer del archivo DAT.ZIP unicamente un archivo .
>>
>> El contenido del archivo .ZIP tiene dos archivos JPG que fueron
>> comprimidos con TZipFile quedando dentro del archivo DAT.ZIP como se
>> muestra:
>>
>> C:DAT01FILE.JPG
>> C:DAT02FILE.JPG
>>
>> Lo que se requiere es extraer del DAT.ZIP unicamente el archivo:
>> C:DAT02FILE.JPG
>>
>> Ya lo intente de mil maneras y no logro extraerlo, que debo poner en el
>> :aFileMask para obtener el resultado deseado.
>>
>> WITH OBJECT oZip := TUnzipFile()
>> :cFileName := "DAT.ZIP"
>> :aFileMask := ? // QUE DEBO DE INDICAR AQUí PARA EXTRAER EL
>> ARCHIVO REQUERIDO
>> :cDirectory := "C:PRUEBA" // CON ESTE DIRECTORIO NO HAY
>> PROBLEMA PUEDE SER CUALQUIERA
>> :lIncludePath := .F.
>> :OnProgress := {|oSender, cFile, nPos| ::oProgressDlg1:nValue
>> := (nPos/:nCount)*100}
>> If :Run()
>> MsgInfo('Ok')
>> EndIf
>> ::oProgressDlg1:Stop()
>> END WITH
>>
>> Gracias
>>
>> Guillermo
Xevi:
Efectívamente funciona bién cuando se trata de un archivo como tu me lo
indicas:
aFileMask := { "DAT02FILE.JPG" }
Ahora se supone que es una máscara y debería de funcionar para extraer
varios archivos que esten referenciados al mismo path, por ejemplo:
aFileMask := { "DAT02*.JPG" }
Pero no funciona, ya probé de varias formas, creo que es un bug de la clase
TUnzipFile, pruébenlo y verán.
¿Que se puede hacer?, estoy detenido por este detalle ó indíquenme que estoy
haciendo mal.
Gracias Xevi por tu respuesta, el problema sigue ahí.
Guillermo
news:4aefdaea$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Guillermo,
>
> Yo lo estoy utilizando así...
> aFileMask := { "MiFichero.xxx" }
>
> Ahora bien, tu lo quieres extraer de una carpeta...
> Tendrás que probar...
> aFileMask := { "DAT02FILE.JPG" }
> aFileMask := { "002FILE.JPG"
>
>
> Un Saludo,
> Xevi.
>
>
> "Guillermo Guevara C." <soporte@pvwin.com> escribió en el mensaje
> news:4aef81d1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Requiero extraer del archivo DAT.ZIP unicamente un archivo .
>>
>> El contenido del archivo .ZIP tiene dos archivos JPG que fueron
>> comprimidos con TZipFile quedando dentro del archivo DAT.ZIP como se
>> muestra:
>>
>> C:DAT01FILE.JPG
>> C:DAT02FILE.JPG
>>
>> Lo que se requiere es extraer del DAT.ZIP unicamente el archivo:
>> C:DAT02FILE.JPG
>>
>> Ya lo intente de mil maneras y no logro extraerlo, que debo poner en el
>> :aFileMask para obtener el resultado deseado.
>>
>> WITH OBJECT oZip := TUnzipFile()
>> :cFileName := "DAT.ZIP"
>> :aFileMask := ? // QUE DEBO DE INDICAR AQUí PARA EXTRAER EL
>> ARCHIVO REQUERIDO
>> :cDirectory := "C:PRUEBA" // CON ESTE DIRECTORIO NO HAY
>> PROBLEMA PUEDE SER CUALQUIERA
>> :lIncludePath := .F.
>> :OnProgress := {|oSender, cFile, nPos| ::oProgressDlg1:nValue
>> := (nPos/:nCount)*100}
>> If :Run()
>> MsgInfo('Ok')
>> EndIf
>> ::oProgressDlg1:Stop()
>> END WITH
>>
>> Gracias
>>
>> Guillermo
Xevi:
Efectívamente funciona bién cuando se trata de un archivo como tu me lo
indicas:
aFileMask := { "DAT02FILE.JPG" }
Ahora se supone que es una máscara y debería de funcionar para extraer
varios archivos que esten referenciados al mismo path, por ejemplo:
aFileMask := { "DAT02*.JPG" }
Pero no funciona, ya probé de varias formas, creo que es un bug de la clase
TUnzipFile, pruébenlo y verán.
¿Que se puede hacer?, estoy detenido por este detalle ó indíquenme que estoy
haciendo mal.
Gracias Xevi por tu respuesta, el problema sigue ahí.
Guillermo
Manejo de TUnzipFile()
Guillermo,
acabo de probar tu ejemplo con un zip exacto al que describes y funciona
perfectamente:
WITH OBJECT TUnzipFile():New()
:cFileName := "c:datDAT.ZIP"
:aFileMask := { "001file.jpg" }
:cDirectory := "C:test"
:OnProgress := {|oSender, cFile| MsgAlert( cFile ) }
:Create()
:lIncludePath := .F.
MsgAlert( :Run() )
END WITH
Saludos,
José Lalín
acabo de probar tu ejemplo con un zip exacto al que describes y funciona
perfectamente:
WITH OBJECT TUnzipFile():New()
:cFileName := "c:datDAT.ZIP"
:aFileMask := { "001file.jpg" }
:cDirectory := "C:test"
:OnProgress := {|oSender, cFile| MsgAlert( cFile ) }
:Create()
:lIncludePath := .F.
MsgAlert( :Run() )
END WITH
Saludos,
José Lalín
Manejo de TUnzipFile()
Guillermo,
veo que el problema aparece cuando se especifica una máscara y no un archivo.
He trazado el código y el bug está en hb_unzipfile que hace algo raro con
los paths. Si se hace así funciona correctamente:
:aFileMask := { "001*.jpg" }
Saludos,
José Lalín
veo que el problema aparece cuando se especifica una máscara y no un archivo.
He trazado el código y el bug está en hb_unzipfile que hace algo raro con
los paths. Si se hace así funciona correctamente:
:aFileMask := { "001*.jpg" }
Saludos,
José Lalín
-
- Mensajes: 176
- Registrado: Sab Ene 19, 2008 5:52 pm
Manejo de TUnzipFile()
"José Lalín" <dezac_quitaesto_@corevia.com> escribió en el mensaje de
noticias news:[email=4af02748@svctag-j7w3v3j....]4af02748@svctag-j7w3v3j....[/email]
Guillermo,
veo que el problema aparece cuando se especifica una máscara y no un
archivo.
He trazado el código y el bug está en hb_unzipfile que hace algo raro con
los paths. Si se hace así funciona correctamente:
:aFileMask := { "001*.jpg" }
Saludos,
José Lalín
Gracias José
Lo voy a probar
Guillermo
noticias news:[email=4af02748@svctag-j7w3v3j....]4af02748@svctag-j7w3v3j....[/email]
Guillermo,
veo que el problema aparece cuando se especifica una máscara y no un
archivo.
He trazado el código y el bug está en hb_unzipfile que hace algo raro con
los paths. Si se hace así funciona correctamente:
:aFileMask := { "001*.jpg" }
Saludos,
José Lalín
Gracias José
Lo voy a probar
Guillermo