AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

FormKeyUp Event

Ein Thema von Edelfix · begonnen am 16. Apr 2020 · letzter Beitrag vom 16. Apr 2020
Antwort Antwort
Seite 1 von 2  1 2   
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#1

FormKeyUp Event

  Alt 16. Apr 2020, 08:51
Hallo,

ich glaube ich stehe grad auf der Leitung.
Es geht darum das ich einen Quellcode von onKeyPress zu OnKeyUp umgezogen habe weil OnKeyPress nicht mehr feuert.
In OnKeyPress konnte ich mit Key: Char arbeiten.
In OnKeyUp muss ich mit Key: Word arbeiten.

Wie erkenne ich ob die Taste 1 (Zahl: eins) gedrückt wurde oder die Taste 1 (Zahl: eins) von dem NumLockBlock?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.979 Beiträge
 
Delphi 12 Athens
 
#2

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:06
Die auf dem Nummernblock hat den Code VK_NUMPAD1
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.979 Beiträge
 
Delphi 12 Athens
 
#3

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:09
Der Vollständigkeit halber: Die Zifferntasten im Alpha-Block haben die normalen Char-Codes, also $31 für die '1'.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.753 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:10
.. kannst Du da nicht die virtuellen KeyCode nutzen?

vk0 0-Zahl
vkNumPad0 0-Zahl vom Nummernblock.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:13
So in etwa?

Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
  if key=vkNumpad1 then
    FSuchString := Char(49)
  else
    FSuchString := Char(key);
end;
Dann muss ich jede Taste einzeln abarbeiten.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.979 Beiträge
 
Delphi 12 Athens
 
#6

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:17
Kommt drauf an, was du erreichen willst. Sollen die Num-Ziffern als normale Ziffern interpretiert werden?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.753 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:18
.. warum willst Du die denn überhaupt unterscheiden.
char(49) ist die Ziffer 1 - wenn NunMlock gedrückt ist, dann liefert auch das NumPad die Ziffer 1.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:22
Beim drücken auf eine Taste öfnet sich ein Eingabefeld (FSuchString).

Wenn eine Num Taste gedrückt wird dann kommt als erste Eingabe ein Buchstabe.

Bei Num Taste 1 ist es "a". Weil Key=79 ist und mit Char(Key) bekomme ich ein "a".
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.979 Beiträge
 
Delphi 12 Athens
 
#9

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:30
Delphi-Quellcode:
  if Key in [VK_NUMPAD0 .. VK_NUMPAD9] then
    Key := $30 + Key - VK_NUMPAD0;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: FormKeyUp Event

  Alt 16. Apr 2020, 09:40
Perfekt.
Das ist die Lösung.

Vielen Dank Uwe.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:22 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