![]() |
Keypressed?
Ich starte mit einem Klick auf einen Button eine Abfrage einer Statusleitung des parallelen Ports und warte, dass dort eine Leitung den Zustand wechselt. Also etwa so:
REPEAT UNTIL (DLPortIO.PortW[Portadr] AND 32)=belastet; Jetzt möchte ich die Schleife um eine Abrruchbedingung durch Tastendruck erweitern. Leider gibt es das alte KEYPRESSED aus Turbo Pascal unter Delphi 3 nicht mehr. Wie kann man das trotzdem hinkriegen, dass in der Schleife ein Tastendruck erkannt wird und nach Tastendruck abgebrochen wird? Mit GetKeyboardState hab ich es nicht hinbekommen, da wurden Änderungen in der Schleife nicht mehr erkannt. Auch mit Hilfe der Timerkomponente kann ich das Problem nicht lösen, da ich eine zeitliche Auflösung von unter 1/100s brauche (Zeitmessung) und das kann die Komponente nicht, so weit ich weiß. |
OnKeypress, OnKeydown je nach dem was du für eine Taste abfangen willst.
Bei der Form gegebenen Falls noch KeyPreview auf TRUE stellen. Und vergiss Application.Processmessages innnerhalb der Schleife nicht. :wink: |
Vielen Dank! Jetzt klappt es beim Drücken eines Abbrechen-Buttons. Das mit Application.Processmessages war mir bisher nicht bekannt...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz