AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Eingabe von "ß" "ä" und "<" über vitu
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabe von "ß" "ä" und "<" über vitu

Ein Thema von Spawni_0815 · begonnen am 18. Jan 2008 · letzter Beitrag vom 18. Jan 2008
Antwort Antwort
Spawni_0815

Registriert seit: 18. Jan 2008
3 Beiträge
 
#1

Eingabe von "ß" "ä" und "<"

  Alt 18. Jan 2008, 02:24
Hallo erst mal ...

hätte ne kurze Frage ... ich hab grad n Programm in dem ich die Eingaben nach folgendem Prinzip erfasst ...

Hier mal der Code (Delphi 6 Personal)
Delphi-Quellcode:
procedure TQuiz.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

{if key = VK_F1 then ...
Jetzt möchte ich für der Programm auch die Tasten "ß", "ä" und "<" nutzen ... jedoch weiss ich die VK_ aliase dafür nicht ...

Oder gibt es vielleicht sonst eine Möglichkeit die Eingaben auf diese Weise zu erfassen ohne VK_ zu benutzen ?

Möchte hald irgendwie mit dem oben beschriebenen "System" die Tastendrücke der Tasten "ß", "ä" und "<" zusätzlich mit einbauen.

Muss ja irgendwie gehen oder ? Man muss doch eigentlich jedes Taste die es auf der Tastatur gibt auch verwenden können ...

Vielen Dank für die Hilfe schon mal

mfg

Spawni
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#2

Re: Eingabe von "ß" "ä" und "<&a

  Alt 18. Jan 2008, 03:34
einfach mal selber testen, was da ankommt, wenn du was drückst

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Memo1.Lines.Add(Format('%d %d', [Key, Byte(Shift)]));
end;
Delphi-Quellcode:
//also bei minem Tastaturlayout und was sonst noch darauf Einfluß hat

if (Key = 219) and (Shift = []) then {ß}
if (Key = 222) and (Shift = []) then {ä}
if (Key = 226) and (Shift = []) then {<}

OnKeyDown dürfte auch nur eine Weiterleitung von WM_KEYDOWN sein.
schau dir mal Folgendes an (siehe MSDN)
Zitat:
WM_KEYFIRST WM_KEYDOWN WM_KEYUP WM_CHAR WM_DEADCHAR WM_SYSKEYDOWN WM_SYSKEYUP WM_SYSCHAR WM_SYSDEADCHAR WM_KEYLAST
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Spawni_0815

Registriert seit: 18. Jan 2008
3 Beiträge
 
#3

Re: Eingabe von "ß" "ä" und "<&a

  Alt 18. Jan 2008, 08:36
Vielen Dank für die schnelle Antwort ... funktioniert super so ...

Wo bekommt man denn die "Zahlenwerte" der einzelnen Tasten her ? Gibts da irgendwo ne Tabelle von dem Zeichensatz der da verwendet wird wo man die Werte rauslesen kann ?

Weil die ASCII-Werte der Zeichen scheinen es ja net zu sein ... die hab ich gestern ja schon versucht und in der ASCII-Tabelle stehen bei den entsprechenden Dezimalwerten ganz andere Zeichen ...

Das mit der Tabelle ist nur rein Interessehalber ... was ich erreichen wollte funktioniert ja jetzt ...

Vielen Dank nochmal ...
  Mit Zitat antworten Zitat
Spawni_0815

Registriert seit: 18. Jan 2008
3 Beiträge
 
#4

Re: Eingabe von "ß" "ä" und "<&a

  Alt 18. Jan 2008, 08:56
Ok, hat sich erledigt ^^ ... sollte mal mein Hirn einschalten am Morgen

Hab das ganze nochmal gründlich durchdacht und bin jetzt drauf gekommen das man sich mit nur n paar Zeilen Code n Programm bauen kann das einem die für Delphi nötigen Dezimalwerte jeder einzelnen Taste beim drücken anzeigen kann.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Eingabe von "ß" "ä" etc.

  Alt 18. Jan 2008, 09:03
virtual keys sind direkt die codes, die von der tastatur kommen. der code von himitsu wird auf anderen keyboard-layouts wohl nicht funktionieren!

Wenn du Delphi 2005 oder höher hast, solltest du Delphi-Referenz durchsuchenVirtual-Key Codes finden, ansonsten hier: MSDN-Library durchsuchenVirtual-Key Codes

Irgendwie sollte die WinAPI diese Keystates aber auf ASCII (bzw. den OEM-Zeichensatz) mappen können, da gibts sicher Funktionen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#6

Re: Eingabe von "ß" "ä" und "<&q

  Alt 18. Jan 2008, 09:14
Hallo,

es gibt zwar VK_A, aber nicht VK_Ä oder VK_AE, man bräuchte ja bei weltweitem Einsatz ungeheuer viele solche Codes. Unter Windows werden die nationalen Sondertasten mit VK_OEMx kodiert, die Zuordnung hängt aber vom aktuellen Tastaturtreiber ab. Zur Umsetzung gibt es die Funktion VkKeyScan, d.h. VkKeyScan ('Ä') liefert den zugehörigen VK_ Code.

Gruss Reinhard
  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 04:41 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