![]() |
Playlist Programmieren....
Hallo,
Ich möchte gerne eine Playlist prgrammieren.... Soweit hab ich das eigentlich schon hinbekommen , das einzige was mir jetzt noch fehlt ist das ich das gerne so machen will wie bei winamp oder BPM STUDIO : So das ich aus verschiedenen Verzeichnissen tracks in die Playlist laden kann und in der liste dann aber nur der NAme der file steht...nicht das der pfad noch mit dabei steht Also nur der name ohne Pfad. Kann mir jdm HElfen??? P.S. Ich mache das immoment mit einer FileListBox. |
Re: Playlist Programmieren....
Ich weiss gar nicht ob das mit TFileListBox geht.
So wie ich das lese kann die nur alle Dateien aus einem Ordner anzeigen. Daher würde ich dir eine normale ListBox empfehlen und die kompletten Dateinamen (mit Pfad) in einer TStringList. Dann überträgst du die Namen aus der TStringList nach TListBox.Items mit
Delphi-Quellcode:
Davor sollte die ListBox natürlich leer sein.
for i := 0 to (myStringList.Count - 1) do
ListBoxPlaylist.Items.Append(ExtractFileName(myStringList[i]); Und wenn du dann irgendwelche Änderungen an einer der beiden Listen vornimmst, solltest du diese auch bei der anderen durchführen (z.B. bei verschieben eines Playlisteintrags), denn so kannst du den Index der einen Liste bei der anderen verwenden. Bsp:
Delphi-Quellcode:
Würde dann ganz einfach die Datei abspielen die gerade angewählt wurde (also bei ListBoxPlaylist -> OnClick einfügen). Dafür muss MultiSelect bei der ListBox natürlich false sein aber warum würdest du auch MultiSelect verwenden wollen. =)
for i := 0 to (ListBoxPlaylist.Items.Count - 1) do
begin if ListBoxPlaylist.Items.Selected[i] then Play(myStringList[i]); end; (Wobei die Funktion Play natürlich deine Aufgabe wäre ;) |
Re: Playlist Programmieren....
Erstmal danke ... das kann ich gut verweden!!!
Wo finde ich denn eine string list oder muss ich die einfach wie ne variable deklarieren??? |
Re: Playlist Programmieren....
Die Erklärung zu TStringList in der Hilfe ist eigentlich recht gut:
Delphi-Quellcode:
Die wichtigen Punkte hierbei sind:
procedure TForm1.Button1Click(Sender: TObject);
var TempList: TStringList; { Liste deklarieren } begin TempList := TStringList.Create; { Listenobjekt erzeugen } try { Stringliste verwenden } finally TempList.Free; { Listenobjekt freigeben } end; end; TempList := TStringList.Create; und TempList.Free; Free ist besonders wichtig, da sonst der Speicher für die Stringliste nicht wieder ordnungsgemäß freigegeben wird. Das try.. finally Konstrukt stellt sicher, dass die Liste freigegeben wird, auch wenn (im try Abschnitt) etwas schiefgeht. Du kannst die Stringliste natürlich auch am Start des Programms (Form.OnCreate) erzeugen und beim beenden freigeben. Übrigens, du solltest dir mal die Methoden LoadFromFile und SaveToFile von TStringList anschauen, die könnten dir bestimmt nützlich bei der Dateiarbeit mit der Playlist sein (Laden und Speichern der Playlist). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz