begin process at 2010 02 10 00:01:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > DLL- RÉCUPÉRATION D'INFORMATIONS SUR LES LECTEURS, RÉPERTOIRES ET FICHIERS

DLL- RÉCUPÉRATION D'INFORMATIONS SUR LES LECTEURS, RÉPERTOIRES ET FICHIERS


 Information sur la source

Note :
8,75 / 10 - par 16 personnes
8,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Classé sous :dll, récupération, infos Niveau :Initié Date de création :12/03/2001 Date de mise à jour :26/09/2001 00:00:00 Vu / téléchargé :6 789 / 238

Auteur : jlved

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

 Description

[[[ Avertissement : Cette DLL est en perpétuelle évolution. vous trouverez la dernièreversion en téléchargement sur mon site perso : http://perso.club-internet.fr/jlved/ ]]]

Comme j'ai souvent été amené à explorer des répertoires dans mes projets VB j'ai créé une DLL
qui regroupe la plupart des informations que j'utilise fréquemment.
Je me doute que des DLL de ce type existent déjà (peut être même dans Windows), alors si vous en connaissez, merci de me le signaler.

Cette DLL donne accès à 4 objets :
- cPath
- cDrive
- cDirectory
- cFile

cPath permet de tester que le chemin passé en paramètre renvoie bien un répertoire ou un fichier


cDrive à partir de la lettre du lecteur cet objet nous donne :
le type de lecteur
le système de fichier
le numéroID
le nom de Volume


cDirectory donne accès à deux collections :
la collection Fichiers renvoie tous les fichiers contenus dans ce répertoire (classés ou non) cette collection peut être filtrée ('*.exe' ; '*.*'...)
la collection Directories renvoie tous les sous-répertoires (classés ou non)
(y compris les fichiers et répertoires cachés et système)


cFile simplifie les traitements souvent effectuées sur les fichiers. A partir du chemin complet il donne accès à :
l'extension
le nom sans l'extension
le chemin
la taille
les différentes dates

Il permet de plus d'effectuer les opérations les plus courantes :
Renommer
Déplacer
Supprimer
Modifier les attributs

Source

  • L'exemple suivant met en œuvre la DLL pour la lecture d'une arborescence.
  • Pour executer cet exemple :
  • Créez un nouveau projet
  • Dans le menu Projet/Références cliquez sur parcourir et indiquez l'emplacement de la DLL JLV_File.dll.
  • Sélectionnez là et validez.
  • Dans Form1, créez :
  • - un bouton (Command1)
  • - une listbox (List1)
  • - une textbox (text1)
  • - un Label (label1)
  • (Ces contrôles seront réarrangés par le code)
  • Copiez l'exemple ci-dessous dans la fenêtre de code et lancez le programme.
  • Dans le TextBox (Text1) entrez un nom de répertoire et validez en cliquant sur le bouton
  • Option Explicit
  • Public V_RepApp As New cDirectory
  • Public V_Chemin As New cPath
  • Private Declare Function GetTickCount Lib "kernel32" () As Long
  • Private Sub Command1_Click()
  • List1.Clear
  • V_RepApp = Text1.Text
  • SauveInfoRep
  • End Sub
  • Public Function SauveInfoRep() As String
  • Dim Tab_rep() As New cDirectory
  • Dim V_FichTemp As New cFile
  • Dim i%, j%, k%, l%
  • Dim V_Taille As Double
  • Dim V_MilSec As Long
  • V_MilSec = GetTickCount()
  • ReDim Preserve Tab_rep(0)
  • Tab_rep(0) = V_RepApp.FullPath
  • Do Until i% > UBound(Tab_rep)
  • Label1 = Tab_rep(i%).FullPath
  • DoEvents
  • List1.AddItem IIf(Tab_rep(i%).DateCreation <> "00:00:00", Format(Tab_rep(i%).DateCreation, "dd/mm/yy"), vbNullString) _
  • & vbTab & Tab_rep(i%).StrAttributes & vbTab & UCase(Tab_rep(i%).FullPath)
  • For j% = 1 To Tab_rep(i%).DirectoriesCount
  • ReDim Preserve Tab_rep(UBound(Tab_rep) + 1)
  • 'évite la lecture des Répertoires systèmes et cachés
  • Tab_rep(UBound(Tab_rep)).TypeDirectoriesListed = JLV_ListDirectoriesAttrNormal
  • Tab_rep(UBound(Tab_rep)).FullPath = Tab_rep(i%).FullPath & "\" & _
  • Tab_rep(i%).Directories(j%)
  • List1.AddItem vbTab & "\" & Tab_rep(i%).Directories(j%)
  • Next
  • For k% = 1 To Tab_rep(i%).FilesCount
  • V_FichTemp = Tab_rep(i%).FullPath & "\" & _
  • Tab_rep(i%).Files(k%)
  • If List1.ListCount > 32730 Then
  • 'limitation du type de données integer utilisée dans le ListBox
  • List1.AddItem "Impossible d'afficher toutes les entrées (>32730)"
  • Exit Do
  • Else
  • List1.AddItem vbTab & Format(V_FichTemp.DateCreation, "dd/mm/yy") & _
  • vbTab & " " & V_FichTemp.StrAttributes & _
  • vbTab & V_FichTemp.FileSize & _
  • vbTab & V_FichTemp.NameWithExtension
  • V_Taille = V_Taille + V_FichTemp.FileSize
  • l% = l% + 1
  • End If
  • Next k%
  • i% = i% + 1
  • List1.AddItem vbNullString
  • Loop
  • ReDim Tab_rep(0)
  • 'compte rendu
  • V_MilSec = (GetTickCount() - V_MilSec) / 1000
  • Label1 = "Nombre de Répertoires :" & i% - 1 & ". / Nombre de fichiers :" & _
  • l% & ". / Taille Totale : " & Int(V_Taille / 1024) & _
  • " Ko. / Durée du traitement : " & V_MilSec & " Secondes."
  • End Function
  • Private Sub Form_Resize()
  • 'mise en forme de la feuille
  • On Error Resume Next
  • Text1.Top = 0: Command1.Height = Text1.Height: Command1.Top = 0
  • List1.Left = 0: Text1.Left = 0: Label1.Left = 0: Command1.Left = Text1.Width
  • List1.Top = Text1.Height
  • List1.Width = ScaleWidth - List1.Left
  • List1.Height = ScaleHeight - (List1.Top + Label1.Height)
  • Label1.Top = ScaleHeight - Label1.Height
  • Label1.Width = ScaleWidth - Label1.Left
  • End Sub
L'exemple suivant met en œuvre la DLL pour la lecture d'une arborescence. 
Pour executer cet exemple :
Créez un nouveau projet
Dans le menu Projet/Références cliquez sur parcourir et indiquez l'emplacement de la DLL JLV_File.dll.
Sélectionnez là et validez.
Dans Form1, créez :

-	un bouton (Command1)
-	une listbox (List1)
-	une textbox (text1)
-	un Label (label1)

(Ces contrôles seront réarrangés par le code)
Copiez l'exemple ci-dessous dans la fenêtre de code et lancez le programme.

Dans le TextBox (Text1) entrez un nom de répertoire et validez en cliquant sur le bouton


Option Explicit

Public V_RepApp As New cDirectory

Public V_Chemin As New cPath

Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Command1_Click()
    List1.Clear
    V_RepApp = Text1.Text
    SauveInfoRep
End Sub

Public Function SauveInfoRep() As String
    Dim Tab_rep() As New cDirectory
    Dim V_FichTemp As New cFile
    Dim i%, j%, k%, l%
    Dim V_Taille As Double
    Dim V_MilSec As Long

V_MilSec = GetTickCount()
ReDim Preserve Tab_rep(0)
Tab_rep(0) = V_RepApp.FullPath
Do Until i% > UBound(Tab_rep)
        Label1 = Tab_rep(i%).FullPath
        DoEvents
        List1.AddItem IIf(Tab_rep(i%).DateCreation <> "00:00:00", Format(Tab_rep(i%).DateCreation, "dd/mm/yy"), vbNullString) _
& vbTab & Tab_rep(i%).StrAttributes & vbTab & UCase(Tab_rep(i%).FullPath)
            For j% = 1 To Tab_rep(i%).DirectoriesCount
                ReDim Preserve Tab_rep(UBound(Tab_rep) + 1)

'évite la lecture des Répertoires systèmes et cachés
       Tab_rep(UBound(Tab_rep)).TypeDirectoriesListed = JLV_ListDirectoriesAttrNormal
                Tab_rep(UBound(Tab_rep)).FullPath = Tab_rep(i%).FullPath & "\" & _
Tab_rep(i%).Directories(j%)
                List1.AddItem vbTab & "\" & Tab_rep(i%).Directories(j%)
            Next
            For k% = 1 To Tab_rep(i%).FilesCount
                V_FichTemp = Tab_rep(i%).FullPath & "\" & _
                                Tab_rep(i%).Files(k%)
                If List1.ListCount > 32730 Then
        'limitation du type de données integer utilisée dans le ListBox
                    List1.AddItem "Impossible d'afficher toutes les entrées (>32730)"
                    Exit Do
                Else
                    List1.AddItem vbTab & Format(V_FichTemp.DateCreation, "dd/mm/yy") & _
                              vbTab & "  " & V_FichTemp.StrAttributes & _
                              vbTab & V_FichTemp.FileSize & _
                              vbTab & V_FichTemp.NameWithExtension
                    V_Taille = V_Taille + V_FichTemp.FileSize
                    l% = l% + 1
                End If
            Next k%
    i% = i% + 1
    List1.AddItem vbNullString
Loop
ReDim Tab_rep(0)
'compte rendu
V_MilSec = (GetTickCount() - V_MilSec) / 1000
Label1 = "Nombre de Répertoires :" & i% - 1 & ".  / Nombre de fichiers :" & _
         l% & ".  / Taille Totale : " & Int(V_Taille / 1024) & _
         " Ko.  / Durée du traitement : " & V_MilSec & " Secondes."
End Function

Private Sub Form_Resize()
'mise en forme de la feuille
    On Error Resume Next
    Text1.Top = 0: Command1.Height = Text1.Height: Command1.Top = 0
    List1.Left = 0: Text1.Left = 0: Label1.Left = 0: Command1.Left = Text1.Width
    List1.Top = Text1.Height
    List1.Width = ScaleWidth - List1.Left
    List1.Height = ScaleHeight - (List1.Top + Label1.Height)
    Label1.Top = ScaleHeight - Label1.Height
    Label1.Width = ScaleWidth - Label1.Left
End Sub


 Conclusion

le Zip contient la mise à jour de la DLL (V 2.02) et un fichier d'aide complet
Pour obtenir les sources mailez-moi

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • JLV_File.dllTélécharger ce fichier [Réservé aux membres club]66 560 octets
  • JLV_FILE.HLPTélécharger ce fichier [Réservé aux membres club]58 414 octets

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GESTION DE PARC AUTOMOBILE AVEC SÉRIALISATION par guyr07
Source avec Zip Source avec une capture Source .NET (Dotnet) FICHIERS_CACHÉS_LECTURE_SEULE par Le Pivert
Source avec Zip Source avec une capture CHANGEUR D'ICONES par djgab21
Source .NET (Dotnet) DIRECTDISKACCESS par XelectroX
Source avec Zip Source avec une capture UTILITAIRE WAV, MID ET MP3 par SnkVrt

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) DLL POUR K8055 (VM110) UTILISATION SIMPLIFIÉE DE CETTE CARTE par Adn56
Source avec Zip DÉMANDER AUTOMATIQUEMENT LES DROITS ADMINISTRATEUR POUR VOTR... par vicosta
Source avec Zip Source avec une capture FRACTIONS, UN PROGRAMME VB6 UTILISANT UNE DLL C++ POUR CALCU... par ghuysmans99
Source avec Zip Source avec une capture DLL POUR EXECUTER LES FONCTIONS ET PROCEDURES EXTERNES A TON... par asimengo
Source avec Zip Source avec une capture Source .NET (Dotnet) IMPORTER UNE ASSEMBLY (DLL OU EXE) .NET ET NAVIGUER SES MEMB... par werdDomain

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Récupération d'infos dans des fichiers HTML ? [ par Mitch ] J'aimerais connaître la meilleure méthode pour récupérer des informations dans des fichiers HTML. Entre balises et après des Meta.Merci d'avance pour Récupération infos saisies dans un exécutable [ par zombapsa ] J'ai une appli (exécutable mais pas les sources) ou il y a plein de zones de texte et de cases à cocher.Le but du jeu est de récupérer les infos de ce Récupération d'une erreur [ par Orthonic ] Salut,J'ai un petit souci avec une erreur, pourtant j'ai placé juste avant un "on error ..." mais un message box s'affiche quand même pour m'indiquer COMBOBOX | Récupération des infos d'un .ini [ par Richard92 ] SALUT &#224; TOUS,Je fais un app o&#249; l'user doit enregistrer des infos dans un ini.Voil&#224; un exemple de ini[Vol]Date = 30.08.2005Heure = 22.40 DLL ActiveX : Récupération de Données dans une base [ par fabsyl ] Bonjour &#224; tous,Apr&#232;s avoir chercher dans les moindres recoins du site, je n'ai pas trouver de solutions &#224; mon probl&#232;me. J'esp&#232 Utilisation de la dll MediaInfo [ par M51 ] Bonjour, je suis à la recherche d'info pour utiliser une dll mediainfo, très intéressante car elle permet de lire les informations de très nombreux fi Récupération des infos d'une fenetre DOS [ par j621473 ] BonjourJe souhaite executer une ligne de programme en DOS et r&#233;cup&#233;rer les infos:Pour ce qui est d'un : ping Mon_PC &gt;&gt; c:\stockage.txt DLL multi usage ! [ par guilleto ] Bonjour &#224; tous,J'ai encore un soucis (d&#233;cid&#233;ment) !Voil&#224;, j'ai plusieurs programmes qui utilisent chacun sa DLL (jusque l&#224;, & Erreur de démarrage [ par dragon ] Bonjour,a ma job, j'ai install&#233; plusieurs logiciels qui ont &#233;t&#233; d&#233;velopp&#233; en vb6.0 et en access avec des ocx et des dll d&#23


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,998 sec (4)

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