Ich habe vorgeschlagen bei der 2. Schleife 1 dazu zu addieren, dann wird aus 500 501.
vx[k]:= 1000 div ((k-41)*2)+ 1;
Bei mir hatte sich dann jedenfalls die Geschwindigkeit geändert, zumindest wenn ich mehrmals D gedrückt hatte.
Sonst hat der Timer immer nur den Intervall 500 oder 999999.
Einen Breakpoint setzt man für den Debugger, damit kann man dann die Variablen auslesen. Ansonsten setze doch einfach mal eine Listbox zu Testzwecken auf die Form und fügst dann folgenden Code ein, damit kannst du dann den Timer Interval anzeigen lassen, wenn du die Taste D drückst. Listbox1.Enabled muss im
OI auf false gesetzt werden, ansonsten wird onKeyDow der Form nicht ausgelöst.;
Delphi-Quellcode:
if rechtsklick then begin
for i := 81 downto 2 do begin
if (vxTimer.Interval=vx[i]) and not abbruchderschleife then begin
vxTimer.Interval:=vx[i-1];
Listbox1.Items.Add(inttostr(vxTimer.Interval));//nur zur Demo