Ich würde übrigens noch .flv mit aufnehmen, für die vielen daylimotion fans

Kiffi hat geschrieben:Das Programm wird aber auf die Dauer recht eintönig sein,
wenn es immer nur ein Lied abspielt
@Zerosurf:Captn. Jinguji hat geschrieben:bei mir spielt es immer das letzte der Liste,egal welches ich anclicke.
Code: Alles auswählen
Procedure sucheMusikdateien(pfad.s, Liste.s(), typ.s="mp3,wma,wav,wmv,avi,ogg")
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|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
ButtonGadget(0, WindowWidth(0)-105, 5, 100, 20, "Auflisten")
StringGadget(1, 5, 5, 485, 20, "media\") ; Verzeichnis welches die Multimediadateien enthält
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
Select EventGadget()
Case 2
Select EventType()
Case #PB_EventType_LeftDoubleClick
p = GetGadgetState(2)
SelectElement(MeineMucke(), p)
RunProgram("VLCPortable\VLCPortable.exe", Chr(34) + MeineMucke() + Chr(34), "") ; Pfad zum Mediaplayer
EndSelect
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
End
Jetzt ist selbständiges Denken gefragt...Zerosurf hat geschrieben: und die nächste frage:
wie kann ich beim starten des programmes die liste automatisch einlesen lassen?
da Du das ganze sowieso auf CD oder DVD packen willst, kannst Du dieZerosurf hat geschrieben:wie kann ich beim starten des programmes die liste automatisch einlesen lassen?
... könnte ja sein, dass sich auf der CD irgendetwas ändert, oder?Zerosurf hat geschrieben:Ich hätte aber gerne alles in einem tool und die möglichkeit die liste stets aktuell einzulesen!
Ähm, ja. Das solltest Du aber am besten wissen, weil Du derjenige bist, derZerosurf hat geschrieben:Die liste wird ja durch den button 0 generiert, richtig?
sorry, aber ich glaube fest daran, dass Du selber in der Lage bist, dieZerosurf hat geschrieben:es muss doch eine einfachere Möglichkeit geben die liste schon beim öffnen ohne benützung des button 0 einlesen zu lassen?
Grüße ... KiffiHeX0R hat geschrieben:Jetzt ist selbständiges Denken gefragt...
Code: Alles auswählen
sucheMusikdateien(GetGadgetText(1), MeineMucke())
ForEach MeineMucke()
AddGadgetItem(2, -1, MeineMucke())
Next
AddGadgetItem(2, -1, StrQ(CountList(MeineMucke()))+" Dateien gefunden")
Code: Alles auswählen
Procedure sucheMusikdateien(pfad.s, Liste.s(), typ.s="mp3,wma,wav,wmv,avi,ogg")
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|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
ButtonGadget(0, WindowWidth(0)-105, 5, 100, 20, "Auflisten")
StringGadget(1, 5, 5, 485, 20, "\") ; Verzeichnis welches die Multimediadateien enthält
ListViewGadget(2, 5,30, 590, 365)
sucheMusikdateien(GetGadgetText(1), MeineMucke())
ForEach MeineMucke()
AddGadgetItem(2, -1, MeineMucke())
Next
AddGadgetItem(2, -1, StrQ(CountList(MeineMucke()))+" Dateien gefunden")
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
Select EventGadget()
Case 2
Select EventType()
Case #PB_EventType_LeftDoubleClick
p = GetGadgetState(2)
SelectElement(MeineMucke(), p)
RunProgram("VLCPortable\VLCPortable.exe", Chr(34) + MeineMucke() + Chr(34), "") ; Pfad zum Mediaplayer
EndSelect
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
End