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 :

Visualiser une archive ZIP comme le ferait WinRAR our l'Explorateur de fichier


Sujet :

WinDev

  1. #1
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    417
    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 : 417
    Points : 178
    Points
    178
    Par défaut Visualiser une archive ZIP comme le ferait WinRAR our l'Explorateur de fichier
    Bonjour,
    Je crée une archive ZIP par zipAjouteRépertoire

    Je la visualise ensuite par zipInfoFichier (Je met les résultats dans une table)
    Nom : zipInfoFichier.jpg
Affichages : 209
Taille : 137,4 Ko

    Je peux aussi la visualiser par zipListeFichier
    Nom : zipListeFichier.jpg
Affichages : 178
Taille : 135,1 Ko

    Mais j'aimerai la visualiser à la manière de WinRAR, ou de l'Explorateur de Fichier
    Nom : AvecWinRAR.jpg
Affichages : 184
Taille : 111,3 Ko

    Est-ce possible ? Si oui comment faire ?
    Cordialement
    SC

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 804
    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 804
    Points : 5 251
    Points
    5 251
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    A vue de nez, il faut passer par une table hiérarchique en remplaçant les "/" par des TAB pour le ArbreAjoute (colonne principale)
    Les autres colonnes tu devrais avoir les infos via zipInfoFichier
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    417
    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 : 417
    Points : 178
    Points
    178
    Par défaut
    Bonjour,
    Je me demande si l'utilisation du champs Arbre ne pourrai pas convenir
    Cdlt
    SC

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 200
    Points : 9 187
    Points
    9 187
    Par défaut
    Bonjour,

    Voroltinquo t'a donné la bonne solution. C'est que je ferais également.

    Pas bête d'avoir pensé au champ arbre, tu peux l'utiliser mais tu ne pourras avoir que l'équivalent de ta première colonne. Si tu veux les autres infos (taille, date, etc), tu devras les concaténer à cette "première colonne".
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Pas bête d'avoir pensé au champ arbre, tu peux l'utiliser mais tu ne pourras avoir que l'équivalent de ta première colonne. Si tu veux les autres infos (taille, date, etc), tu devras les concaténer à cette "première colonne".
    Dans ce cs pour quoi ne pas utiliser une table hiérarchique, tu conserves les colonnes et l'avantage de l'arbre...
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  6. #6
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    417
    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 : 417
    Points : 178
    Points
    178
    Par défaut
    Ha, je ne connais pas la table hiérarchique, je vais regarder cela Merci

  7. #7
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 804
    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 804
    Points : 5 251
    Points
    5 251
    Billets dans le blog
    1
    Par défaut
    Une ébauche de code pour débuter :
    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
    29
    30
    31
    32
    33
    34
    35
    36
     
    PROCÉDURE AfficherArbo(saCheminArchive est chaîne)
    saListeFichier est une chaîne	//Liste des fichiers de l'archive
    saCheminFichier est une chaîne	//Chemin d'un ficher de l'archive
    saBranche est chaîne			//Nom de la branche en cours
    saNoeud est une chaîne			//Nom du nœud de la branche en cours
    nNoNoeud est entier				//Ligne du nœud saNoeud
    saFeuille est une chaîne		//Nom de la feuille
    nLigneFeuille est entier		//Ligne de la feuille
    saInfo est chaîne				//Info sur le fichier
     
     
    SI zipOuvre(zipMonArchive,saCheminArchive)=0 ALORS
    	saListeFichier=zipListeFichier(zipMonArchive)
    	POUR TOUTE CHAÎNE saCheminFichier DE saListeFichier SÉPARÉE PAR RC
    		saNoeud=""
    		saFeuille=ExtraitChaîne(saCheminFichier,1,"\",DepuisFin)
    		saInfo=zipInfoFichier(zipMonArchive,saCheminFichier)
    		POUR TOUTE CHAÎNE saBranche DE saCheminFichier SÉPARÉE PAR "\"
    			nNoNoeud=TableCherche(COL_Nom,saNoeud,rechercheDéfaut)	//On cherche le nœud et on récupère son no de ligne
    			SI TableCherche(COL_Nom,saBranche,rechercheDéfaut)=-1 ALORS	//La branche n'existe pas encore, on peut l'ajouter
    				SI saBranche<>saFeuille ALORS
    					TableAjouteFils(TABLEH_Zip,nNoNoeud,saBranche,"","","Répertoire")
    				SINON
    					//On ajoute les infos du fichier
    					nLigneFeuille=TableAjouteFils(TABLEH_Zip,nNoNoeud,saBranche,ExtraitChaîne(saInfo,2,TAB),ExtraitChaîne(saInfo,3,TAB),"fichier")						
    					//On cache l'image de répertoire pour la feuille
    					TABLEH_Zip[nLigneFeuille]..ImageDéroulée=Null
    					TABLEH_Zip[nLigneFeuille]..ImageEnroulée=Null
    				FIN
     
    			FIN
    			saNoeud=saBranche	//La branche devient nœud
    		FIN
    	FIN
    FIN
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  8. #8
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    417
    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 : 417
    Points : 178
    Points
    178
    Par défaut
    Bonjour,
    Merci, je vais essayer d'exploiter ...
    Cordialement
    SC

  9. #9
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    417
    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 : 417
    Points : 178
    Points
    178
    Par défaut
    Un grand merci, c'est exactement ce que je voulais ...
    Il reste à peaufiner, mais l'essentiel est fait
    Nom : Visualisation.jpg
Affichages : 133
Taille : 127,3 Ko

    Mais du coup je constate vraiment que j'ai encore bien des lacunes en Windev !!! Je n'aurait jamais trouvé cela moi-même !!!

    Cordialement
    SC

  10. #10
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 804
    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 804
    Points : 5 251
    Points
    5 251
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par scn68100 Voir le message
    Il reste à peaufiner
    2 petites astuces au passage :
    Le type associé à une extension est contenu dans la BDR. C'est du brut dans la plupart des cas, du style exefile, icofile. Mas parfois, c'est un peu plus détaillé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    saTypeFichier=RegistreLit(ChaîneConstruit("HKEY_CLASSES_ROOT\%1",saExtension),"")
    On peut parfois avoir le type général (e.g. Image, Audio) en lisant la valeur (si elle existe) de PerceivedType

    Pour avoir un récapitulatif des tailles d'un répertoire, la procédure suivante devrait faire l'affaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    PROCÉDURE ModifierTailleParent(nNoEnfant est entier,nNoFeuille est entier)
    nNoParent est un entier
     
    nNoParent=TableRécupèreParent(TABLEH_Zip,nNoEnfant)
    SI nNoParent=0 ALORS	//On est à la racine
    	RETOUR
    SINON	//On ajoute la taille de la feuille et on répercute cela au niveau du parent de niveau n+1
    	COL_Compressé[nNoParent]+=COL_Compressé[nNoFeuille]
    	COL_Taille[nNoParent]+=COL_Taille[nNoFeuille]
    	ModifierTailleParent(nNoParent,nNoFeuille)
    FIN
    Lors de l'affichage d'une ligne il suffit d'appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ModifierTailleParent(IndiceEnCours,IndiceEnCours)
    Citation Envoyé par scn68100 Voir le message
    Mais du coup je constate vraiment que j'ai encore bien des lacunes en Windev !!!
    Si ça peut te réconforter, après une quinzaine années de pratique j'en apprend encore.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  11. #11
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    417
    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 : 417
    Points : 178
    Points
    178
    Par défaut
    Bonjour,
    Encore une fois merci
    Cordialement
    SC

  12. #12
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 052
    Points : 9 387
    Points
    9 387
    Par défaut
    Mais du coup je constate vraiment que j'ai encore bien des lacunes en Windev !!! Je n'aurait jamais trouvé cela moi-même !!!
    Une bonne technique, c'est de lire en diagonale l'aide.
    Par exemple cette page donne la liste des types de champs qu'on peut mettre une fenêtre. Tu regardes juste les noms des champs. Si 'Table Hierarchique', ça ne te parle pas, alors tu cliques sur le lien... pour voir à quoi ça peut ressembler.

    Inutile d'apprendre comment ça marche, tu mémorises juste qu'il y a un outil quelque part qui ressemble à ça.

    Tu peux aussi aller dans Windev, tu crées une fenêtre vierge, et tu insères des champs au hasard, juste pour voir à quoi ils ressemblent. Si tu as une mémoire plutôt visuelle, c'est peut être mieux.

    20 minutes de temps en temps, ça suffit.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  13. #13
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    417
    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 : 417
    Points : 178
    Points
    178
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    COL_Compressé[nNoParent]+=COL_Compressé[nNoFeuille]
    COL_Taille[nNoParent]+=COL_Taille[nNoFeuille]
    Bonjour,
    Je n'ai fort probablement rien compris, mais COL_Compressé et COL_Taille sont deux colonnes de la table hiérarchique
    Comment les renseigne-t-on ?
    Cordialement
    SC

  14. #14
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 804
    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 804
    Points : 5 251
    Points
    5 251
    Billets dans le blog
    1
    Par défaut
    Elle sont ajoutée lors de l'ajout de la feuille via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nLigneFeuille=TableAjouteFils(TABLEH_Zip,nNoNoeud,saBranche,ExtraitChaîne(saInfo,2,TAB),ExtraitChaîne(saInfo,3,TAB),"fichier")
    (ligne 26 dans le code)
    saInfo est le résultat de zipInfoFichier de la forme
    <Chemin et nom du fichier> + TAB + <Taille originale du fichier> + TAB +
    <Taille compressée du fichier> + TAB +
    <Date et heure de création du fichier (AAAAMMJJHHmmSS)> + TAB +
    <Date et heure de modification du fichier (AAAAMMJJHHmmSS)> + TAB +
    <Date et heure d'accès du fichier (AAAAMMJJHHmmSS)> + TAB +
    <Attributs du fichier> + TAB + <Mode de cryptage du fichier>
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  15. #15
    Membre habitué
    Homme Profil pro
    Informaticien en retraite ...
    Inscrit en
    Janvier 2008
    Messages
    417
    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 : 417
    Points : 178
    Points
    178
    Par défaut
    Bonjour,
    Merci, je suis content, car j'avais trouvé la réponse ...
    Il y un bug dans l'affichage
    Je vais essayer de résoudre avant de demander de l'aide
    Cordialement
    SC

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Manipuler une archive zip ou rar
    Par will97 dans le forum Général Python
    Réponses: 1
    Dernier message: 29/09/2007, 08h41
  2. Créer une archive zip
    Par shaun_the_sheep dans le forum Administration système
    Réponses: 3
    Dernier message: 31/03/2007, 22h19
  3. [Zip] Extraire une archive zip sur le serveur
    Par troxsa dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/03/2007, 11h15
  4. [Zip] Décompresser une archive zip ou .gz
    Par Invité(e) dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/02/2007, 07h33
  5. [C#] [WinForms] Lecture d'un fichier dans une archive ZIP
    Par aegypius dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/12/2004, 17h15

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