Woran kann man an meinem Quellcodes erkennen, dass etwas am Anfang der Woche geschrieben wurde? An der Länge der Bezeichner. Beispiel:
Private Function getListOfDefaultKeywords() As String
Am Freitag hätte ich wohl nur getKeywords geschrieben.
Woran kann man an meinem Quellcodes erkennen, dass etwas am Anfang der Woche geschrieben wurde? An der Länge der Bezeichner. Beispiel:
Private Function getListOfDefaultKeywords() As String
Am Freitag hätte ich wohl nur getKeywords geschrieben.
Sie kennen das Problem? Ein Programm soll eine Datei in ein Verzeichnis schreiben, verschieben oder kopieren, doch Sie sind sich nicht sicher, ob der Ordner überhaupt existiert?
Für solche Fälle hatte ich in der Vergangenheit eine Routine, die mit Hilfe einer Rekursion nicht vorhandene Ordner anlegt; immerhin kann ja auch schon der übergeordnete Ordner fehlen.
Die alte Lösung funktionierte gut, gefiel mir nur nicht. Eine rekursive Funktion für einen solch einfachen Zweck? Bis mir aus heiterem Himmel eine bessere Lösung einfiel. Die Idee: split()
Public Shared Sub OrdnerCheck(ByVal Ordnerpfad As String)
Dim asOrdner() As String
Dim sPfad As String = ""
asOrdner = Split(Ordnerpfad, "\" )
For Each sOrdner As String In asOrdner
sPfad &= sOrdner & "\"
If Not Directory.Exists(sPfad) Then Directory.CreateDirectory(sPfad)
Next
End Sub
Code-Beispiel 1
Das Ding funktionierte auf Anhieb gut (was immer verdächtig ist); allerdings kann CreateDirectory einen Ausnahmefehler erzeugen. Daher ist es besser, diesen zu berücksichtigen.
Public Shared Function OrdnerChecked(ByVal Ordnerpfad As String) As Boolean
Dim asOrdner() As String
Dim sPfad As String = ""
Dim bReturn As Boolean = True
asOrdner = Split(Ordnerpfad, "\")
Try
For Each sOrdner As String In asOrdner
sPfad &= sOrdner & "\"
If Not Directory.Exists(sPfad) Then _
Directory.CreateDirectory(sPfad)
Next
Catch ex As Exception
bReturn = False
End Try
Return bReturn
End Function
Code-Beispiel 2
Jetzt kann mit einer If-Then-Else-Konstruktion die Existenz eines Ordners geprüft, gegebenenfalls der Ordner angelegt und die Datei abgelegt werden. Ist die Anlage unmöglich kann im Programm selbst auf das Problem reagiert werden (Dialog o.ä.)