Start / Tipps / VB 5/6-Tipp 0364: Verzeichnisse ohne API, mittels Dir$ einlesen
 
Startseite Up-/Download Tutorials Club Das Team
Rubriken Foren Bücher Tips 'n Tricks Suche


VB 5/6-Tipp 0364: Verzeichnisse ohne API, mittels Dir$ einlesen


Der Code zum Einlesen eines Verzeichnisses mit reinen VB-Mitteln ist kurz, allerdings auch langsamer als per API.

Schwierigkeitsgrad 1 Verwendete API-Aufrufe:
keine
Download des Beispielprojektes Download des Beispielprojektes [1,99 KB]
'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Listen-Steuerelement "List1"
' Steuerelement: Schaltfläche "Command1"

Option Explicit

Private Const Attr = vbNormal Or vbReadOnly Or vbHidden Or _
             vbSystem Or vbVolume Or vbDirectory Or _
             vbArchive
               
Private Sub Command1_Click()
    On Error Resume Next
    Dim Pfad As String, Name As String
    Dim x As Long
    
    MousePointer = vbHourglass
    Pfad = "c:\"
    Name = Dir$(Pfad, Attr)
    List1.Clear
    
    Do While Name <> ""
        If Name <> "." And Name <> ".." Then
            x = GetAttr(Pfad & Name)
            
            If (x And vbDirectory) <> 0 Then
                List1.AddItem "." & UCase(Name)
            Else
                List1.AddItem LCase(Name)
            End If
      End If
      
      Name = Dir(, Attr)
    Loop
    
    MousePointer = vbDefault
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------
Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?
Ja, funktioniert! Windows-Version:
Nein, funktioniert nicht bei mir! VB-Version:

Ihre Meinung

Falls Sie Fragen zu oder Erfahrungen mit diesem Tipp haben, dann sollten Sie diese hier posten. Für alles weitere melden Sie sich bitte in einem zum Thema passendem Forum.

Falls Sie in ihren Kommentar Quellcode einbinden wollen, verwenden Sie bitte Pseudotags: Quellcode für VB5/VB6 wird durch ein vorangestelltes [code] markiert und durch [/code] abgeschlossen.

Ihr Name:   
Ihre E-Mailadresse:   
 
Bitte folgende Kontrollnummer eingeben: 2241
Kontrolle:   
 
Ihre Frage/Ihr Kommentar:
Ja, ich möchte weitere Beiträge per E-Mail erhalten
Von VisualbasT am 08.08.2003 um 11:20
Jedenfalls dachte ich das.
Aber ich habe das wohl mit

Msgbox "", "", vbOK Or vbInformation

Msgbox "", "", vbOK & vbInformation
Von Jochen Wierum am 08.08.2003 um 08:51
Hallo VisualBasT,

Das Ampersand-Zeichen (&) verkettet eigentlich nur Strings miteinander. Versuche einmal, die volgenden Befehle auszuführen

Const a = 10&
Const b = 20&
Const c = 30&
Const d = 40&
Const e = 50&

Const test1 = a Or b Or c Or d Or e
Const test2 = a & b & c & d & e

Private Sub Form_Load()
MsgBox CStr(test1) & vbCrLf & CStr(test2)
End Sub


Eigentlich sollte ja das gleicher herauskommen, bei mir funktioniert es jedenfalls nicht.

Gruß,
Jochen
Von VisualBasT am 07.08.2003 um 18:13
Kleiner Fehler:
(Zitat aus dem Programm)
Const Attr = vbNormal Or vbReadOnly Or vbHidden Or _
vbSystem Or vbVolume Or vbDirectory Or _
vbArchive

würde ich durch
Const Attr = vbNormal & vbReadOnly & vbHidden & _
vbSystem & vbVolume & vbDirectory & _
vbArchive


Jemand hat mir mitgeteilt, es sei besser so.
Oder liege [b]ich[/b] falsch?
Von TScherno am 04.04.2002 um 21:59
Ich find diese Art des Verzeichniss auslesens nicht schlecht, ich benutze sie für meinen Telnet-Server.
Von MichaelG am 30.01.2002 um 12:47
hi,
stell solche frage lieber ins form. und nunja, ich hoff es kommt nicht zu spät ;P
Const Attr = vbNormal Or vbReadOnly Or vbHidden Or _
vbSystem Or vbVolume Or vbDirectory Or _
vbArchive
durch
Const Attr = vbNormal or vbDirectory
ersetzen
Von Max am 04.05.2001 um 21:44
Ja noch ne Frage:
Wie kann ich es machen, dass nur "ORdner" angezeigt werden???
Die Dateien brauche ich nämlich nicht.
Von Max am 04.05.2001 um 21:36
Hi ihr.
Ich ifnde eure Seite wirklich gut und als ich den Tip hier gelesen hab bin ich verrückt geworden.
Ich habe vor einem Monat mal in euer (geiles) Forum ne Frage gestellt, die sieser Tip hier beantwortet. Macht hir das Extra so oda is das zufall? Macht weiter so.

Erstellt: 15.06.2003
Aktualisierung: 15.06.2003
  Autor: ActiveVB
E-Mail: Tipps@ActiveVB.de



Copyright © 1998-2010 by ActiveVB
Alle Rechte vorbehalten.