AGB  ·  Datenschutz  ·  Impressum  







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

Liste der Tastennamen

Ein Thema von Die Muhkuh · begonnen am 17. Sep 2003 · letzter Beitrag vom 18. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

Liste der Tastennamen

  Alt 17. Sep 2003, 14:30
hi Leute ich hätt mal gern gewusst wie die einzelnen Tasten auf der Tastatur in Delphi heißen!
Ich was nur das #0 nix ist.


Spider
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Liste der Tastennamen

  Alt 17. Sep 2003, 14:40
Hier mal ein Aufruf aus einer meiner Komponenten.

GetKeyNameText(VCode shl 16, Buffer, SizeOf(Buffer));

Dies ist eine Win32-Funktion die zum virtuellen Tastencode den lokalisierten Namen liefert.
Denk daran es Kleinbuchstaben usw dabei nicht gibt. Es ist der Name der physischen Taste.

Die Funktion ist in einer laenderspezifischen DLL von Windows implementiert.
Ich habe bemerkt das die Win98-Implementation besser als die Win 2000-Implementation ist.
Win 98 liefert korrekt 'Ü', waehrend Win 2000 'ü' liefert.
eines der vielen Zeichen das Win 2000 schlampig implementiert wurde.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Liste der Tastennamen

  Alt 17. Sep 2003, 14:44
Nene das mein ich nicht!

Es gibt bestimmt ne Liste(oder vielleicht schreibt sie einer)
Delphi-Quellcode:
#0 = ''
#1 = '1'//Stimmt bestimmt nicht aber so mein ich das
Spider
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: Liste der Tastennamen

  Alt 17. Sep 2003, 15:12
Doch das meinst du
Andere Tastennamen gibt es nicht.
Die Liste kannst du dir ja selber erstellen. Die Funktion kennst du ja jetzt.

Falls du die Namne der ASCII-Zeichen meinst, das ist etwas voellig anderes.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Liste der Tastennamen

  Alt 17. Sep 2003, 15:54
Hi Spider,
Hier im Forum suchenVirtual Keycodes und Virtual KeycodesVirtual Keycodes! Das dürfte das sein, was du suchst. Ansonsten habe ich dich falsch verstanden.

Chris

PS: Die Funktion von Robert ist aber identisch, nur das die VKs Konstante sind.
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#6

Re: Liste der Tastennamen

  Alt 17. Sep 2003, 15:59
ORD() kannst du die Konstante umwandeln.
Du kannst du auch in der Online-Hilfe danach suchen, gleiche Suchbegriffe...
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Liste der Tastennamen

  Alt 18. Sep 2003, 13:49
THX @Chakotay1308

@all

wie rufe ich nun die Tasten auf???
Delphi-Quellcode:
if VK_A then
...
???


Spider
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#8

Re: Liste der Tastennamen

  Alt 18. Sep 2003, 13:59
Zitat von Spider:
wie rufe ich nun die Tasten auf???
Ws meinst Du mit aufrufen?

Die meisten Events, die bei Tastendruck aufgerufen werden (z.B. OnKeyPress) liefern den Parameter Key mit.

Du kannst dann mit if key = VK... abfragen welche Taste gedrückt wurde.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Liste der Tastennamen

  Alt 18. Sep 2003, 14:01
@Phoenix

Das ist genau das was ich gesucht hab!
Delphi-Quellcode:
 if Key = VK_A then
  //mach was

Spider
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#10

Re: Liste der Tastennamen

  Alt 18. Sep 2003, 14:03
So langsam verstehe ich endlich die Frage (die Signatur hilft).

Von Windows kommen "virtuelle" Tastencodes. Das bedeutet das die Tastencodes sprachunabhaengig sind und die gedrueckte Taste bedeuten.
Es gibt also kein 'a' sondern nur ein 'A', da es ja keine Taste fuer ein kleines A gibt.
WM_KEYDOWN uebermittelt so einen Tastencode. Wenn dein Programm intern TranslateMessages aufruft, so werden die WM_KEYDOWNs und WM_KEYUPs interpretiert und WM_CHAR generiert. Dort ist dann ein Buchstabe vorhanden.

Die virtuellen Tastencodes sind in Windows.pas mit dem Praefix VK_ als Konstanten vorhanden. Fuer die einfachen Tasten wie A, B, C etc gibt es keine Konstanten, da der Wert dem ASCII-Zeichen entspricht.
Ein (nicht vorhandenes) VK_A hat also den Wert Ord('A').

if Code = VK_UP then
fragt also ob die Pfeil-nach-oben-Taste gedrueckt wurde.


Deine urspruengliche Frage wollte den Namen der Taste wissen. Das ist aber etwas ganz anderes.
Was du wissen wolltest ist der Wert der Taste.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:51 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