# Dateien auflisten



## bernimoses (10. September 2008)

Hallo,

ich habe noch keine Ansätze weil ich es mir ehrlich gesagt nicht richtig vorstellen kann wie das gehen soll. Aber ich will alle Datein eines Ordner auflisten und in einer Listbox ausgeben eins nach dem anderen. Ich hoffe das sich da einer von euch besser auskennt. 
Das ganze soll VB6 sein und Unterverzeichniss beinhalten. 

OK hat sich erledigt jetzt versuch ich gerade items einzeln aus der ,listbox auszlesen und per msgbox zu zeigen bekomm es aber nicht hin .^^ Help.

ebenfalls erledigt wenn es jmd wissen will sagen 

Ach misst brauch doch nommal hilfe bekomms ned hin dass alle datein inklusive unterverzeichnissse der unterverzeichnisse des ahupverzeichnisses,... angezeigt werden. Hier mal mein jetztiger code:

```
Option Explicit
'Calling SendMessage function from User32
Private Declare Function SendMessageA Lib "user32" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

'Declare constant flags
Private Const LB_DIR = &H18D
Private Const DDL_DIRECTORY = &H10
Private Const DDL_ARCHIVE = &H20
Private Const DDL_EXCLUSIVE = &H8000&

Private Sub ListBox_ShowFolder(ByRef lstTarget As ListBox, ByVal strPath As String, _
                               Optional blnShowFolders As Boolean = True)

  Dim lngReturn As Long
  Dim lngFlags As Long
  
  On Error Resume Next
  
  If Not (blnShowFolders) Then
    ' Show only files
    lngFlags = DDL_EXCLUSIVE Or DDL_ARCHIVE
  Else
    ' Show files and folders
    lngFlags = DDL_EXCLUSIVE Or DDL_ARCHIVE Or DDL_DIRECTORY
  End If
  
   ' Clear the Listbox
  'lstTarget.Clear
   ' Fill the Listbox with the content of strPath
  lngReturn = SendMessageA(lstTarget.hWnd, LB_DIR, lngFlags, ByVal strPath)

End Sub

Private Sub Command1_Click()
    End
End Sub

Private Sub Command2_Click()
    ListBox_ShowFolder List1, "C:\Dokumente und Einstellungen\Administrator\Desktop\mangos rev 6483 sd2ger rev 425\*", True
    Dim x As Integer
    Dim file As String
    Dim yon As String
    Dim folder(10000) As String
    Do
        x = x + 1
        file = List1.List(x)
        yon = Right$(file, 1)
        If yon = "]" Then
            If Not file = "[..]" Then
                folder(x) = Right$(file, InStr(file, "]") - 1)
                folder(x) = Left$(folder(x), InStr(folder(x), "]") - 1)
                ListBox_ShowFolder List1, "C:\Dokumente und Einstellungen\Administrator\Desktop\mangos rev 6483 sd2ger rev 425\" & folder(x) & "\*", True
            End If
        End If
        
    Loop Until x + 1 = List1.ListCount
End Sub
```


----------



## Zvoni (11. September 2008)

Die Zauberworte sind "Rekursion" und die "Dir"-Funktion bzw.
"Rekursion" und die API's "FindFirstFile" und "FindNextFile"


----------



## bernimoses (11. September 2008)

kannst du mir nicht mit einem Beispielcode helfe die Rekursion sagt mir nichts. 

Danke schonmal


----------



## Zvoni (11. September 2008)

Rekursion sagt dir nix? Sollte dir aber, da "Rekursion" ein integraler Bestandteil des Programmierens ist.

Rekursive Funktion=Eine Funktion, die sich selbst aufruft.

Tip: Du scheinst blutiger Anfänger zu sein, also solltest du dir zuerst mal grundlegenste Programmiertechniken aneignen, bevor man an so eine Sache herangeht, wie du anscheinend vorhast. Glaub mir, der Frustfaktor, der aus dem "Nicht-Wissen" dieser Basics entsteht kann enorm sein.


----------



## bernimoses (11. September 2008)

Ganz blutig bin ich nun auch nicht mehr und ich weiß mittlerweile ahc was Rekursion ist. (hab mein chef gefragt  ). Ich habe das nur noch nie in Verbindung mir dem Wort gehört aber danke.


----------

