AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de archivos
  • Códigos de error
  • Archivo extraído
  • Extracción y contraseña
  • Índice de ficheros en el archivo
  • ruta almacenada
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Extrae un archivo de un archivo comprimido y lo descomprime automáticamente en una ubicación física o en la memoria..
WEBDEV - Código ServidorAjax
Archive is zipArchive
// Open an archive
ResOpenArchive = zipOpen(Archive, "C:\Archives\Archive.zip")
 
IF ResOpenArchive = 0 THEN
...
 // Extract a file to its initial location
 ResExtractFile = zipExtractFile(Archive, "File.txt", zipDrive)
...
END
Sintaxis

Extraer un archivo identificado por su índice Ocultar los detalles

<Result> = zipExtractFile(<Archive> , <File index> [, <File destination> [, <Progress>]])
<Result>: Entero o tampón
  • 0 si el archivo fue extraído,
  • Un código de error (valor superior a 0) en caso contrario. Para más detalles sobre estos códigos de error, consulte la página web de Observaciones.
Cuando se extrae "en memoria", corresponde a la memoria intermedia que contiene el fichero extraído.
<Archive>: Cadena de caracteres o zipArchive Variable
Nombre del archivo que se va a utilizar.
Este nombre puede corresponder a:
<File index>: Integro
Índice del fichero a extraer del archivo. zipFindFile devuelve este índice.
<File destination>: Cadena de caracteres opcional o constante
Destino ruta del archivo extraído:
  • Cadena de caracteres opcional: El archivo se extrae en la ruta especificada a la que se añade la estructura de árbol almacenada del archivo (la Drive no se almacena). Se crea la ruta especificada si no existe.
  • Constante opcional:
    zipDirectory
    (Valor predeterminado)
    Extracción en el directorio actual mientras se restaura la estructura de árbol del archivo (si estaba almacenado).
    zipDriveExtracción:
    • a la ubicación inicial del archivo si se almacenó y si la Drive existe.
    • mientras se restaura la estructura de árbol del archivo en la Drive actual si la Drive o el directorio almacenado no existen.
    • en el directorio actual si sólo se han almacenado el nombre del archivo y extension.
    Linux Esta constante no está disponible. Los directorios no tienen raíz.
    Archivos en formato 7z: Esta constante y la constante zipDirectory tendrán el mismo efecto.
    zipInMemoryExtrae el archivo de la memoria. El contenido del archivo es devuelto directamente por la función. Puede asignarse a un Buffer Variable por ejemplo.
    Esta característica está disponible sólo para los archivos ZIP y WDZ.
    zipNoneExtracción en el directorio actual sin restaurar la estructura de árbol del archivo (si estaba almacenado).

<Progress>: Nombre de control o nombre de Procedure
Modo de gestión de la barra de progreso. Este parámetro puede corresponder a:
  • el nombre de un WLanguage Procedure. Este procedimiento tiene el siguiente formato:
    <Procedure name> (<Current file>, <Progress percentage>)

    donde:
    • corresponde al nombre del fichero actualmente procesado.
    • corresponde al porcentaje de progreso del fichero que se está extrayendo del archivo.
Atención: La barra de progreso se actualiza al final de la extracción de archivos para los siguientes tipos de archivos comprimidos:
  • TAR o TGZ (TAR.GZ),
  • RAR,
  • CAB.

Extrayendo un archivo identificado por su ruta Ocultar los detalles

<Result> = zipExtractFile(<Archive> , <File path> [, <File destination> [, <Progress>]])
<Result>: Entero o tampón
  • 0 si el archivo fue extraído,
  • Un código de error (valor superior a 0) en caso contrario. Para más detalles sobre estos códigos de error, consulte la página web de Observaciones.
Cuando se extrae "en memoria", corresponde a la memoria intermedia que contiene el fichero extraído.
<Archive>: Cadena de caracteres o zipArchive Variable
Nombre del archivo que se va a utilizar.
Este nombre puede corresponder a:
<File path>: Cadena de caracteres
ruta almacenada del archivo a extraer del archivo. Realiza una búsqueda de coincidencias exactas en la ruta del archivo en el archivo.
<File destination>: Cadena de caracteres opcional o constante
Destino ruta del archivo extraído:
  • Cadena de caracteres opcional: El archivo se extrae en la ruta especificada a la que se añade la estructura de árbol almacenada del archivo (la Drive no se almacena). Se crea la ruta especificada si no existe.
  • Constante opcional:
    zipDirectory
    (Valor predeterminado)
    Extracción en el directorio actual mientras se restaura la estructura de árbol del archivo (si estaba almacenado).
    zipDriveExtracción:
    • a la ubicación inicial del archivo si se almacenó y si la Drive existe.
    • mientras se restaura la estructura de árbol del archivo en la Drive actual si la Drive o el directorio almacenado no existen.
    • en el directorio actual si sólo se han almacenado el nombre del archivo y extension.
    Linux Esta constante no está disponible. Los directorios no tienen raíz.
    Archivos en formato 7z: Esta constante y la constante zipDirectory tendrán el mismo efecto.
    zipInMemoryExtrae el archivo de la memoria. El contenido del archivo es devuelto directamente por la función. Puede asignarse a un Buffer Variable por ejemplo.
    Esta característica está disponible sólo para los archivos ZIP y WDZ.
    zipNoneExtracción en el directorio actual sin restaurar la estructura de árbol del archivo (si estaba almacenado).

<Progress>: Nombre de control o nombre de Procedure
Modo de gestión de la barra de progreso. Este parámetro puede corresponder a:
  • el nombre de un WLanguage Procedure. Este procedimiento tiene el siguiente formato:
    <Procedure name> (<Current file>, <Progress percentage>)

    donde:
    • corresponde al nombre del fichero actualmente procesado.
    • corresponde al porcentaje de progreso del fichero que se está extrayendo del archivo.
Atención: La barra de progreso se actualiza al final de la extracción de archivos para los siguientes tipos de archivos comprimidos:
  • TAR o TGZ (TAR.GZ),
  • RAR,
  • CAB.
Observaciones

Códigos de error

Se devuelven los siguientes códigos de error:
  • 1: La ruta pasada como parámetro no existe.
  • 2: Acceso denegado: el usuario no tiene suficientes derechos.
  • 3: El archivo está corrupto.
  • 4: La ruta no existe en el archivo.
  • 6: Los archivos de los subarchivos no están ordenados (cuando se extraen de un archivo de varias partes).
  • 21: La contraseña especificada no es correcta.
El mensaje correspondiente al código de error es devuelto por zipMsgError. Recordatorio:
  • Linux Sólo están disponibles los archivos ZIP, TAR y TGZ (TAR.GZ).
  • RAR es compatible hasta la versión 4 inclusive.

Archivo extraído

El archivo extraído no se elimina del archivo comprimido. Para eliminar un fichero o todos los ficheros del archivo, utilice zipDeleteFile o zipDeleteAll.
WEBDEV - Código ServidorAjax

Extracción y contraseña

Si el archivo no está encriptado y si se utilizó zipPassword:
  • Archivo en formato WDZ: El archivo se sigue extrayendo.
  • Archivo en formato ZIP: Se produce un error.

Índice de ficheros en el archivo

Cuando se añade un fichero a un archivo, se le asigna automáticamente un índice. Este índice corresponde al orden de inclusión de los ficheros en el archivo. Para seleccionar un fichero en el archivo comprimido, puede utilizar:
  • el índice del elemento (el índice de un elemento es devuelto por zipFindFile).
  • la ruta almacenada del elemento.

ruta almacenada

A continuación, tabla presenta las rutas almacenadas en el archivo según:
  • el acceso ruta al fichero,
  • la sección ruta almacenada.
El directorio actual es: "C:\Temp".
zipAddFileUbicación del archivozipNonezipDirectoryzipDrive
zipAddFile("Archi",...
"Archivo.txt")
C:\Temp\Archivo.txtArchivo.txtArchivo.txtArchivo.txt
zipAddFile("Archi",...
"Data\Archivo.txt")
C:\Temp\Data\Archivo.txtArchivo.txtData\Archivo.txtData\Archivo.txt
zipAddFile("Archi",...
"D:\Data\Archivo.txt")
D:\Data\Archivo.txtArchivo.txtData\Archivo.txtD:\Data\Archivo.txt

Observación: Si se usa la constante zipDrive:
  • el formato WDZ almacena la ruta completa del archivo (incluida la letra Drive).
  • el formato ZIP no almacena la letra Drive.
  • el formato 7z almacena sólo los directorios.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290zip.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 13/06/2023

Señalar un error o enviar una sugerencia | Ayuda local