AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastaturcode bekommen

Ein Thema von luckystar85 · begonnen am 1. Okt 2005 · letzter Beitrag vom 3. Okt 2005
Antwort Antwort
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#1

Tastaturcode bekommen

  Alt 1. Okt 2005, 18:19
Moin,

wenn ich bei einem Edit das Ergeibnis OnKeyDown verwende, wird mir mit Hilfe von "Key" der Tastaturcode überreicht. Kann ich den auch irgendwie bekommen ohne auf das Ereignis KeyDown zurück zugreifen?
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Tastaturcode bekommen

  Alt 1. Okt 2005, 18:25
ja, mit VKKeyScan oder einfach mit "ord"
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Tastaturcode bekommen

  Alt 2. Okt 2005, 18:57
Mit Ord ist das nicht der gleiche Wert. Bsp. a = 65 in OnKeyPress und Ord a = 97. Mit Ord hatte ich das auch schon probiert nur leider ging das nicht. Habt Ihr noch andere Ideen?
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Tastaturcode bekommen

  Alt 2. Okt 2005, 19:04
das hängt dann eher damit zusammen das ord('a') nicht das gleiche ist wie ord('A').
Desweiteren schreibst du einmal was von OnKeyPress und das andere mal was von OnKeyDown. Da gibt es einen Unterschied (siehe Hilfe und Typ des übergabeparameters).
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: Tastaturcode bekommen

  Alt 2. Okt 2005, 19:18
Man muss natuerlich lernen was man da wirklich kriegt.
Von der Tastatur bekommt man zuerst Scan Codes. Diese werden mit Hilfe des aktuellen Tastaturlayouts in virtuelle Keycodes uebersetzt.
Bis hierhin lebt man noch in der Welt der Tasten nicht der Zeichen. Es gibt also noch gar kein kleines a.
Erst die naechste Uebersetzungsstufe macht daraus Zeichen. Erst dann macht das kleine a ueberhaupt Sinn.
VK_A ist also Ord('A') nicht Ord('a').
Die ganze Tastaturverwaltung ist noch erheblich komplizierter.
Da gibt es z. B. noch die Dead Keys. Das sind die Tasten die erst nach der folgenden Taste ueberhaupt ein Zeichen ergeben.

OnKeyDown und OnKeyUp entsprechen den Windows-Messages WM_KEYDOWN und WM_KEYUP. Diese operieren auf virtuellen Keycodes.
Erst die Verarbeitung der Messages mit TranslateMessage erzeugt dann WM_CHAR Messages die OnKeyPress entsprechen. Dort bekommt man dann Zeichen.
Die Umsetzung ist nicht 1 zu 1. WM_KEYDOWN : VK_SHIFT, WM_KEYDOWN : VK_A, WM_KEYUP : VK_A, WM_KEYUP : VK_SHIFT loest nur ein WM_CHAR : 'a' aus.
  Mit Zitat antworten Zitat
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Tastaturcode bekommen

  Alt 2. Okt 2005, 19:22
Also kann ich wenn ich immer mit Ord(UpperCase(Zeichen)) den Tastaturcode bekommen?
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Tastaturcode bekommen

  Alt 2. Okt 2005, 20:31
@Luckystar: am besten du sagst uns um welches ereignis es geht, um OnKeyDown oder um OnKeyPress?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Tastaturcode bekommen

  Alt 2. Okt 2005, 20:32
Wie in meinen ersten Posting erwähnt OnKeyDown.
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: Tastaturcode bekommen

  Alt 3. Okt 2005, 06:00
Nur fuer die Ziffern 0..9 und die Buchstaben A..Z stimmen virtueller Keycode und ASCII Code ueberein.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 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