vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Hab was gefunden, was hilfreich sein könnte... 
Autor: SteS
Datum: 30.07.04 11:51

Hallo dieser Source von VBpro könnte recht hilfreich sein.
Bei einem Verzeichnis alle Dateien in allen unterordnern auslesen:

   Dim strFindWhat As String
   Dim i As Integer
   Dim strStart As String
 
 
    CDlg.ShowOpen
    If CDlg.filename = "" Then Exit Sub
    'Dateiendung ermitteln
    strFindWhat = "*" & Right(CDlg.filename, 4)
 
 
 
    'Pfad ermitteln; Dateiname wird abgeschnitten
 
    For i = Len(CDlg.filename) - 1 To 1 Step -1
 
        If Mid(CDlg.filename, i, 1) = "\" Then
 
            strStart = Left(CDlg.filename, i)
 
            Exit For
 
        End If
 
    Next
 
 
 
    lstFiles.Clear
 
 
 
    Call FindSub(strStart, strFindWhat)
 
 
 
3. Geben Sie für den eigentlichen Suchalgorithmus folgende beiden Prozeduren _
  ein.
 
 
 
' FindSub() ermittelt alle Dateien mit der im Commondialog
 
' ausgewählten Dateiendung bis zur untersten Ebene ab dem gewählten Verzeichnis.
 
' Hierzu wird ein rekursiver Aufruf der Routine FindSub() eingesetzt.
 
 
 
Sub FindSub(strStart As String, strFindWhat As String)
 
   Dim arrFindDir() As String
 
   Dim strFind As String
 
   Dim i As Integer
 
 
 
   ChDrive (Left(strStart, 3))
 
   ChDir (strStart)
 
 
 
   Call DirSub(strFindWhat, strStart)
 
 
 
   strFind = Dir("*.*", vbDirectory)
 
   i = 0
 
 
 
   ' ermittelt alle vorhandenen Dateien und Verzeichnisse im aktuellen 
   ' Verzeichnis
 
   Do Until strFind = ""
 
      ReDim Preserve arrFindDir(i)
 
      arrFindDir(i) = strFind
 
      i = i + 1
 
      strFind = Dir()
 
   Loop
 
 
 
   For i = 0 To UBound(arrFindDir)
      ' If... ermittelt ob es sich um ein Verzeichnis handelt
      ' und verzweigt dann rekursiv in dieses Verzeichnis
      If Dir(arrFindDir(i), vbNormal) = "" And Left(arrFindDir(i), 1) <> "." Then
         ' Rekursiver Aufruf von FindSub
         Call FindSub(strStart & arrFindDir(i) & "\", strFindWhat) 
         ChDir (strStart)
       End If
   Next
End Sub
' ermittelt alle gesuchten Dateien im momentan aktuellen Verzeichnis
' und gibt die gefundenen Dateien mit Pfad in eine Listenfeld (lstFiles) aus.
 
 
Sub DirSub(strFindWhat, strStart)
 
 
   Dim strFindfile As String
 
 
   strFindfile = Dir(strFindWhat, vbNormal)
 
 
    Do While strFindfile <> ""
 
        lstFiles.AddItem strStart & strFindfile
 
        strFindfile = Dir()
 
    Loop
 
End Sub
Hoffe mit diesem Source können wir was anfengen...

Gruss

SteS
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dateien / Unterordner803SteS27.07.04 20:15
Re: Dateien / Unterordner442michi-bib28.07.04 09:03
Re: Dateien / Unterordner407SteS28.07.04 10:38
Re: Dateien / Unterordner399michi-bib29.07.04 08:58
Re: Dateien / Unterordner388SteS29.07.04 10:36
Re: Dateien / Unterordner420michi-bib29.07.04 13:10
You've got it... 398SteS29.07.04 13:47
Hab was gefunden, was hilfreich sein könnte...468SteS30.07.04 11:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel