Yo resoloví un problema parecido de la siguiente manera: cree una tabla con el Data Base desktop en donde en uno de los campos guardo como un Tipo Alpha el Path donde se encuentra el tema. Y en el preimero de los dos Campos creados coloco un "ID" para Identificar cada path (El campo "ID" es un numero del tipo Long Integer).
Con este Campo "Id" logre , como veras en la primera parte del codigo, que cuando pulses el boton "siguiente" o "next" y estes parado en el ultimo registro de la tabla, automaticamente pases al primero.
Código Delphi
[-]procedure TFormTrack.SpeedButton2Click(Sender: TObject);
begin if DBGRID1.Columns.Items[0].Field.ASinteger = 13 then begin query1.First; MediaPlayer1.FileName := DBGRID1.Columns.Items[1].Field.ASSTRING; MediaPlayer1.Open;
MediaPlayer1.Play;
end
else QUERY1.Next;
MediaPlayer1.FileName := DBGRID1.Columns.Items[1].Field.ASSTRING;
MediaPlayer1.Open;
MediaPlayer1.Play;
end;
Espero que te sirva....tiene muchas explicaiones....peroes facil de entender...y no son muhcas lineas de codigo, son solo 9 y contadas.