Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Allgemeine Fragen zur Tastatur (https://www.delphipraxis.net/132639-allgemeine-fragen-zur-tastatur.html)

delphi-projekt 16. Apr 2009 16:19


Allgemeine Fragen zur Tastatur
 
Hallo nun haben wir ein Paar wichtige Fragen zur Tastatur.
Wir hoffen ihr könnt uns weiterhelfen.

1.Was bedeutet var Key:Word;Shift:TShiftState

Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
  var b:byte;
2.Was bedeutet ord und wieso müssen wir das <0 setzen?

Delphi-Quellcode:
GetAsyncKeyState(ord('S'))<0
3.Was bedeutet KeyPreview und wieso müssen wir das auf True setzen?

Delphi-Quellcode:
KeyPreview := True;
Vielen Dank schonmal Delphi-Projekt

fkerber 16. Apr 2009 16:23

Re: Allgemeine Fragen zur Tastatur
 
Hi!

Bittet achtet in Zukunft auf die richtige Auswahl eines passenden Unterforums.

ord liefert die Ordinalzahl des Buchstabens zurück - das hätte aber auch die Delphi-Hilfe verraten.
Das mit dem <0 wirkt aus dem Zusammenhang gerissen... (ein if-Konstrukt vllt.?)

KeyPreview muss afair auf true gesetzt werden, damit die Tastatureingaben auch beim Formular ankommen und nicht bei den auf ihm liegenden Komponenten "hängen bleiben".


Ciao, Frederic

DP-Maintenance 16. Apr 2009 17:01

DP-Maintenance
 
Dieses Thema wurde von "Phoenix" von "VCL / WinForms / Controls" nach "Object-Pascal / Delphi-Language" verschoben.
Das ist eher was zur Delphi-Syntax

delphi-projekt 16. Apr 2009 21:06

Re: Allgemeine Fragen zur Tastatur
 
Vielen Dank schonmal

aber eine Frage ist noch offen was bedeutet var Key:Word ; Shift:TShiftState

fkerber 16. Apr 2009 21:13

Re: Allgemeine Fragen zur Tastatur
 
Hi!

Das sind die Parameter der Prozedur: Key vom Typ Word und Shift vom Typ TShiftstate.

In Key wird dann, wenn die Prozedur aufgerufen wird, die gerade losgelassene Taste stehen und in Shift die Informationen über die Shift-Taste.


Ciao, Frederic

toms 16. Apr 2009 21:14

Re: Allgemeine Fragen zur Tastatur
 
Steht doch alles wunderbar in der Hilfe beschrieben Delphi-Referenz durchsuchenOnKeyUp Ereignis

Muetze1 16. Apr 2009 23:28

Re: Allgemeine Fragen zur Tastatur
 
Delphi-Quellcode:
GetAsyncKeyState(ord('S'))<0
Fragt ab, ob die Taste "S" derzeit gedrückt ist. Die Funktion GetAsyncKeyState() setzt das oberste Bit des Rückgabewertes, wenn die Taste aktuelle gedrückt wird. Da das oberste Bit gleichzeitig das Vorzeichenbit ist, ist der Rückgabewert immer negativ, wenn dieses Bit gesetzt ist und somit wenn die Taste gedrückt ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz