Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi j-Taste abfangen? (https://www.delphipraxis.net/184560-j-taste-abfangen.html)

AlexII 6. Apr 2015 12:53

Delphi-Version: 7

j-Taste abfangen?
 
Hallo Jungs,

ich fange die j Taste wie folgt ab:

Delphi-Quellcode:
  if Key = 'j' then // 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!

DeddyH 6. Apr 2015 12:55

AW: j-Taste abfangen?
 
Ein j bleibt ein j, und das hat einen festgelegten Wert im Zeichensatz.

AlexII 6. Apr 2015 13:05

AW: j-Taste abfangen?
 
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?

bernau 6. Apr 2015 13:18

AW: j-Taste abfangen?
 
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.

DeddyH 6. Apr 2015 13:18

AW: j-Taste abfangen?
 
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.

AlexII 6. Apr 2015 13:22

AW: j-Taste abfangen?
 
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.

bernau 6. Apr 2015 13:22

AW: j-Taste abfangen?
 
Vieleicht hilft folgender Thread. (Letzter Beitrag)

http://www.delphipraxis.net/154459-k...-erfahren.html

milos 6. Apr 2015 13:24

AW: j-Taste abfangen?
 
Zitat:

Zitat von AlexII (Beitrag 1296321)
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? :D

Freundliche Grüsse

bernau 6. Apr 2015 13:28

AW: j-Taste abfangen?
 
Zitat:

Zitat von milos (Beitrag 1296328)
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? :D

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.

AlexII 6. Apr 2015 13:29

AW: j-Taste abfangen?
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.
Seite 1 von 5  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz