Freitag, 10. Februar 2012

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Tipp/Trick
Verfügbare Laufwerke ermitteln
Bevor Sie bzw. die Benutzer Ihrer Anwendung eine Datei anlegen bzw. speichern können, muß ein gültiges Laufwerk bestimmt werden. Hierfür wäre eine Liste der verfügbaren Laufwerke wünschenswert, die ganz komfortabel in einem Kombinationsfeld angezeigt werden kann.

Das Windows-API stellt eine Funktion zur Verfügung, die alle vorhandenen Laufwerke als Zahl des Typs Long zurückgibt. Die 26 rechts ausgerichteten Bits der zurückgegebenen Zahl stellen die 26 gültigen Laufwerke dar. Wenn ein Bit auf 1 gesetzt ist, ist das betreffende Laufwerk vorhanden.

Durch Einsatz der folgenden Schleife prüfen Sie jedes Bit der Zahl:

Dim i As Integer

For i = 0 To 25

    If Zahl And 1 Then
        ' Laufwerknummer ist anwesend
    End If 

    'Zahl ein Bit nach rechts verschieben, um nächste Laufwerk zu prüfen 
    Zahl = Zahl \ 2

Next i

Um die Zahl aus der Win-API zu ermitteln, benötigen Sie die Funktion GetLogicalDrives, die wie folgt deklariert wird.

Declare Function GetLogicalDrives Lib "kernel32" () As Long

Eine Funktion, die alle verfügbaren Laufwerke als Buchstaben im Testfenster anzeigt, würde dann folgendermaßen aussehen:

Public Function LaufwerkeAnzeigen()

Dim lLaufwerke As Long, i As Integer

    lLaufwerke = GetLogicalDrives() ' logische Laufwerke ermitteln

    For i = 0 To 25

        If lLaufwerke And 1 Then ' Laufwerknummer ist anwesend
            Debug.Print Chr$(65 + i) & ": " ' Laufwerkbuchstaben anzeigen
        End If

        ' Wert ein Bit nach rechts verschieben, 
        'um nächste Laufwerknummer zu prüfen

        lLaufwerke = lLaufwerke \ 2

    Next i

End Function


Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de