io.FileInfo zusammenführen ?
- VB.NET
- .NET (FX) 4.5–4.8
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 38 Antworten in diesem Thema. Der letzte Beitrag () ist von woeh.
-
-
-
-
EaranMaleasi schrieb:
Jedes FileInfo Objekt zeigt auf eine Datei
@woeh: Was war daran unverständlich?
Oder was glaubst Du, was eine FileInfo-Objektinstanz enthält?
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
@woeh Führe mal diese beiden Beispiele nach Deiner Vorstellung zusammen, schreib property-weise auf, was da drin stehen soll:
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
woeh schrieb:
ok...es geht nicht.
-
Vielleich meint er eine List(Of FileInfo)?"Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."
Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
Wie man VisualStudio nutzt? => VisualStudio richtig nutzen -
-
-
also ich durchsuche rekursiv verzeichnisse. dabei interessieren mich erstmal nur die pfade, die dann weiterverarbeitet werden. bis jetzt habe ich das über ein array gelöst, was auch sehr schnell ist.
ich wollte wissen ob es vielleicht noch was schnelleres gibt.
ich werde es mal testen
das problem dabei ist, das ich auch nach mehreren dateiendungen suchen kann...und das habe ich auch über ein array gelöst...
-
woeh schrieb:
dabei interessieren mich erstmal nur die pfade
Da gibt's schon was für dich... -
woeh schrieb:
über ein arrayFileInfo
-Instanzen hoffentlich?
Gugst Du mal, was der @ErfinderDesRades verzapft hat.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
das wird u.a. aus einer rekrusiven funktion aufgerufen die die verzeichnisse abarbeitet:
VB.NET-Quellcode
- Public Function GetFilesExt(ByVal path As String,
- ByVal pattern As String,
- ByRef fileList() As String,
- Optional eraseFileList As Boolean = True,
- Optional ByVal resultMessage As String = "%FILES% Datei(en) gefunden",
- Optional ByVal getAllFiles As Boolean = False,
- Optional ByVal startMessage As Boolean = False) _
- As Boolean
- If eraseFileList = True Then Erase fileList
- If startMessage = True Then
- Log(LogColor.info, "Durchsuche", , path)
- End If
- pattern = LCase(pattern)
- Try
- Dim dInfo As New IO.DirectoryInfo(path)
- Dim fInfo As IO.FileInfo() = dInfo.GetFiles("*.*")
- For Each file In fInfo
- If getAllFiles = False Then
- If pattern.Contains(LCase(file.Extension)) Then
- If file.Extension.Length <> 0 Then
- AddToArray(fileList, file.FullName)
- End If
- End If
- Else
- AddToArray(fileList, file.FullName)
- End If
- Next
- Catch ex As Exception
- Log(LogColor.errorInfo, Err.Description, Err.Number, path,,, False)
- Return False
- End Try
- If resultMessage.Length <> 0 Then
- If fileList IsNot Nothing Then
- resultMessage = Replace(resultMessage, "%FILES%", fileList.Length.ToString)
- Else
- resultMessage = "Keine Datei(en) gefunden"
- End If
- Log(LogColor.info, resultMessage)
- End If
- Return True
- End Function
dann gibts da noch folgende funktion
VB.NET-Quellcode
- Public Function GetFiles(ByVal path As String,
- ByVal pattern As String,
- Optional ByVal startMessage As Boolean = False) _
- As IO.FileInfo()
- Dim m As String
- If startMessage = True Then
- Log(LogColor.info, "Durchsuche",, path)
- End If
- Try
- Dim dInfo As New IO.DirectoryInfo(path)
- Dim fInfo As IO.FileInfo() = dInfo.GetFiles(pattern)
- If startMessage = True Then
- If fInfo.Length <> 0 Then
- m = fInfo.Length.ToString & " Datei(en) gefunden"
- Else
- m = "Keine Datei(en) gefunden"
- End If
- Log(LogColor.info, m)
- End If
- Return fInfo
- Catch ex As Exception
- Log(LogColor.errorInfo, Err.Description, Err.Number, path,,, False)
- Return Nothing
- End Try
- End Function
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „woeh“ ()
-
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
woeh schrieb:
was ist verbesserungswürdig ?
Vielleicht ist es sinnvoll, in der ProzedurGetFiles()
explitit die Exceptions mit Zugriffsverletzung mangels Rechten und Laufwerk nicht vorhanden und so abzufangen, damit Du entsprechend reagieren kannst und merkst, wenn eine neue Exception kommt.
Wird Deine FunktionGetFiles()
ühaupt aufgerufen?Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
woeh schrieb:
GetFiles
heißen. EineIO.Files
, die sehe ich in Deinem Code, die Deinige halt nicht.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
die eine heißt "GetFilesExt" und ist für das suchen von mehreren dateiendungen zuständig.
die andere "GetFiles" und ist für das suchen einer endung zuständig.
ich bin dabei es umzuschreiben....weiß aber noch nicht so recht wie, weil ich viel umstellen müßte.
ich hatte damals ein projekt in vb6 geschrieben. doch die einschränkungen durch die alte sprache waren zu groß und so entschloß ich mich das ganze mal in net zu versuchen....es fällt mir noch schwer....doch es geht langsam voran
-
Ähnliche Themen
-
Eznik - - Sonstige Problemstellungen
-
7 Benutzer haben hier geschrieben
- woeh (19)
- RodFromGermany (9)
- VaporiZed (5)
- EaranMaleasi (3)
- VB1963 (1)
- Schamash (1)
- mrMo (1)