ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 11.11.2002

Diese Seite wurde zuletzt aktualisiert am 11.11.2002
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Relative Pfade automatisch

Zurück...


Anzeige

(-hg) mailto:hg_relativeinpath@aboutvb.de

Relative Pfadangaben kennen Sie wahrscheinlich, vor allem, wenn Sie sich mit der Erstellung von Websites beschäftigten. Jeweils ein Punkte-Paar in einem Pfad gibt dabei an, dass der nachfolgend angegebene Pfad (etwa einer Datei) ausgehend von einem darüber liegenden Pfad im jeweils darüber liegenden Ordner zu suchen ist. Die relative Angabe des Ordners "Gemeinsame Dateien" im Programme-Ordner ausgehend vom System-Ordner würde beispielsweise so aussehen:

..\..\Programme\Gemeinsame Dateien

wobei der Ausgangs-Pfad je nach Windows-Version beispielsweise

C:\Windows\System

oder

C:\WINNT\System32

usw. lauten könnte.

Eine solche relative Pfadangabe aufzulösen und den tatsächlichen gewünschten Pfad zu ermitteln, "riecht" offensichtlich "nach Arbeit". Vergessen Sie es und sparen Sie sich die Mühe.

Sie können schlicht und einfach den Ausgangspfad und den relativen Pfad zusammenfügen - und Windows erledigt den Rest automatisch:

C:\Windows\System\..\..\Programme\Gemeinsame Dateien

oder

C:\WINNT\System32\..\..\Programme\Gemeinsame Dateien

sind durchaus gültige und tatsächlich funktionierende Pfadangaben.

Auch der Zugriff auf Dateien funktioniert einwandfrei:

Dim nFNr As Integer
Dim nText As String

nFNr = FreeFile
Open "C:\Windows\System\..\..\autoexec.bat" For Binary As #nFNr

oder alternativ

Open "C:\WINNT\System32\..\..\boot.ini" For Binary As #nFNr
  nText = Space$(LOF(nFNr))
  Get #nFNr, , nText
Close #nFNr
Debug.Print nText

Zum korrekten Zusammensetzen von Ausgangspfad und relativer Pfadangaben bieten sich Hilfsfunktionen wie "BuildPath" an, die automatisch für den zwischen den Bestandteilen notwendigen Backslash sorgen:

Public Function BuildPath(PathRoot As String, PathPart As String) As String
  Select Case Right$(PathRoot, 1)
    Case "\"
      Select Case Left$(PathPart, 1)
        Case "\"
          BuildPath = PathRoot & Mid$(PathPart, 2)
        Case Else
          BuildPath = PathRoot & PathPart
      End Select
    Case Else
      Select Case Left$(PathPart, 1)
        Case "\"
          BuildPath = PathRoot & PathPart
        Case Else
          BuildPath = PathRoot & "\" & PathPart
    End Select
  End Select
End Function

Auch die Datei-Dialoge des Common Dialog Controls verkraften klaglos solche Pfadangaben, wie ebenfalls die "uralten" Steuerelemente wie DirListBox und FileListBox. Dass Sie sogar in der Eingabezeile ("Adresse") des Windows-Explorers Pfade auf diese Weise angeben können, deutet darauf hin, dass diese automatische Auflösung tatsächlich bereits in jeder Windows-Version drinsteckt.

Eine Garantie, dass derartige Pfadangaben immer verwendet werden können, gibt es allerdings nicht. Es ist durchaus vorstellbar, dass externe Steuerelemente von anderen Anbietern und andere Anwendungen darüber stolpern können. Um eigene Tests werden Sie in diesen Fällen nicht herum kommen.


Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche




Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer