AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastendrücke auswerten, teils umleiten?!?

Ein Thema von SpezialElektronik · begonnen am 22. Jul 2011 · letzter Beitrag vom 22. Jul 2011
Antwort Antwort
SpezialElektronik

Registriert seit: 15. Apr 2011
Ort: Ruhrgebiet
3 Beiträge
 
#1

Tastendrücke auswerten, teils umleiten?!?

  Alt 22. Jul 2011, 11:58
Hallo ans Forum,
ich erkläre mal kurz worum es geht:
Ich schreibe an einem Steuer-Programm (für externer Hardware). Ich habe einige Edit-Felder in denen aber nur Zahlen ggf. Kommata/Punkte eingegeben werden müssen. Einige Tasten des Programms will ich zur direkten Steuerung der Hardware nutzen (Also Ausgabe von Befehlen über Serielle / Parallele Schnittstelle).
Nun zur Frage:
Das Drücken der ESC-Taste (z.B.) kann ich global im Programm über das OnKeyDown-Ereignis der Form abfangen (gut, so läßt sich ein "Stop" unabhängig von der Lage des Focus ermöglichen).
Ebenso kann ich in dieser Prozedure oder in OnKeyPress natürlich auch Buchstaben auswerten - dumm nur, dass diese dann trotzdem in meinen TEdit-Feldern landen. Ist der Focus in meinem Programm auf einem der vielen Buttons gibt es keine Probleme, aber kann ich nicht einfach "global" verhindern, dass Drücke auf Buchstaben-Tasten vom Programm weitergeben werden (z.B. an ein TEdit-Feld, welches gerade den Focus hat)?

Also den Tastendruck in OnKeyDown-Ereignis auswerten und wenn es sich um einen Buchstaben-Char handelt, diesen löschen bevor er an ein Edit-Feld weitergeben wird (das alles nur in meiner Form - andere Programme sollen nicht beeinträchtigt werden - ich suche nicht sowas wie ein Key-Lock o.ä. was ich hier im Forum schon gefunden habe).

Herzlichen Dank schonmal für alle Tipps und Vorschläge.

P.S.: Delpi-Ver.6 und WinXP
Wolf

Geändert von SpezialElektronik (22. Jul 2011 um 12:00 Uhr) Grund: Delphi-Version hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Tastendrücke auswerten, teils umleiten?!?

  Alt 22. Jul 2011, 12:31
Ich weiß nicht ob ich Dich richtig verstanden habe, vielleicht brngt das Dich weiter:
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key....
  else begin
    // machwas
    key:=0;
  end;
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key....
  else begin
    // machwas
    key:='0;
end;
end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Tastendrücke auswerten, teils umleiten?!?

  Alt 22. Jul 2011, 13:26
Nein, da das Edit nunmal diese Buchstaben auswertet, landen sie erstmal bei diesem.
Im OnKeyPress/OnKeyDown/OnKeyUp des Edits kann man dieses aber abfangen und an die Form weiterreichen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
SpezialElektronik

Registriert seit: 15. Apr 2011
Ort: Ruhrgebiet
3 Beiträge
 
#4

AW: Tastendrücke auswerten, teils umleiten?!?

  Alt 22. Jul 2011, 13:55
Wenn ich das richtig verstehe muss ich also bei allen vllt. 15-20 Edit-Feldern meines Programms im OnKeyDown-Ereignis diese "Buchstaben-Prüfung" vornehmen, um dann Ziffern "durchzulassen" und Buchstaben umzuleiten, sehe ich das richtig?
Danke schonmal - klingt mühsam, aber wenn es keine bessere Lösung gibt muss ich das wohl mal versuchen...
Wolf
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Tastendrücke auswerten, teils umleiten?!?

  Alt 22. Jul 2011, 14:00
Och, man kann ja auch nur eine Ereignisroutine schreiben und allen Edits zuweisen,
oder man leitet sich eine Komponente von TEdit ab und but das dort direkt ein.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
SpezialElektronik

Registriert seit: 15. Apr 2011
Ort: Ruhrgebiet
3 Beiträge
 
#6

AW: Tastendrücke auswerten, teils umleiten?!?

  Alt 22. Jul 2011, 14:30
Ja, sowas wie eine Ereignisroutine werde ich wohl machen.
Abgeleitet Edit's habe ich näml. schon neben den "klassichen" TEdits (also im Moment schon 3 verschiedene), da ist diese Funktionalität aber noch nicht drinnen und da ich die noch an anderer Stelle nutzte, will ich die erstmal so lassen...
THX
Wolf
  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 10:02 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