AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

j-Taste abfangen?

Ein Thema von AlexII · begonnen am 6. Apr 2015 · letzter Beitrag vom 7. Apr 2015
Antwort Antwort
Seite 1 von 5  1 23     Letzte » 
AlexII

Registriert seit: 28. Apr 2008
1.707 Beiträge
 
FreePascal / Lazarus
 
#1

j-Taste abfangen?

  Alt 6. Apr 2015, 11:53
Delphi-Version: 7
Hallo Jungs,

ich fange die j Taste wie folgt ab:

  if Key = 'jthen // mach was Nun kann es aber sein, dass der User eine andere Belegung der Tastatur eingeschaltet hat, wie fange ich dann diese Taste ab? Läuft das nicht irgendwie über die ASCII-Tabelle?

Danke!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!

Geändert von AlexII ( 6. Apr 2015 um 11:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.081 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 11:55
Ein j bleibt ein j, und das hat einen festgelegten Wert im Zeichensatz.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 6. Apr 2015 um 12:09 Uhr)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.707 Beiträge
 
FreePascal / Lazarus
 
#3

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 12:05
Welcher ist das, wo kann man das nachschauen? Aber wenn die Belegung auf ne andere Sprache umgestellt wird, funktioniert das nicht mehr. Was mache ich dann?
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.103 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 12:18
Due bekommst nicht die physikalische Taste übergeben, sondern der Buchstabe, der laut Ländereinstellung der Taste zugewiesen ist. Wenn durch eine andere Ländereinstellung, das "j" nicht mehr bei "j" ist, dann bekommst du den Buchstaben, der nun auf der "j"-Taste gemappt ist.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.081 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 12:18
Wenn Du das Tastaturlayout umstellst, stimmt zwar die Beschriftung der Tastatur ggf. nicht mehr mit den gesendeten Zeichen überein, diese bleiben aber nach wie vor dieselben. D.h. stellst Du z.B. auf Englisch (USA) um und drückst die y-Taste auf einer deutschen Tastatur, wird ein z gesendet und andersherum.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.707 Beiträge
 
FreePascal / Lazarus
 
#6

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 12:22
Ja das ist mit klar, aber wie reagiere ich auf die j-Taste in allen Sprachen? Ich meine mir ist egal welches Zeichen da gesendet wird, ich brauche die Taste... sobald die j-Taste gedrückt wird, die Sprache ist egal, reagiert mein Prog darauf.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.103 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 12:22
Vieleicht hilft folgender Thread. (Letzter Beitrag)

http://www.delphipraxis.net/154459-k...-erfahren.html
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
486 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 12:24
Läuft das nicht irgendwie über die ASCII-Tabelle?
Nein ein normaler String in Delphi ist ein Unicode-String. (Ab Delphi 2009 soweit ich weiss, bei älteren ist es noch ein ASCII-String)
http://unicode-table.com/en/ Für die Unicode Tabelle
http://www.asciitable.com/ Die Ascii Tabelle
Edit: Sehe gerade du benutzt Delphi 7, in diesem Fall ists ein ASCII-String


Aber wie gesagt, ein "J" bleibt eigentlich ein "J".
z.B.
Auf der englischen Tastatur ist das "Y" wo bei uns das "Z" ist und umgekehrt.
Wenn jetz jemand mit einem englischen Tastatur layout bei sich auf das "Z" klickt, was bei dir jedoch das "Y" ist, wird trotzdem ein "Z" gesendet, da eben genau dafür die Tabelle und die Tastaturlayouts da sind.

Also wenn du ein "J" abfragen willst, egal welche Sprache er eingestellt hat, frag einfach das ganz normale "J" ab? Wo soll da das Problem sein?

Freundliche Grüsse
Milos
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.103 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 12:28
Also wenn du ein "J" abfragen willst, egal welche Sprache er eingestellt hat, frag einfach das ganz normale "J" ab? Wo soll da das Problem sein?
Kann ja sein, daß er eine deutsche Tastatur hat und damit rechnent, daß ggf. die Ländereinstellung geändert wird. Er will aber immer diese eine Taste ansprechen.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.707 Beiträge
 
FreePascal / Lazarus
 
#10

AW: j-Taste abfangen?

  Alt 6. Apr 2015, 12:29
Ok... funktioniert bei mir aber nicht, sobald ich die Sprache umstelle gleicht die if-Abfrage dem False Wert. Schalte ich zurück auf Deutsch = klappt es wieder.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
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 18:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf