Thema: Delphi Tastaturpuffer leeren

Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Tastaturpuffer leeren

  Alt 12. Jul 2005, 10:44
So ähnliches wollte ich auch gerade schreiben. Möglicherweise gibt es in deinem Programmcode
eine Stelle (Schleife While oder For oä.) was dein Programm "blockiert" und die Tastatureingabe nicht abarbeitet.
Eine Application.ProcessMessages könnte in diesem Falle helfen.

Delphi-Quellcode:
function KeyPressed: Integer;
var
   i: Integer;
   buf: TKeyboardState;
begin
   Result := -1;
   if GetKeyboardState(buf) then
      for i := 0 to High(buf) do
         if (buf[i] and $80)<>0 then
         begin
            Result := i;
            Exit;
         end;
end;

procedure TFormX.Steuerung...
begin
  repeat
    case KeyPressed of
       VK_UP: ;
       VK_DOWN: ;
       VK_LEFT: ;
       VK_RIGHT: ;
    end;
    Application.ProcessMessages;
  until KeyPressed = VK_ESCAPE;
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat