Also wenn ich das richtig verstanden habe, dann möchte er gerade dass das Männchen nur einen Schritt macht, auch wenn die Taste weitere Signale sendet. Ich würde es so machen:
Delphi-Quellcode:
var
down : boolean;
[..]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if down then exit;
if ani in [11..14] then
case key of
vk_right: ani:=11;// 1=gehen 1=rechts
end;
down := true;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
down := false;
end;
Du musst halt "down := false;" noch zu beginn des Programmes eintragen. Den Timer brachst du nicht mehr und KeyUp muss halt wie KeyDown eingetragen werden.