AGB  ·  Datenschutz  ·  Impressum  







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

VirtualKeys to Char

Ein Thema von Gruber_Hans_12345 · begonnen am 14. Apr 2005 · letzter Beitrag vom 14. Apr 2005
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#1

VirtualKeys to Char

  Alt 14. Apr 2005, 09:53
gibt es eine Funktion mit der ich aus den Parameter eines OnKeyDown (Key und Shiftstate) den dazugehörigen char rausfinde.
Ich kann leider nicht die OnKeyPress Funktion verwenden.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: VirtualKeys to Char

  Alt 14. Apr 2005, 09:58
Solange es nur alphanumerische zeichen/ Tasten sind, sollte es mit Delphi-Referenz durchsuchenChr gehen.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#3

Re: VirtualKeys to Char

  Alt 14. Apr 2005, 10:01
Schlag mal die Win32 Funktion MapVirtualKey nach.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#4

Re: VirtualKeys to Char

  Alt 14. Apr 2005, 10:17
Nein, sind nicht nur alphanumnerische Zeichen sonder auch Sonderzeichen.

macht MapVirtualKey nicht was anderes (Scan Code to Virtual Code) ich brauche aber VirtualCode to Char oder ?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#5

Re: VirtualKeys to Char

  Alt 14. Apr 2005, 10:59
VK_ fuer ASCII-Zeichen sind die ASCII-Zeichen selbst.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#6

Re: VirtualKeys to Char

  Alt 14. Apr 2005, 11:08
Zitat von Robert Marquardt:
VK_ fuer ASCII-Zeichen sind die ASCII-Zeichen selbst.
Aber ich brauche das umgekehrte VK -> Char und da habe ich Probleme mit den Tasten auf dem Nummernblock, mit großen / kleinen Buchstaben ....
Ich kann natürlich alles selbst abfragen und abfangen, nur dachte ich mir, da gibt es sicher eine Funktion, der ich einen VK_Key oder Scan Key, den aktuellen Shift Status gebe und ich dann das Zeichen bekomme, das es darstellen soll.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: VirtualKeys to Char

  Alt 14. Apr 2005, 11:47
Wenn du z. B. Pos1 drueckst, so gibt es dafuer nur den VK_ Code. Einen Char gibt es dazu nicht.
Falls du die Beschriftung der Taste meinst, so ist diese ueber GetKeyNameText erhaeltlich.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#8

Re: VirtualKeys to Char

  Alt 14. Apr 2005, 12:09
hmm, ich möchte die selben Parameter wie die im OnKeyPress Event.

d.h. wenn ich Shift + A -> "A"
bei A -> "a"
bei Numpad * -> "*"
bei Shift + Numpad * -> "*"
bei + -> "+"
bei Shift + "+" -> "*"

wenn sonstige nicht ASCII Tasten gedrückt werden, dann möchte ich #0 zurückbekommen (oder sonst was, was nicht anzeigbar ist)

... habe gerade die Funktion toAscii gefunden, laut API Hilfe sieht die so aus als ob die das macht, was ich möchte, mal schaun ob's funktioniert.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#9

Re: VirtualKeys to Char

  Alt 14. Apr 2005, 12:14
Juhu, funktioniert .....

Falls mal wer sowas ähnliches braucht .....
Delphi-Quellcode:
var tempC : array [1..2] of Char;
    keystate : TKeyboardState;
begin
    GetKeyboardState(keystate);

    if ToAscii(Key, MapVirtualKey(key, 0), keyState, @tempC[1], 0) > 0 then begin

        Edit3.Text := Edit3.Text + tempC[1];
    end;
Gruss Hans

2B or not 2B, that is FF
  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 16:36 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