Du willst, jetzt rein mathematisch gesehen, zwischen 2 y-Werten (y0=Anfangswert zu y1=Endwert) eine Funktion linear laufen lassen, und zwar über den Bereich x0 bis x1 (x entspricht in deinem Fall der Zeit, also x0=t0=0 bis x1=t1=5 sec.)
Deine Gleichung lautet, da du ja einen linearen Zusammenhang vorgibst,
Dabei ist k die Steigung, die du noch zu ermitteln hast. Du hast aber noch einen Fixpunkt, den du dir vorgibst, nämlich
Daraus läßt sich die Steigung k bestimmen
Und somit wird deine Funktion:
Code:
y = [(y1-y0)/x1] * x + y0
Um dies jetzt in Delphi umzusetzen, lässt du x über den Bereich x0 bis x1 in beliebig kleinen Schritten variieren. Etwa so:
Delphi-Quellcode:
begin
x := x0 ;
k := (y1-y0) / x1 ;
Schrittweitex := 0.1 ;
while x <= x1 do begin
y := k*x + y0 ;
// SetzeLautstärke
// eventuell noch eine Pause einbauen, da die Schleife sonst zu schnell durchläuft.
// Alternativ kannst du das Ganze auch mit einem Timer lösen
x := x + Schrittweitex
end ;
end ;