also alles läuft bis hier hin
Zitat:
Delphi-Quellcode:
procedure TForm1.ListBox1Click(Sender: TObject);
var i : integer;
begin
for i :=0 to listbox1.Count - 1 do
if listbox1.Selected[i] then
begin
{ nun haben wir in i die nummer der selektierten Zeile
da Listbox und Playlist eine identische Reihe der Einträge und gleiche Sortierung
vorweisen, können wir mit dem erhaltenen index den richtigen Eintrag der Playlist
auslesen. }
PlayFile(i);
break;
end;
end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject); // unser neues Notify-Event
begin
if mediaplayer1.Position = mediaplayer1.Length then begin
// position = gesamtlänge, bedeutet dass das lied beendet wurde
Listbox1.Selected[currentSong] := false; // das gerade gespielte lied de-selektieren
inc(currentSong); // aktuellen song um eines erhöhen
if currentSong < Playlist.Count -1 then { alles passt, songindex im rahmen}
else currentsong := 0; {ende der liste erreicht, setze aktuelles lied auf anfang}
PlayFile(CurrentSong);
Listbox1.Selected[currentSong] := true; // das aktuelle lied selektieren
end;
end;
end
.
entweder stopt er bei end; oder bei break oder bei Listbox1.Selected[currentSong] := true;