vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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

Fortgeschrittene Programmierung
Re: Verzeichnis suchen Teil2 
Autor: T.i.m.
Datum: 02.06.04 01:58

'  ... das hier an den Teil1 dranhängen
 
  ' Sucht nach einer Datei, und packt das
  ' Ergebnis in FileData
  hFile = FindFirstFile(StartPath & "\" & File & _
    vbNullChar, FileData)
 
  ' Wenn sie gefunden wurde, dann...
  If hFile <> INVALID_HANDLE_VALUE Then
 
    Do
      ' Ist es ein Verzeichniss oder eine Datei ?
      With FileData
        If (.dwFileAttributes And vbDirectory) = 0 Then
          ' Datei
 
          ' Nur wenn nicht nur Verzeichinsse gesucht werden
          If Not OnlyDirectories Then
            ' Array vergrößern und Daten ins Array schreiben
            On Error GoTo Err_DimFile
            ReDim Preserve FileFound(UBound(FileFound) + 1)
            On Error GoTo 0
            DoEvents
            UmPacken FileFound(UBound(FileFound)), _
              FileData, StartPath & "\" & File
 
          End If
          If StopSearch = True Then Exit Function
 
        ElseIf SearchSubfolder = True Then
          ' Verzeichnis
 
          ' Verzeichnis nur im Array Speichern wenn es
          ' über dem jetzigen liegt d.h. ".." "." sind
          ' nicht gültig
          If Left$(.cFileName, InStr(.cFileName, vbNullChar) - 1) <> "." _
            And Left$(.cFileName, InStr(.cFileName, vbNullChar) - 1) <> ".." Then
 
            On Error GoTo Err_DimDir
            ReDim Preserve Directories(UBound(Directories) + 1)
            On Error GoTo 0
 
            ' Verzeichnis dem Array hinzufügen
            Directories(UBound(Directories)) = _
                Left$(.cFileName, InStr(.cFileName, vbNullChar) - 1)
          End If
 
        End If
      End With
      DoEvents
    Loop Until FindNextFile(hFile, FileData) = 0 Or StopSearch = True
  End If
  FindClose hFile
 
  ' Unteroder durchsuchen
  On Error GoTo Err_DimDir
  If SearchSubfolder = False Or _
    StopSearch = True Then Exit Function
  On Error GoTo 0
 
  ' Wenn nach anderen Dateien als *.* gesucht wird,
  ' werden keine Ordner gefunden
  ' Deshalb noch einmal gezielt nach Ordnern suchen
  If Not OnlyDirectories And SearchSubfolder = True And _
    File <> "*.*" Then
 
    OnlyDirectories = True
    TmpFile = File
    File = "*.*"
    GoTo SearchOnlySubfolders
  ElseIf TmpFile <> "" Then
    File = TmpFile
  End If
 
  On Error GoTo Err_Exit
  For i = 0 To UBound(Directories)
    If StopSearch = True Then Exit Function
    DoEvents
 
    ' Hier ruft die Funktion sich selbst auf - für
    ' jeden Unterordner
    FindFile StartPath & "\" & Directories(i), _
      SearchSubfolder, File, FileFound
  Next i
  Exit Function
 
Err_DimFile:
   ReDim FileFound(0)
   Resume Next
 
Err_DimDir:
   ReDim Directories(0)
   Resume Next
 
Err_Exit:
 
Exit Function ' Sub
Fehler:
modError.ERR_Set Var_ERRModul
End Function
 
'Packt die Infos um und schneidet Nullchar-Zeichen ab
Private Function UmPacken(ByRef D As Datei, _
  FD As WIN32_FIND_DATA, ByVal Path As String)
Var_SubFunction = "UmPacken"
    modError.ERR_Clear
    On Error GoTo Fehler
 
  With FD
    D.Atribute = .dwFileAttributes
    D.DateiGröße = .nFileSizeLow
    D.Dateiname = Left$(.cFileName, InStr(.cFileName, _
      vbNullChar) - 1)
    D.DosDateiname = Left$(.cAlternate, _
      InStr(.cAlternate, vbNullChar) - 1)
    If D.DosDateiname = "" Then _
      D.DosDateiname = D.Dateiname
    D.ErstelltAM = .ftCreationTime
    D.LetzeÄnderung = .ftLastWriteTime
    D.LetzterZugriff = .ftLastAccessTime
    D.Pfadname = Left$(Path, InStrRev(Path, "\"))
    ' D.Dateiname = D.Pfadname & D.Dateiname
  End With
 
Exit Function ' Sub
Fehler:
modError.ERR_Set Var_ERRModul
End Function
Gruß Tim

*greetz*
Tim
.
http://www.DotNetWorld.de

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Verzeichnis suchen898Kanngarnix01.06.04 15:42
Re: Verzeichnis suchen611ModeratorDieter01.06.04 21:59
Re: Verzeichnis suchen677Kanngarnix02.06.04 08:34
Re: Verzeichnis suchen Teil1920T.i.m.02.06.04 01:57
Re: Verzeichnis suchen Teil2850T.i.m.02.06.04 01:58

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