Votre question

[Resolu-VB] Information sur des fichiers

Tags :
  • analyse
  • Programmation
Dernière réponse : dans Programmation
23 Juin 2006 10:31:07

Bonjour,

voilà ce que je souhaiterais faire :

Dans un edit je rentre le chemin d'accès d'un fichier ( ex : C:\...\mes documents\ ), lorsque je clique sur un bouton, celui-ci analyse :
- Le nombre de fichier contenu dans ce dossier dont l'extension est ( ex : .doc , .pdf...)
- La taille de ces extensions

donc en résumé, que ca m'affiche quelque par ( msgbox ,edit , combobox...) il y a 4 fichiers .doc ce qui correspond à 20ko (par exemple).

Mais j'ai pas trop d'idée, par où commencer ?

Merci d'avance !

Autres pages sur : resolu information fichiers

23 Juin 2006 13:35:23

Salut !

Si tu as les 2 objets qui te permettent de naviguer dans les différents dossiers de ton disque, tu peux faire un filtre d'extensions (je sais plus le nom exact, il y a celui avec l'arborescence et celui qui liste les fichiers du répertoire en cours).
Ce qu'il faut voir c'est si on peut utiliser le contenu de l'objet qui liste les fichiers comme une liste et la parcourir avec une boucle, auquel cas tu la parcours avec une boucle qui filtre les extensions.
Utilise la fonction MID(chaine, position, X) : elle te permet d'extraire de la chaine les X caracteres à partir de la position définie (avec ca tu peux récupérer l'extension) et à chaque fois que tu trouves un fichier qui porte l'extension qui t'interesse tu ajoutes sa taille à une variable et tu incrémentes un compteur qui te dit combien de fichiers tu as (par contre je sais pas comment on fait pour trouver la taille d'un fichier :-( ). Y'a aussi la fonction LEN(chaine) qui te donne le nombre de caracteres d'une chaine (comme ca pour avoir l'extension tu fais le resultat de Len - 3 pour avoir la position exacte de l'extension dans le nom du fichier)
23 Juin 2006 14:41:52

bon tout d'abord merci pour cette réponse très complète.Voici où je suis arrivé :

J'arrive à lister tous les fichiers d'un répertoire donné, en utilisant la récursivité ( appeller la même fonction plusieurs fois).J'affiche tout cela dans une textbox.A l'intérieur j'utilise la fonction "FileLen" qui me retourne la longueur en octets d'un fichier.Donc j'obtiens la taille du répertoire.Egalement, le nombre de fichier avec un compteur incrémenté de 1 à chaque tour de boucle.
Maintenant ce que je souhaite c'est :
dans une combobox qu'il m'affiche toutes les extensions, j'y arrive mais il m'ajoute plusieurs fois la même , comment faire pour ne pas les avoir en double , triple...?
Et lorsque je clique sur une extension qu'il m'affiche le nombre de fichiers et la taille totale.
J'utilise Right( pathname, 3) pour obtenir les 3 dernière lettre du fichier.

merci
Contenus similaires
23 Juin 2006 17:32:25

Alors pour pas avoir les extensions en double, triple ... je pense qu'il vaut mieux stocker les extensions dans un tableau et à chaque fois que tu veux en ajouter une tu regardes si elle n'y est pas deja et ensuite tu affiches ton tableau dans la combobox.
26 Juin 2006 10:57:06

Oui je vois la méthode, mais j'avais essayé de faire ceci : comme j'utilise une boucle qui me liste toutes les extensions, à l'intérieur je mettais :

mavariable = Right(fichier, 3)
If macombo.Text <> mavariable Then 'si l'extension existe pas, je l'ajoute
macombo.AddItem (mavariable)
End If

Mais la première valeur de la combo est : " " donc il ajoute quand même.
Il faudrait que je puisse comparer avec ce qu'il y a dans la combo.Comment faire ?

Merci.
26 Juin 2006 11:46:03

Salut à toi. D'aprés ce que tu voulais faire avec les extensions, je te fais une petite implémentation en VB6 en utilisant des fonctions que j'ai crée de tokens. Je te laisse regarder le code ici
26 Juin 2006 14:06:05

Merci tebonb pour ton aide.

Je garde ton appli car elle est très interessante et va me servir après :-D
J'ai réussi à m'en sortir avec plusieurs sources.Je parviens à éliminer les doublons.

Merci à ceux qui se sont penchés sur mon problème !
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS