IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Affichage fichier ZIP (zipInfoFichier)


Sujet :

WinDev

  1. #1
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Informaticien en retraite ...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 418
    Points : 179
    Points
    179
    Par défaut Affichage fichier ZIP (zipInfoFichier)
    Bonjour,
    M'inspirant de l'exemple, je visualise le fichier ZIP dans une table
    Nom : VisuZIP.jpg
Affichages : 120
Taille : 198,9 Ko

    Serait il possible de faire un affichage comme le fait WinRAR ?
    Avoir un distinguo entre la sauvegarde du répertoire et la sauvegarde de fichier
    Nom : VisuWinRAR.jpg
Affichages : 119
Taille : 98,4 Ko

    Cordialement
    SC

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Tu peux éventuellement utiliser un champ table hiérarchique.
    L'arbre sera rempli après avoir remplacé "\" par "TAB" fonction Remplace. L'indice dans l'arbre sera celui du fichier dans l'archive.

    Ajout.
    Je vient de bricoler une ébauche de collection de procédures qui pourra t'être utile

    Initialisation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //L'utilistation d'un tableau de chaines regroupant les différents nœuds évite une boucle TableListeFils ou TableRécupèreFils
    gtabArbo est tableau de chaine
    Procédure principale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    // Résumé : Ajoute une branche à une table hiérarchique
    // Syntaxe :
    //TableHAjouteBranche (<chTableHierachique> est champ, <sRacine> est chaîne, <sNomBranche> est chaîne, <sSéparateur> est chaîne [, ...])
    //
    // Paramètres :
    //	chTableHierachique (champ) : Nom de la table hiérarchique
    //	sRacine (chaîne ANSI) : Nom de la racine
    //	sNomBranche (chaîne ANSI) : Nom de la branche
    //	sSéparateur (chaîne ANSI) : Séparateur utilisé dans le nom de la branche
    // 	<*> : Valeurs éventuelle des autres colonnes
     
    PROCÉDURE TableHAjouteBranche(chTableHierachique est Champ,sRacine est chaîne,sNombranche est une chaîne,sSéparateur est une chaîne,*)
    chTableHierachique..AffichageActif=Faux	//Désactive le ré affichage lors d'un ajout pour optimiser le traitement
    TableHAfficheArbo(chTableHierachique,sRacine,sNombranche,sSéparateur)
    TableHAfficheFeuille(chTableHierachique,sRacine,sNombranche,sSéparateur,MesParamètres[5 À])
    TableEnrouleTout(chTableHierachique)
    chTableHierachique..AffichageActif=Vrai	//Retour à la normale
    Procédures annexes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    // Résumé : Affiche les nœuds d'une branche complète dans une table hiérarchique
    // Syntaxe :
    //TableHAfficheArbo (<chTableHierachique> est champ, <sRacine> est chaîne, <sNombranche> est chaîne [, <sSéparateur> est chaîne])
    //
    // Paramètres :
    //	chTableHierachique (champ) : Nom du champ table hiérarchique
    //	sRacine (chaîne ANSI) : Valeur de la racine
    //	sNombranche (chaîne ANSI) : Valeur de la branche que l'on souhaite ajouter à la racine
    //	sSéparateur (chaîne ANSI - valeur par défaut="<RC>") : Séparateur des nœuds utilisé dans sNomBranche
     
    PROCÉDURE PRIVÉE TableHAfficheArbo(chTableHierachique est Champ,sRacine est chaîne,sNomBranche est chaîne,sSéparateur est chaîne=TAB)
    nNbNoeuds est entier
    sPère est chaîne
    sFils est chaîne
    sSousBranche est chaîne
     
    nNbNoeuds=ChaîneOccurrence(sNomBranche,sSéparateur)	//Le nombre de noeuds correspond au nombre de séparateur, la dernière valeur est la feuille
    sPère=sRacine
    POUR nNoBranche=1 _À_ nNbNoeuds
    	sFils=ExtraitChaîne(sNombranche,nNoBranche,sSéparateur)
    	sSousBranche=ChaîneConstruit("%1%2%3",sPère,TAB,sFils) //On "développe" la branche
    	SI TableauCherche(gtabArbo,tcLinéairePremier,sSousBranche)=-1 ALORS //Le noeud n'existe pas, il faut l'ajouter
    		TableAjouteFils(chTableHierachique,sPère,sFils)
    		//On ajoute le chemin du noeud dans le tableau pour pouvoir en contrôler l'existence ultérieurement.
    		TableauAjoute(gtabArbo,sSousBranche)
    	FIN
    	sPère=sSousBranche
    FIN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // Résumé : Ajoute la feuille à l'arborescence
    // Syntaxe :
    //TableHAfficheFeuille (<chTableHierachique> est champ, <sRacine> est chaîne, <sNomBranche> est chaîne [, <sSéparateur> est chaîne [, ...]])
    //
    // Paramètres :
    //	chTableHierachique (champ) : Nom de la table hiérarchique
    //	sRacine (chaîne ANSI) : Valeur de la racine de l'arborescence
    //	sNomBranche (chaîne ANSI) : Chemin complet de la branche
    //	sSéparateur (chaîne ANSI - valeur par défaut="<TAB>") : Séparateur dans sNomBranche
    // 	<*> : Valeurs éventuelles des autres colonnes
    // Valeur de retour :
    // 	Aucune
    //
     
    PROCÉDURE PRIVÉE TableHAfficheFeuille(chTableHierachique est Champ,sRacine est chaîne,sNomBranche est chaîne,sSéparateur est chaîne =TAB,*)
    sFils est chaîne
    sPère est une chaîne
    nLigneFeuille est un entier
     
    sFils=ExtraitChaîne(sNomBranche,1,sSéparateur,DepuisFin)
    sPère=Gauche(sNomBranche,Taille(sNomBranche)-(Taille(sFils)+1))
    SI sSéparateur<>TAB ALORS	//On formate sPère
    	sPère=Remplace(sPère,sSéparateur,TAB)
    FIN
    sPère=ChaîneConstruit("%1%2%3",sRacine,TAB,sPère)
    nLigneFeuille=TableAjouteFils(chTableHierachique,sPère,sFils,MesParamètres[5 À])	//Au passage, on récupère le n° de la ligne
    chTableHierachique[nLigneFeuille]..ImageEnroulée=Null	//On efface l'icône
    Je te laisse ajouter les CAS ERREUR et CAS EXCEPTION
    Il va de soit qu'il est préférable d'utiliser des fonctions plutôt que des procédures... Mais ce n'est qu'une ébauche
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

Discussions similaires

  1. Problème d'affichage de caractères fichier zip
    Par menina_raquel dans le forum Ruby
    Réponses: 4
    Dernier message: 07/12/2010, 11h15
  2. [Zip] Créer un fichier zip
    Par Mykeul dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 07/03/2005, 16h38
  3. Executer un fichier zip
    Par Sébastien THEVOT dans le forum C++Builder
    Réponses: 15
    Dernier message: 11/10/2004, 10h35
  4. Extraction d'un fichier zip
    Par dyason dans le forum Général Python
    Réponses: 2
    Dernier message: 13/07/2004, 12h35
  5. [Fichier Zip] Comment zipper un fichier
    Par caro_a dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 27/05/2004, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo