AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi KeyDown . , - (Punkt, Komma, Strich) + Großbuchstaben

KeyDown . , - (Punkt, Komma, Strich) + Großbuchstaben

Ein Thema von Delphi-Narr · begonnen am 5. Apr 2011 · letzter Beitrag vom 6. Apr 2011
Antwort Antwort
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

KeyDown . , - (Punkt, Komma, Strich) + Großbuchstaben

  Alt 5. Apr 2011, 13:40
Delphi-Version: 6
Hallo,

ich erstelle mir ein Programm, welches je nach Tastendruck eine vordefinierte Funktion ausführen soll.
Deshalb ist in einer Datei jeder Taste eine Nummer zugeordnet.

Also z.B.

Code:
Q=1
A=8
,=10
.=12
-=19
Diese Liste wird dann beim Starten des Programms in eine Stringlist eingelesen und im OnKeyDown Ereignis soll dann
je nach Taste eine Variable X auf den Wert gesetzt werden, der der Taste zugeordnet ist:

Delphi-Quellcode:
for i:=0 to SL.Count-1 do
     begin
          if Key=Ord(SL[i][1]) then
                X:=StrToInt(SL.Values[SL.Names[i]]);
     end;
Dabei ergeben sich zwei Probleme: Es wird nicht zwischen Groß- und Kleinschreibung unterschieden, es wird standardmäßig ein Großbuchstabe verwendet. Also wenn in der Liste steht "a=1" passiert nichts. Später soll jedoch auch zwischen Groß- und Kleinschreibung unterschieden werden, in der Liste soll auch stehen können:

Code:
a=2
A=55
Muss ich da den Shiftstate abfragen oder kann mir das Ereignis das auch selbst ausgeben?

Das zweite Problem ist, dass bei Punkt, Komma und Strich die Werte 188, 189 und 190 (¼ ½ ¾) verwendet werden, was sich jedoch nicht mit , . - (Was bei mir 44, 45, 46 ist) vergleichen lässt.
Wie kann ich diese Problem lösen?

Viele Grüße!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.286 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: KeyDown . , - (Punkt, Komma, Strich) + Großbuchstaben

  Alt 5. Apr 2011, 14:01
Hast Du es einmal im OnKeyPress versucht? Dort ist Key nämlich vom Typ Char und bezeichnet keinen virtuellen Tastencode wie im OnKeyDown.
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
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#3

AW: KeyDown . , - (Punkt, Komma, Strich) + Großbuchstaben

  Alt 6. Apr 2011, 10:18
Das klappt, danke
Ich hatte das in KeyDown gepackt, weil sich das KeyPress Ereignis ja wiederholt...

Viele Grüße!
  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 15:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf