Hallo,
mal so als Ansatz (leider kann ich noch immer nicht wirklich erkennen was Du da so vor hast)
Delphi-Quellcode:
procedure TForm2.Timer1Timer (Sender : TObject);
begin
SetzeBuchstabenZusammen;
Timer1.Enabled := not SindAlleBuchstabenBereitsZusammengesetzt;
if Timer1.Enabled then
Exit;
if GibtEsNochBuchstabenInDerListeDieZusammengesetztWerdenMüssen then
begin
ZerlegeBuchstabenInEinzelneZeichen;
LadeEntsprechendeSoundDateiUndSpielSieAb;
Timer1.Enabled := True
end
end;
procedure TForm2.MediaPlayer1Notify (Sender : TObject);
begin
if not SoundAbgespielt then
// vielleicht if MediaPlayer1.Position < MediaPlayer1.Length then {oder so ähnlich}
Exit;
if Timer1.Enabled then
// kann ja sein, dass das Zusammensetzen der Buchstaben länger dauer als das abspielen der Sounddatei
Exit;
if GibtEsNochBuchstabenInDerListeDieZusammengesetztWerdenMüssen then
begin
ZerlegeBuchstabenInEinzelneZeichen;
LadeEntsprechendeSoundDateiUndSpielSieAb;
Timer1.Enabled := True
end
end;
Das optimieren kannst Du sicherlich selbst vornehmen.
Gruß