Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / System / Datei / AppPath

(Anwendungs)Pfade richtig nutzen

Historie
16.10.2001Bestimmung des Zeitstempels der Anwendung
23.08.2001Erste Versionen

Einleitung

Beim Umgang mit Verzeichnissen muss immer wieder umständlich getestet werden, ob das letzte Zeichen auch ein Backslash \ ist. Dies führt u.U. zu unleserlichen Code.

Die unten gezeigte Path2Dir-Funktion hängt automatisch ein Backslash an, falls es notwendig ist.

Da diese Funktionalität sehr oft im Zusammenhang mit dem Anwendungspfad App.Path benötigt wird (um z.B. auf eine Datenbank im selben Verzeichnis wie die Anwendung zuzugreifen), wird zusätzlich noch die Funktion AppPath vorgestellt. Außerdem kann damit leicht der Zeitstempel der Anwendung bestimmt werden.

Beispiele

s = Path2Dir("D:\Test")
s = Path2Dir("D:\Test\")
'ergibt beidesmal "D:\Test\"

s = AppPath
'ergibt z.B. "D:\Test\VB\"

s = AppPath("Daten.mdb")
'ergibt z.B. "D:\Test\VB\Daten.mdb"

Zeitstempel der Anwendung

Leider gibt es in VB keine eingebaute App.Date-Eigenschaft. Mit Hilfe der gerade diskutierten AppPath-Funktion (sowie der VB-Funktion FileDateTime) kann dies allerdings leicht realisiert werden:

Public Function AppDate() As Date
  AppDate = FileDateTime(AppPath(App.EXEName & ".exe"))
End Function

Man beachte, dass diese Funktion nur für kompilierte Programme sinnvolle Werte zurückgibt - logisch! Smile!

Code / Quelltext

Die folgende Funktion testet einfach, ob das letzte Zeichen ein Backslash ist. Falls nicht, so wird eben ein solches angehängt:

Public Function Path2Dir(Path As String) As String
  If Right$(Path, 1) = "\" Then
    Path2Dir = Path
  Else
    Path2Dir = Path & "\"
  End If
End Function

Die AppPath-Funktion benutzt Path2Dir und hängt (optional) noch einen Dateinamen daran:

Public Function AppPath( _
    Optional FileName As String _
  ) As String

  AppPath = Path2Dir(App.Path) & FileName

End Function

© Jost Schwider, 23.08.2001-16.10.2001 - http://vb-tec.de/apppath.htm