PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Codes d'erreur
  • Fichier extrait
  • Extraction et mot de passe
  • Indice des fichiers dans l'archive
  • Chemin mémorisé
  • Extraction à partir d'une archive multi-parties sur disquettes
  • Jauge
Produits
WinDevWebDev - Code ServeurWebDev - Code NavigateurWinDev MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs

Extrait et décompresse automatiquement un fichier d'une archive à un emplacement physique ou en mémoire.

Versions 15 et supérieures
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.

Versions 18 et supérieures
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWebDev - Code ServeurWindows Cette fonction gère désormais le format 7z.
Nouveauté 18
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWebDev - Code ServeurWindows Cette fonction gère désormais le format 7z.
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWebDev - Code ServeurWindows Cette fonction gère désormais le format 7z.
Versions 19 et supérieures
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 19
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WinDevWebDev - Code ServeurWindowsLinuxUniversal Windows 10 AppiPhone/iPad Cette fonction gère désormais les formats TAR et TGZ (TAR.GZ).
Nouveauté 21
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WinDevWebDev - Code ServeurWindowsLinuxUniversal Windows 10 AppiPhone/iPad Cette fonction gère désormais les formats TAR et TGZ (TAR.GZ).
WinDevWinDev MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WinDevWebDev - Code ServeurWindowsLinuxUniversal Windows 10 AppiPhone/iPad Cette fonction gère désormais les formats TAR et TGZ (TAR.GZ).
WinDevWebDev - Code ServeurEtats et RequêtesJavaAjaxCode Utilisateur (MCU)
// Ouverture d'une archive
ResOuvreArchive = zipOuvre("Archive", "C:\Archives\Archive.zip")
SI ResOuvreArchive = 0 ALORS
        ...
         // Extraction d'un fichier à son emplacement d'origine
         ResExtraitFichier = zipExtraitFichier("Archive", "Fichier.doc", zipDisque)
        ...
FIN

WinDev MobileWindows Mobile
// Ouverture d'une archive
ResOuvreArchive = zipOuvre("Archive", "\Archives\Archive.zip")
SI ResOuvreArchive = 0 ALORS
        ...
       // Extraction d'un fichier à son emplacement d'origine
        ResExtraitFichier = zipExtraitFichier("Archive", "Fichier.txt", zipDisque)
        ...
FIN

Syntaxe

Extraire un fichier identifié par son indice Masquer les détails

<Résultat> = zipExtraitFichier(<Archive> , <Indice du fichier> [, <Destination du fichier> [, <Gestion de la jauge>]])
<Résultat> : Entier ou buffer
  • 0 si le fichier a été extrait,
  • Un code d'erreur (valeur supérieure à 0) dans le cas contraire. Pour plus de détails sur ces codes d'erreur, consultez les Notes.
Lors d'une extraction "en mémoire", correspond au buffer contenant le fichier extrait.
<Archive> : Chaîne de caractères (avec guillemets) ou variable de type zipArchive
Nom de l'archive à manipuler.
Ce nom peut correspondre :
  • soit au nom d'une archive défini avec la fonction zipOuvre ou la fonction zipCrée.
  • Versions 15 et supérieures
    WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileAjax soit au nom d'une variable de type zipArchive.
    Nouveauté 15
    WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileAjax soit au nom d'une variable de type zipArchive.
    WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileAjax soit au nom d'une variable de type zipArchive.
<Indice du fichier> : Entier
Indice du fichier à extraire de l'archive. Cet indice peut être connu grâce à la fonction zipChercheFichier.
<Destination du fichier> : Chaîne de caractères ou constante optionnelle
Chemin de destination du fichier extrait :
  • Chaîne de caractères optionnelle : Le fichier est extrait dans le chemin spécifié auquel s'ajoute l'arborescence mémorisée du fichier (le disque n'est pas conservé). Le chemin spécifié est créé s'il n'existe pas.
    Universal Windows 10 App Le chemin destination du fichier extrait doit correspondre au répertoire de travail de l'application (connu avec la fonction fRepDonnées) ou un de ses sous-répertoires.
  • Constante optionnelle :
    zipAucunExtraction dans le répertoire en cours sans restauration de l'arborescence du fichier (si elle a été mémorisée).
    zipDisqueExtraction :
    • à l'emplacement d'origine du fichier s'il a été mémorisé et si le disque existe.
    • avec restauration de l'arborescence du fichier sur le disque en cours si le disque ou si le répertoire mémorisé n'existe pas.
    • dans le répertoire en cours si seuls le nom et l'extension du fichier ont été mémorisés.
    LinuxiPhone/iPad Cette constante n'est pas disponible. Les répertoires n'ont pas de racine.
    AndroidWidget AndroidJava Cette constante aura le même effet que la constante zipRépertoire.

    Archives au format 7z : Cette constante aura le même effet que la constante zipRépertoire.
    zipEnMémoireExtraction du fichier en mémoire. Le contenu du fichier est renvoyé directement par la fonction. Il peut être affecté à une variable de type Buffer par exemple.
    Cette fonctionnalité est disponible uniquement pour les archives au format ZIP et WDZ.
    zipRépertoire
    (Valeur par défaut)
    Extraction dans le répertoire en cours avec restauration de l'arborescence du fichier (si elle a été mémorisée).

    Windows Mobile Il n'est pas possible d'utiliser ces constantes car le Pocket PC ne gère pas la notion de répertoire en cours.
    Universal Windows 10 App Il n'est pas possible d'utiliser ces constantes.
<Gestion de la jauge> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Versions 21 et supérieures
Mode de gestion de la jauge. Ce paramètre peut correspondre :
  • WinDevWindows MobileUniversal Windows 10 AppiPhone/iPad au nom d'un champ Jauge présent dans une fenêtre. Cette jauge affichera la progression de l'extraction du fichier manipulé.
  • au nom d'une procédure WLangage. Cette procédure est de la forme :
    <Nom de la procédure> (<Fichier en cours>, <Pourcentage d'avancement>)

    où :
    • <Fichier en cours> correspond au nom du fichier en cours de traitement.
    • <Pourcentage d'avancement> correspond au pourcentage d'avancement de l'extraction du fichier en cours depuis l'archive.
Attention : La jauge est mise à jour uniquement à la fin de l'extraction du fichier pour les archives de type :
  • TAR ou TGZ (TAR.GZ),
  • RAR,
  • CAB.
Nouveauté 21
Mode de gestion de la jauge. Ce paramètre peut correspondre :
  • WinDevWindows MobileUniversal Windows 10 AppiPhone/iPad au nom d'un champ Jauge présent dans une fenêtre. Cette jauge affichera la progression de l'extraction du fichier manipulé.
  • au nom d'une procédure WLangage. Cette procédure est de la forme :
    <Nom de la procédure> (<Fichier en cours>, <Pourcentage d'avancement>)

    où :
    • <Fichier en cours> correspond au nom du fichier en cours de traitement.
    • <Pourcentage d'avancement> correspond au pourcentage d'avancement de l'extraction du fichier en cours depuis l'archive.
Attention : La jauge est mise à jour uniquement à la fin de l'extraction du fichier pour les archives de type :
  • TAR ou TGZ (TAR.GZ),
  • RAR,
  • CAB.
Mode de gestion de la jauge. Ce paramètre peut correspondre :
  • WinDevWindows MobileUniversal Windows 10 AppiPhone/iPad au nom d'un champ Jauge présent dans une fenêtre. Cette jauge affichera la progression de l'extraction du fichier manipulé.
  • au nom d'une procédure WLangage. Cette procédure est de la forme :
    <Nom de la procédure> (<Fichier en cours>, <Pourcentage d'avancement>)

    où :
    • <Fichier en cours> correspond au nom du fichier en cours de traitement.
    • <Pourcentage d'avancement> correspond au pourcentage d'avancement de l'extraction du fichier en cours depuis l'archive.
Attention : La jauge est mise à jour uniquement à la fin de l'extraction du fichier pour les archives de type :
  • TAR ou TGZ (TAR.GZ),
  • RAR,
  • CAB.

Extraire un fichier identifié par son chemin Masquer les détails

<Résultat> = zipExtraitFichier(<Archive> , <Chemin du fichier> [, <Destination du fichier> [, <Gestion de la jauge>]])
<Résultat> : Entier ou buffer
  • 0 si le fichier a été extrait,
  • Un code d'erreur (valeur supérieure à 0) dans le cas contraire. Pour plus de détails sur ces codes d'erreur, consultez les Notes.
Lors d'une extraction "en mémoire", correspond au buffer contenant le fichier extrait.
<Archive> : Chaîne de caractères (avec guillemets) ou variable de type zipArchive
Nom de l'archive à manipuler.
Ce nom peut correspondre :
  • soit au nom d'une archive défini avec la fonction zipOuvre ou la fonction zipCrée.
  • Versions 15 et supérieures
    WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileAjax soit au nom d'une variable de type zipArchive.
    Nouveauté 15
    WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileAjax soit au nom d'une variable de type zipArchive.
    WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileAjax soit au nom d'une variable de type zipArchive.
<Chemin du fichier> : Chaîne de caractères (avec guillemets)
Chemin mémorisé du fichier à extraire de l'archive. Effectue une recherche à l'identique sur le chemin du fichier dans l'archive.
<Destination du fichier> : Chaîne de caractères ou constante optionnelle
Chemin de destination du fichier extrait :
  • Chaîne de caractères optionnelle : Le fichier est extrait dans le chemin spécifié auquel s'ajoute l'arborescence mémorisée du fichier (le disque n'est pas conservé). Le chemin spécifié est créé s'il n'existe pas.
    Universal Windows 10 App Le chemin destination du fichier extrait doit correspondre au répertoire de travail de l'application (connu avec la fonction fRepDonnées) ou un de ses sous-répertoires.
  • Constante optionnelle :
    zipAucunExtraction dans le répertoire en cours sans restauration de l'arborescence du fichier (si elle a été mémorisée).
    zipDisqueExtraction :
    • à l'emplacement d'origine du fichier s'il a été mémorisé et si le disque existe.
    • avec restauration de l'arborescence du fichier sur le disque en cours si le disque ou si le répertoire mémorisé n'existe pas.
    • dans le répertoire en cours si seuls le nom et l'extension du fichier ont été mémorisés.
    LinuxiPhone/iPad Cette constante n'est pas disponible. Les répertoires n'ont pas de racine.
    AndroidWidget AndroidJava Cette constante aura le même effet que la constante zipRépertoire.

    Archives au format 7z : Cette constante aura le même effet que la constante zipRépertoire.
    zipEnMémoireExtraction du fichier en mémoire. Le contenu du fichier est renvoyé directement par la fonction. Il peut être affecté à une variable de type Buffer par exemple.
    Cette fonctionnalité est disponible uniquement pour les archives au format ZIP et WDZ.
    zipRépertoire
    (Valeur par défaut)
    Extraction dans le répertoire en cours avec restauration de l'arborescence du fichier (si elle a été mémorisée).

    Windows Mobile Il n'est pas possible d'utiliser ces constantes car le Pocket PC ne gère pas la notion de répertoire en cours.
    Universal Windows 10 App Il n'est pas possible d'utiliser ces constantes.
<Gestion de la jauge> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Versions 21 et supérieures
Mode de gestion de la jauge. Ce paramètre peut correspondre :
  • WinDevWindows MobileUniversal Windows 10 AppiPhone/iPad au nom d'un champ Jauge présent dans une fenêtre. Cette jauge affichera la progression de l'extraction du fichier manipulé.
  • au nom d'une procédure WLangage. Cette procédure est de la forme :
    <Nom de la procédure> (<Fichier en cours>, <Pourcentage d'avancement>)

    où :
    • <Fichier en cours> correspond au nom du fichier en cours de traitement.
    • <Pourcentage d'avancement> correspond au pourcentage d'avancement de l'extraction du fichier en cours depuis l'archive.
Attention : La jauge est mise à jour uniquement à la fin de l'extraction du fichier pour les archives de type :
  • TAR ou TGZ (TAR.GZ),
  • RAR,
  • CAB.
Nouveauté 21
Mode de gestion de la jauge. Ce paramètre peut correspondre :
  • WinDevWindows MobileUniversal Windows 10 AppiPhone/iPad au nom d'un champ Jauge présent dans une fenêtre. Cette jauge affichera la progression de l'extraction du fichier manipulé.
  • au nom d'une procédure WLangage. Cette procédure est de la forme :
    <Nom de la procédure> (<Fichier en cours>, <Pourcentage d'avancement>)

    où :
    • <Fichier en cours> correspond au nom du fichier en cours de traitement.
    • <Pourcentage d'avancement> correspond au pourcentage d'avancement de l'extraction du fichier en cours depuis l'archive.
Attention : La jauge est mise à jour uniquement à la fin de l'extraction du fichier pour les archives de type :
  • TAR ou TGZ (TAR.GZ),
  • RAR,
  • CAB.
Mode de gestion de la jauge. Ce paramètre peut correspondre :
  • WinDevWindows MobileUniversal Windows 10 AppiPhone/iPad au nom d'un champ Jauge présent dans une fenêtre. Cette jauge affichera la progression de l'extraction du fichier manipulé.
  • au nom d'une procédure WLangage. Cette procédure est de la forme :
    <Nom de la procédure> (<Fichier en cours>, <Pourcentage d'avancement>)

    où :
    • <Fichier en cours> correspond au nom du fichier en cours de traitement.
    • <Pourcentage d'avancement> correspond au pourcentage d'avancement de l'extraction du fichier en cours depuis l'archive.
Attention : La jauge est mise à jour uniquement à la fin de l'extraction du fichier pour les archives de type :
  • TAR ou TGZ (TAR.GZ),
  • RAR,
  • CAB.

Remarques

Codes d'erreur

Les codes d'erreur retournés sont les suivants :
  • 1 : Le chemin passé en paramètre n'existe pas.
  • 2 : Accès interdit : l'utilisateur n'a pas les droits nécessaires.
  • 3 : L'archive est corrompue.
  • 4 : Le chemin n'existe pas dans l'archive.
  • 6 : Les fichiers des sous-archives ne sont pas dans l'ordre (cas d'une extraction dans une archive multi-parties).
  • 21 : Le mot de passe spécifié n'est pas correct.
Le message correspondant au code d'erreur peut être connu grâce à la fonction zipMsgErreur.

LinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadJava Rappel : Seules les archives au format ZIP sont disponibles.
Rappel :
  • LinuxUniversal Windows 10 AppiPhone/iPad Seules les archives au format ZIP, TAR et TGZ (TAR.GZ) sont disponibles.
  • Windows MobileAndroidWidget AndroidJava Seules les archives au format ZIP sont disponibles.

Fichier extrait

Le fichier extrait n'est pas effacé de l'archive. Pour effacer un ou tous les fichiers de l'archive, utilisez la fonction zipSupprimeFichier ou zipSupprimeTout.
WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileUniversal Windows 10 AppiPhone/iPadAjaxCode Utilisateur (MCU)

Extraction et mot de passe

Si le fichier n'est pas crypté et si la fonction zipMotDePasse a été utilisée :
  • Archive au format WDZ : Le fichier est tout de même extrait.
  • Archive au format ZIP : Une erreur apparaît.

Indice des fichiers dans l'archive

Lors de l'ajout d'un fichier dans une archive, un indice est automatiquement attribué au fichier. Cet indice correspond à l'ordre d'intégration des fichiers dans l'archive. Pour sélectionner un fichier de l'archive, il est possible d'utiliser :
  • soit l'indice de l'élément (l'indice d'un élément peut être connu grâce à la fonction zipChercheFichier).
  • soit le chemin mémorisé de l'élément.

Chemin mémorisé

Le tableau ci-dessous présente les chemins mémorisés dans l'archive en fonction :
  • du chemin d'accès du fichier,
  • de la portion mémorisée du chemin.
Le répertoire en cours est : "C:\Temp".
Fonction zipAjouteFichierLocalisation du fichierzipAucunzipRépertoirezipDisque
zipAjouteFichier("Archi",...
"Fichier.txt")
C:\Temp\Fichier.txtFichier.txtFichier.txtFichier.txt
zipAjouteFichier("Archi",...
"Donnée\Fichier.txt")
C:\Temp\Donnée\Fichier.txtFichier.txtDonnée\Fichier.txtDonnée\Fichier.txt
zipAjouteFichier("Archi",...
"D:\Donnée\Fichier.txt")
D:\Donnée\Fichier.txtFichier.txtDonnée\Fichier.txtD:\Donnée\Fichier.txt

Remarque : Si la constante zipDisque est utilisée :
  • le format WDZ mémorise le chemin complet du fichier (lettre du lecteur comprise).
  • le format ZIP ne mémorise pas la lettre du lecteur.
  • le format 7z mémorise uniquement les répertoires.
AndroidWidget AndroidJava La constante zipDisque est identique à la constante zipRépertoire.

Universal Windows 10 App Le répertoire et le disque ne sont pas mémorisés dans le chemin de l'archive. Seuls le nom du fichier et son extension sont mémorisés.

Windows Mobile Le tableau ci-dessous présente les chemins mémorisés dans l'archive en fonction :
  • du chemin d'accès du fichier,
  • de la portion mémorisée du chemin.
Fonction zipAjouteFichierLocalisation du fichierzipAucunzipRépertoire
zipAjouteFichier("Archi",...
"\Fichier.txt")
\Fichier.txtFichier.txtFichier.txt
zipAjouteFichier("Archi",...
"\Temp\Fichier.txt")
\Temp\Fichier.txtFichier.txtTemp\Fichier.txt
WinDevWebDev - Code ServeurEtats et RequêtesAjaxCode Utilisateur (MCU)

Extraction à partir d'une archive multi-parties sur disquettes

Si les fichiers à extraire sont présents sur différentes disquettes, la disquette correspondante est automatiquement demandée. Pour extraire plusieurs fichiers d'une archive multi-parties, il est conseillé d'extraire les fichiers selon l'ordre de leur indice dans l'archive. Ainsi, les différentes disquettes seront demandées dans l'ordre croissant.
WinDevWinDev MobileEtats et RequêtesWindows MobileCode Utilisateur (MCU)

Jauge

En Windows, pour visualiser la progression de l'extraction et de la décompression des fichiers, branchez un événement sur le message JaugeCompactage (1174).
A la réception de ce message, la variable _EVE.wParam contient le pourcentage du fichier déjà décompressé.

Versions 21 et supérieures
A partir de la version 21, il est possible d'utiliser le paramètre <Gestion de la jauge> pour gérer la progression de l'ajout des fichiers.
Nouveauté 21
A partir de la version 21, il est possible d'utiliser le paramètre <Gestion de la jauge> pour gérer la progression de l'ajout des fichiers.
A partir de la version 21, il est possible d'utiliser le paramètre <Gestion de la jauge> pour gérer la progression de l'ajout des fichiers.

Composantes
WinDevWebDev - Code ServeurEtats et Requêtes wd210zip.dll
Windows Mobile wp210zip.dll
Java wd210java.jar
Linux wd210zip.so
Android wd210android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire