Hallo EWeiss,
vielleicht nicht die eleganteste Art und Weise, aber gut nachzuvollziehen. So als Gedenkstütze in Pseudocode. Das Prinzip sollte klar sein...
Delphi-Quellcode:
var PlayList : TObjectList<SongItems>
PlayListShuffled : TObjectList<SongItems>
CurrentIdx : Integer;
i : Integer;
begin
[...]
for i := 0 to PlayList.Count-1 do begin
CurrentIdx := Random(PlayList.Count-1);
PlayListShuffled.AddItem(PlayList[CurrentIdx]);
PlayList.Delete(CurrentIdx);
end;
[...]
Viel Erfolg.