begin process at 2012 02 17 05:39:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > YOMMEXPLORER : OUBLIEZ LE DIRLISTBOX ET LE FILELISTBOX

YOMMEXPLORER : OUBLIEZ LE DIRLISTBOX ET LE FILELISTBOX


 Information sur la source

Note :
9,27 / 10 - par 15 personnes
9,27 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Classé sous :explorateur, fichiers, usercontrol Niveau :Expert Date de création :08/07/2005 Date de mise à jour :09/07/2005 13:21:53 Vu / téléchargé :9 211 / 1 721

Auteur : yomm

Ecrire un message privé
Site perso
Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
et bien voilà le résultat de nombreuses heures de dev !!!
le principe :
transformer un treeview en arborescence de répertoire , un listview en explorateur de fichier, le tout de manière interractive et en 2 lignes de code pour l'utilisateur !!! si, si je vous jure ;-)

Pour les explications des fonctionnalités alors :
le TVExplorer :
- gestion des icones réels des répertoires (même l'icone du CD-ROM qui change, la main sur les répertoires partagés, la flèche des raccourcis ...)
- choix du niveau de la racine de l'arborescence (Bureau, Poste de Travail...)
- choix d'un répertoire à ouvrir (ex : c:\windows)
- gestion du menu contextuel
- liaison avec une listview pour navigation synchronisée (ne pas confondre avec natation synchronisée!!!)

les 4 derniers paramètres sont modifiables au cours de l'execution.

le LVExplorer:
- choix du mode d'affichage (grands icones, liste...)
- choix du répertoire des fichiers
- choix de filtre sur les fichiers à afficher, le caractère de séparation étant le pipe = chr(124) (ex : "*.jpg|*.bmp" )
- choix d'inclure ou non les répertoires avec les fichiers
- utilisation du menu contextuel
  * cette option déclenche l'utilisation d'un menu popup sur les titres des colonnes en mode lvwReport(détail) pour afficher/masquer des colonnes
  * cette option déclenche l'utilisation d'un menu popup sur la zone vide du listview pour afficher les menus "Affichage", "Réorganiser les icones Par"
  * cette option déclenche l'utilisation du double-click ou de la touche [ENTER] sur un fichier pour l'executer
  * cette option déclenche l'utilisation du double-click sur un répertoire du listview pour "rentrer" dans le répertoire SI le listview est lié à un treeview
  * cette option déclenche l'utilisation de la touche [retour] pour revenir au dossier parent si le listview est lié à un treeview
- utilisation du click sur une colonne en mode lvwReport (détail) pour réorganiser les fichiers

tous les paramètres sont modifiables en cours d'execution

Infos sur les + de cette dll pour ceux qui ne seraient pas encore convaincus:
- et bien déjà c'est une dll !!!!!!! seule 2 déclarations et 2 lignes de code vous permettent d'obtenir le résultat du screenshot
- contrairement à l'ancien DirExplorer ou  le FileExplorer, vous pouvez inclure autant de Treeview ou de Listview que vous désirez sur vos fenetre...Pour une deuxième fenetre vous redéclarer vos 2 variables et remettez vos 2 lignes de codes.
- pour le LVExplorer, le nom des colonnes, la largeur, la justification etc...en mode lvwReport (détail) est fonction du répertoire dans lequel vous vous trouvez...de plus , le nom des colonnes est directement pris du fichier shell32.dll (ainsi que les termes "grands icones", "liste" etc...)
- pour la flèche affichée lors de tri sur une colonne en mode lvwReport , elle est également prise du fichier shell32.dll donc l'image n'est pas fixée dans la dll


ça suffit la je crois, vous êtes convaincus. non??? alors jetez un coup d'oeil au code nécessaire pour l'utilisation de cette dll!!!

Source

  • Option Explicit
  • 'déclaration pour la gestion de Listviews et des Treeviews
  • Dim LVSub As New LVExplorer
  • Dim TVSub As New TVExplorer
  • Private Sub Form_Load()
  • 'ajout d'un listview à traiter
  • Call LVSub.Add(ListView1)
  • 'ajout d'un treeview à traiter et liaison avec le listview
  • 'IMPORTANT : pour lier un listview à un treeview il faut d'abord l'avoir ajouter dans un LVExplorer !!!!!
  • Call TVSub.Add(TreeView1, ListView1)
  • End Sub
Option Explicit

'déclaration pour la gestion de Listviews et des Treeviews
Dim LVSub As New LVExplorer
Dim TVSub As New TVExplorer

Private Sub Form_Load()
    'ajout d'un listview à traiter
    Call LVSub.Add(ListView1)
    'ajout d'un treeview à traiter et liaison avec le listview
    'IMPORTANT : pour lier un listview à un treeview il faut d'abord l'avoir ajouter dans un LVExplorer !!!!!
    Call TVSub.Add(TreeView1, ListView1)
End Sub

 Conclusion

Tout d'abord :
merci à Renfield pour son source à l'origine de mon travail

Ensuite, infos complémentaire :
pour utiliser cette dll , vous devez ajouter à votre projet :
- la référence à la dll
- les composants "Microsoft Windows Common Controls 5.0 (SP2)"


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

09 juillet 2005 13:18:07 :
Problème avec la dll donc en attendant voilà le projet original avant le passage en dll
09 juillet 2005 13:21:53 :
update pour la référence du fichier tlb

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) YOMMEXPLORER.NET EXPLORER / EXPLORATEUR DE DOSSIERS RÉPERTOI...
Source avec Zip Source avec une capture Source .NET (Dotnet) DIREXPLORER EXPLORATEUR / EXPLORER DE DOSSIERS MULTIFONCTION...
Source avec Zip Source avec une capture YOMMEXPLOREROCX POUR CE QUI VEULENT UN VRAI EXPLORATEUR WIND...
Source avec Zip Source avec une capture POUR CEUX QUI PRENNENT LES LISTVIEW POUR DES LISTBOX
Source avec Zip Source avec une capture TVEXPLORER : ARBORESCENCE DES RÉPERTOIRES LE DIREXPLORER REV...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture RECHERCHE & SAUVEGARDE DES FICHIERS PAR LEURS EXTENSIONS par hackoo
Source avec Zip Source avec une capture FILE2COMPARE: COMPARAISON DE DEUX FICHIERS LIGNE PAR LIGNE par hackoo
Source avec Zip SUIVI SCORES ET CLASSEMENTS SCRABBLE par mimiZanzan
Source avec Zip Source avec une capture Source .NET (Dotnet) LISTVIEW (EXPLORER DOSSIERS & FICHIERS) VB2005 par sadok_sa
Source avec Zip Source avec une capture FILEVIEW ==> USERCONTROL POUR EXPLORER FICHIERS ET/OU DOSSIE... par violent_ken

Commentaires et avis

Commentaire de yomm le 08/07/2005 21:25:18

ha oui , j'oubliais...les valeurs se récupèrent par les propriétés Text ou Tag mais aussi via les LVExplorer et TVExplorer en spécifiant le controle.
ex : TVExplorer.TVPath(TreeView1) renvoie le répertoire actuel

autre précision:
lorsqu'un paramètre est de type Object il sagit soit d'un Treeview (si le param-tre est TV) soit d'un Listview (si le paramètre est LV)

voilà , à vous de jouer...

Commentaire de asem67 le 09/07/2005 00:12:28

Salut yom
j'ai un ptit probleme au form_load

erreur d'execution : 13
Type incompatible

*************
Private Sub Form_Load()
    Call LVSub.Add(ListView1)
>> ici >>   Call TVSub.Add(TreeView1, ListView1)
>> ici >>   Call LVSub.Add(ListView2, lvwIcon, , "*.exe", False)
>> & ici >>   Call TVSub.Add(TreeView2, ListView2, PosteDeTravail, Environ("WINDIR"))
End Sub
*********************

merci a+

Commentaire de EBArtSoft le 09/07/2005 11:55:46 administrateur CS

"2 lignes" d'accord mais 2 lignes qui ne marche plus une fois compilé...

dommage :)

Commentaire de yomm le 09/07/2005 12:13:35

? mince je regarde ça de suite
!!!!!!

désolé!

Commentaire de yomm le 09/07/2005 12:18:45

euh moi j'ai aucun pb........

- pas d'erreur 13
- pas d'erreur une fois compilé !!!

je sais pas quoi vous répondre....

Commentaire de yomm le 09/07/2005 13:12:36

ha oui en effet je viens de voir le problème......

je vais voir ce qu'il se passe...

Commentaire de yomm le 09/07/2005 13:20:22

bon j'ai updaté le projet d'origine qui m'a permi de faire la dll (qui elle semble ne pas marché et je m'en excuse j'avais pas testé pensant que ça marcherait)

Donc voilà, je m'excuse...pour ce "petit" problème voilà un projet qui lui, une fois compilé semble marché correctement...

Commentaire de yomm le 09/07/2005 16:53:22

bon et bien j'ai poussé un peu la recherche sur le problème...

le problème vient du subclassing qui a pas l'air de se faire normalement si l'on passe par la dll.......

alors je vous propose d'utiliser les modules et les class présentent dans le projet que j'ai updaté...

comme ça , ça marche très bien ...si quelqu'un à une solution pour transformer ce projet en dll je suis preneur car ce serait tout de même plus pratique...

bon désolé pour les quelques problèmes...j'espère que cette solution vous satisfaira tout de même...

@+ et bon dev

Commentaire de EBArtSoft le 09/07/2005 19:05:52 administrateur CS

C'est un tres beau projet et c'est ce que je prefere dans le vb on ce casse le cul a faire des trucs puis on tombe sur le probleme inatendu  qui fouare tout (souvent la vm est en cause)! Si Afyn passe par la il comprendra ;)

Courage et à bientôt

Commentaire de max12 le 09/07/2005 19:11:30 administrateur CS

Ça c'est de la description comme je les aime. T'es à prendre en exemple toi ! :)

Commentaire de DARKSIDIOUS le 09/07/2005 19:49:21 administrateur CS

C'est déjà un peu plus rapide que l'ancienne version.

Par contre, j'ai un bug assez gênant : il arrive de temps en temps qu'il plante vb : souvent lorsque j'essaie d'explorer mon disque principal C: : erreur de mémoire, la mémoire ne peux pas être read, le fameux message de windows qui fait tout fermer !
Ce le fait environ 1 fois sur 3 lorsque je double clique sur l'icône de mon disque C dans le mode treeview ! (ca ne le fait que dans le premier, celui qui a sa base au bureau, et non sur celui qui a sa base sur le poste de travail !).

Idem : le double click sur un dossier dans le mode ListView cette fois ne marche pas toujours, disont une fois sur 10, lorsqu'on double-clique sur un dossier qui ne possède aucun fichier, il refuse de l'ouvrir.

Sinon, au niveau du code : tu utilise des variables publiques dans tes classes. Bon c'est pas trop grave, mais il est préfèrable d'utiliser des property Get/Let/Set pour au moins tester les valeurs qu'on lui envoie, au cas où...

Sinon, c'est très bien !

DarK Sidious

Commentaire de MasterHack le 10/07/2005 06:44:18

j'aime bien bravo ;)

Commentaire de asem67 le 10/07/2005 13:44:23

ça fonctionne avec les mod ...etc

mais ce serai mieux avec la dll
a+

Commentaire de yomm le 11/07/2005 09:25:51

merci pour tout vos commentaires....

>>EB
si tu affectionnes ce genre de projet, peut etre pourrais tu te pencher sur la question du passage en dll ;-) ...Je vais m'y mettre mais si l'on est plusieurs on trouvera la solution plus vite...

>>DKS
pour l'erreur de mémoire ça doit etre un truc à la con...mais malheureusement assez dur à trouver vu les conséquences que cela génère....je vais voir si j'arrive à reproduire...
pour les répertoires sans fichier je vais tester...j'ai pas testé tous les cas possible, j'en ai fait pas mal mais il est possible que certains problèmes n'aient pas été testés...

>>MAX12
content que cela te fasse plaisir...et t'as vu l'es commentaires du source ? ;-)

>>MasterHack
merci

>>ASEM67
je suis d'accord que tout cela serait mieux en dll.....c'est pour cela que je demande la contribution d'EB afin d'avancer plus vite...en effet cela éviterai d'avoir tous les modules et les class à ajouter à son projet....

Voilà:
content que cela vous plaise malgré le contre-temps de la dll...et surtout qu'en dll cela ne marche pas....

Commentaire de ScSami le 14/07/2005 02:28:56

Moi je dis... bravo, comme d'hab quoi!
Si Renfield est Ze BOSS en la matière (et heureusement pour nous pas qu'en celle là!!!), Yomm a su sublimer son travail et j'espère qu'EB voudra bien mettre cette cerise en or sur ce gâteau pur sucre histoire de conclure en beauté !

Bon, coté code, heu... je me prononce pas encore!!! Vais allez dans mon ermitage disons, 5 ou 10 ans, histoire de piger au moins le 10ème du code pi après, quand on en sera à VB-512-3D.Org, j'vous dirait ça d'accord ;-)

Sinon EB, tu nous donnes l'eau à la bouche avec ton joli cafard mais on aimerait en savoir plus, voir sa couleur entre autre (style bleue-lien par exemple ;-) !!!

Bon, pour me faire pardonner ma médiocrité en matière de prog (face à toutes ces "brutes" que sont Yomm, EB, Renfield, ...), je ne peux que partager avec vous le peu de mon savoir... En effet, saviez-vous que, selon le dico français (qui n'est sans doute pas la meilleur référence en la matière lol ;-))), si le mot "bug" est bien masculin, le mot "bogue" est quant à lui féminin !!! Si si !!! Reste à savoir quel sex attribuer à "bugue" lol


Sinon Yomm, après un tel travail, que vas-tu bien pouvoir nous offrir de mieux (des projets???) ???

Enjoy et bonne continuation (ne nous abandonne pas, nous ne sommes que des moutons qui avons besoin de bergers comme toi...)

Commentaire de yomm le 14/07/2005 12:34:19

merci pour ce commentaire , je sais pas si me tête et mes chevilles vont tenir le "cou" (coup) ... ;-)

Je vais plancher également sur le problème de la dll....mais je n'aurai pas énormément de temps d'ici le mois de septembre...

bon dev @ tous

Commentaire de Zlub le 20/07/2005 07:49:34

yes j'aime bien mais ça ramme un peu ...
je regarderais ton source plus en détail un peu plus tard

Commentaire de Seth77 le 28/07/2005 21:48:45

BRAVO !!
Vraiment pointu, mais je mis perd un peu !
c pour cela que j ai besoin de ton aide .... j aimerais juste recupere la partie pour afficher le menu contextuel d un type de fichier ... si tu px m aider ..merci d avance

Commentaire de ScSami le 12/08/2005 17:42:57

C'est vrai que ce qui manque un peu c'est, justement, de "diviser" le code en plusieurs "Modules" (ou ActiveX, ce serait mieux) afin qu'on s'y retrouve un peu mieux! Car c'est clair, les débutants (et même les autres) galèrent un peu pour s'y retrouver!

Commentaire de yomm le 10/09/2005 12:06:53

Tout d'abord je vous annonce la nouvelle version du YommExplorer , le YommExplorerOCX. le fonctionnement est le même mais passe par un ocx et les pb de compil semblent etre résolu de cette manière donc voilà vous pouvez trouvez un controle tout beau tout neuf et tout compilé ici :
http://www.vbfrance.com/code.aspx?ID=33733

Sinon je vais essayé de répondre au maximum de remarques qui avaient été faites ....

>>EB
- vraissenblablement maintenant les 2 lignes de code fonctionnent une fois compilées!!!

>>DKS
- pour le pb de ton lecteur C moi j'ai jamais de pb de ce genre donc j'aurai du mal à débugguer cela...
- pour le pb du dbl-click qui foire une fois sur 10 j'ai jamais rencontré le pb non plus mais attention cele peut tout simplement etre qu'il est en train de loader les sous répertoires et fichiers... genre si tu dbl-click sur le rep "windows" ou "system32" il y a évidemment un délai avant l'affichage du résultat..maintenant si c'est lorsque tu dbl-click sur un fichier et bien alors il faut vraiment clicker sur le nom du fichier...
- pour les variables public dans les class, c'est généralement parce que ceux sont de Objet Type un type qui va etre ajour à une collection...moi je fonctionne comme ça (avec des variables plublic) si je n'ai pas à retraiter les valeur avant de les ajouter , maintenat c'est chacun son truc non?

>>ASEM67
- bon voilà , c'est pas une dll que je propose au final mais un ocx , le résultat n'étant pas si différent mais maintenant au moins il n'y a plus à tout inclure dans le projet ce qui sera, je le comprends nettement plus simple d'utilisation...petit rappel du nouveau projet :
http://www.vbfrance.com/code.aspx?ID=33733

>>Seth77
- je pense que tu trouveras des infos sur l'utilisation du menu contextuel dans un autre context que celui là et nettement plus facil à utiliser pour tes besoins car dans ce projet l'utilisation du menu contextuel dépend de beaucoup d'autres choses...

>>ScSami
- j'ai essayé d'organiser le plus possible mais il y a tellement de choses que j'avoue qu'à la fin il faut vraiment ce pencher sur le code pour savoir où trouver la fonction que l'on cherche. Mais tu remarqueras que c'est généralement trié par type genre "fonctions de treeview", "fonctions de listview" , "fonctions system" etc....
- pour l'ActiveX et bien voilà, c'est un ocx alors encore plus heureux ;-)

Voilà, je pense avoir fait le tour....
Je vous invite donc tous à tester la nouvelle version en ocx!

et encore une fois : don dev @ tous !!!

Commentaire de mortalino le 02/07/2006 23:42:24

Salut Yomm !

Ben en fait j'étais sur l'extracteur d'icones de DarkSidious quand j'ai vu ton commentaire alors je suis passé par là !
Ca m'a l'air très très interressant... par contre je ne peux tester ceci de suite. Je repasse demain pour un 'vrai commentaire' sur ta source.  ;-)

++
mortalino

Commentaire de yomm le 02/06/2007 16:20:25

Salut,

pour ceux qui avaient aimé cela, venez voir ça :
http://www.vbfrance.com/code.aspx?ID=42960

le DirExplorer et le FileExplorer dans un YommExplorer ;-) le tout pour .Net

@+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Intégration dans Explorateur de fichiers [ par devman ] Bonjour,Je suis en train de créer un petit outil permettant de manipuler les dates de fichiers ou dossiers.Je voudrais l'intégrer dans l'explorateur d UpLoad Download de fichiers [ par wersand ] Bonjour à tous ! Avez-vous un exemple ASP qui fait de l'Upload et du DownLoad de fichiers sélectionnés à partir de l'explorateur de fichiers Windows ? Explorateur [ par Half85 ] Voilà, je suis noob en java et j'ai déjà utilisé le code de je sais plus qui pour afficher dans une frame la partie gauche de l'explorateur de windows Détection de plusieur fichiers depuis l'explorateur ?????? [ par nawakator ] Voila depuis un bout de temps je chercher à utiliser l'explorateur windows comme point d'entré de mon application je m'explique : j'ai rajou Explorateur de fichiers [ par viking85 ] Bonjour.Dans une application access, je dois récupérer le nom et l'url d'un fichier. Pour cela, je dois le rechercher sur le disque. En JAVA, il y a l ouvrir l'explorateur [ par dodineau ] Bonjour,je voudrais savoir quelle commande utiliser pour ouvrir une fenêtre de l'explorateur en ayant la lettre du lecteur dans une variable.Exemple : [Déplacé .Net --> VBA] Création petit programme excel / explorateur de fichier et open file [ par salamandralex ] Bonjour à tous, je suis débutant en VBA et je recherche de l'aide pour comprendre quelques petits morceaux de codes que j'ai pu parcourir sur le sit Explorateur de fichiers Windows [ par capuccino_fr ] Je souhaiterai créer un explorateur dans une fenetre mais je ne trouve pas de code adequat. C'est pour une petite application pour récup&#23 Aplication cible bloquée après drag & drop [ par jp2733 ] Bonjour à tous,J'ai un problème lorsque je fais un drag&drop de fichiers d'un explorateur windows vers mon application car l'explorateur windows est b Explorateur de fichiers [ par tedparker ] BonjourQuelqu'un connait-t-il une façon simple de créer un explorateur de fichiers en VBA ds ACCESS svp ?


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,042 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales