Huhu,
also ich habe folgendes Problem (es geht grundsätzlich um einen Musik-Player):
Ich lasse aus einer .txt, die ein bestimmtes Muster hat, automatisch ein Tray-Menü erstellen... Das klappt soweit auch genau, wie ich mir das vorstelle
Jede Zeile der .txt hat eine gleichmäßige Struktur, aber die Anzahl der Zeilen variiert.
Nun möchte ich aber auch wenn ich mich im Tray-Menü so durchhangel, dass ich direkt die Songs auswählen kann; sprich wenn ich den Titel eines Songs klicke, möchte ich den dazugehörigen Pfad aus der .txt geliefert bekommen...
Bisher habe ich schon Möglichkeiten mit "TrayItemSetOnEvent" und "TrayItemGetText" probiert, aber leider nichts funktionierendes gefunden, da immer der letzte Eintrag der .txt im Hinterkopf des Scripts ist...
Da muss es doch eine Möglichkeit geben das ganze so zu basteln, wie das gewollt ist
Beste Grüße und ich hoffe auf Denkanstöße Andy
PS: Script + .txt im Anhang
Spoiler anzeigen
#include <Constants.au3>
#include <File.au3>
Opt('TrayAutoPause', 0)
Opt('TrayMenuMode', 1)
Opt('TrayOnEventMode', 1)
$Tracklist = @ScriptDir & "\List.txt"
$Tracks_Pfad = "C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Musik\z.Music (Script)\"
Tray_Erstellen()
While 1
Sleep(100)
WEnd
Func Tray_Erstellen()
$Tray_Interpret_2 = "..."
$Tray_Album_2 = "..."
TrayCreateItem(_FileCountLines($Tracklist) & " Tracks")
TrayItemSetState(-1, $TRAY_DISABLE)
TrayCreateItem("")
$File = FileOpen($Tracklist, 0)
For $i = 1 to _FileCountLines($Tracklist) Step +1
Global $Tray_Line_Track = FileReadLine($File, $i)
$Tray_Name = StringTrimLeft($Tray_Line_Track, StringLen($Tracks_Pfad))
$Tray_Titel = StringTrimRight(StringMid($Tray_Line_Track, StringInStr($Tray_Line_Track, " - ", 0, 3) + 3), 4)
$Tray_Interpret = StringTrimRight($Tray_Name, StringLen($Tray_Name) - StringInStr($Tray_Name, " - ") + 1)
$Tray_Album = StringTrimLeft(StringTrimRight($Tray_Name, StringLen($Tray_Name) - StringInStr($Tray_Name, " - ", 0, 2) + 1), StringLen($Tray_Interpret) + 3)
If $Tray_Interpret <> $Tray_Interpret_2 Then
$Track_aus_Album = 1
$Menu_Interpret = TrayCreateMenu($Tray_Interpret)
EndIf
$Tray_Interpret_2 = $Tray_Interpret
If $Tray_Album = "" Then
$Track_aus_Album = 0
TrayCreateItem($Tray_Titel, $Menu_Interpret)
ElseIf $Tray_Album <> $Tray_Album_2 Then
If $Track_aus_Album = 0 Then
TrayCreateItem("", $Menu_Interpret)
$Track_aus_Album = 1
EndIf
$Menu_Album = TrayCreateMenu($Tray_Album, $Menu_Interpret)
TrayCreateItem($Tray_Titel, $Menu_Album)
Else
TrayCreateItem($Tray_Titel, $Menu_Album)
EndIf
$Tray_Album_2 = $Tray_Album
Next
TrayCreateItem("")
TrayCreateItem("Beenden")
TrayItemSetOnEvent(-1, "_Exit")
FileClose($File)
EndFunc
Func _Exit()
Exit
EndFunc