|
| |

Visual-Basic Einsteiger| Re: Vb6: Dateien aus Listbox in ein beliebiges Zielverzeichnis verschieben | |  | | Autor: Izo | | Datum: 29.05.12 16:21 |
| Und das ist der zweite Teil, mit dem Code von Manfred X
' Durchsucht einen Ordner nach Dateien
' Sollte der Ordner selbst nicht durchsucht werden können,
' gibt die Funktion 0 zurück. Sonst wird die Anzahl der Dateien zurückgegeben
Private Function GetAllFiles(ByVal Root As String, _
ByVal Such As String, ByRef Field() As String, _
Optional DoRecursion As Boolean = False, _
Optional UsedField As Long = 0) As Long
Dim File As String
Dim hFile As Long
Dim FD As WIN32_FIND_DATA
' Evtl. Array vergrößern?
If (UsedField = UBound(Field)) Then
ReDim Preserve Field(UBound(Field) + 100)
End If
DoEvents
'Backslash ergänzen
If Right(Root, 1) <> "\" Then Root = Root & "\"
' Die erste Datei suchen
hFile = FindFirstFile(Root & "*.*", FD)
' Es konnte nichts gefunden werden
If hFile = 0 Then
GetAllFiles = 0
Exit Function
End If
' Für jede Datei
Do
' Den Dateinamen extrahieren
File = Left(FD.cFileName, InStr(FD.cFileName, Chr(0)) - 1)
' Ist die Datei ein Verzeichnis?
If (FD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) _
= FILE_ATTRIBUTE_DIRECTORY Then
' . und .. ignorieren
If (File <> ".") And (File <> "..") Then
' Unterordner auch durchsuchen?
If DoRecursion Then
' Unterordner rekursiv erfassen
GetAllFiles = GetAllFiles + GetAllFiles(Root & File, _
Such, Field, DoRecursion, UsedField)
Else
' Ergebnis speichern
' Verzeichnis: ">>" kann entfernt werden,
' da nur zur Visualisierung
Field(UsedField) = ">>" & Root & File
GetAllFiles = GetAllFiles + 1
UsedField = UsedField + 1
' Evtl. Array vergrößern
If (UsedField = UBound(Field)) = 0 Then
ReDim Preserve Field(0 To UBound(Field) + 100)
End If
End If
End If
Else
' Passt das Suchmuster?
If (Such Like Right$(UCase$(File), Len(Such))) Or Such = "*" Then
' Ergebnis speichern
' Datei: " " kann entfernt werden,
' da nur zur Visualisierung
Field(UsedField) = " " & Root & File
GetAllFiles = GetAllFiles + 1
UsedField = UsedField + 1
' Evtl. Array vergrößern
If (UsedField = UBound(Field)) Then
ReDim Preserve Field(0 To UBound(Field) + 100)
End If
End If
End If
' Nächste Datei suchen
Loop While FindNextFile(hFile, FD)
' Suchhandle wieder freigeben - Suche beenden
Call FindClose(hFile)
End Function
Sub ShowFileList(folderspec, lst As ListBox, interval As Integer)
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Dim startdate As Date, filedate As Date
Dim timediff As Long
startdate = DateAdd("s", -1 * interval, Now)
Set fc = f.Files
For Each f1 In fc
filedate = f1.datecreated
timediff = DateDiff("s", startdate, filedate)
If timediff < 0 Then
lst.AddItem (f1.Name)
End If
Next
End Sub |  |
 | 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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|
| |
|
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
|
|