Das habe ich daraus gemacht

:
Code: Alles auswählen
; PureBasic 4.00!
Procedure sucheMusikdateien(pfad.s, Liste.s(), typ.s="mp3,wma,wav")
PathAddBackslash_(@pfad) ; Hängt Backslash an, falls nötig
Protected dir=ExamineDirectory(#PB_Any, pfad, ""), n
If dir
While NextDirectoryEntry(dir)
If DirectoryEntryType(dir) = #PB_DirectoryEntry_File
For n=1 To CountString(typ, ",")+1
If StringField(typ, n, ",") = LCase(GetExtensionPart(DirectoryEntryName(dir)))
AddElement(Liste())
Liste()=pfad+DirectoryEntryName(dir)
Break
EndIf
Next
Continue
ElseIf DirectoryEntryName(dir) <> "." And DirectoryEntryName(dir) <> ".."
sucheMusikdateien(pfad+DirectoryEntryName(dir), Liste(), typ)
EndIf
Wend
FinishDirectory(dir)
EndIf
EndProcedure
NewList MeineMucke.s()
OpenWindow(0, 0, 0, 600, 400, "Musik", #PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
ButtonGadget(0, WindowWidth(0)-105, 5, 100, 20, "Auflisten")
StringGadget(1, 5, 5, 485, 20, "C:\")
ListViewGadget(2, 5,30, 590, 365)
Repeat
Event = WaitWindowEvent()
Gadget= EventGadget()
If Event = #PB_Event_Gadget
If Gadget = 0
sucheMusikdateien(GetGadgetText(1), MeineMucke())
ForEach MeineMucke()
AddGadgetItem(2, -1, MeineMucke())
Next
AddGadgetItem(2, -1, StrQ(CountList(MeineMucke()))+" Dateien gefunden")
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
End