AGB  ·  Datenschutz  ·  Impressum  







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

Tasten abfragen

Ein Thema von ferby · begonnen am 4. Sep 2004 · letzter Beitrag vom 21. Mai 2005
Antwort Antwort
Seite 1 von 2  1 2      
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Tasten abfragen

  Alt 4. Sep 2004, 22:26
Hallo,

Ich weiß wie man Normale Tasten wie Buchstaben abfragt. Aber wie frage ich z.B: die Pfeiltasten, die Esc Taste oder die Entertaste ab?

if key=Pfeiltaste nach links then mach was.....



Wie geht das?
  Mit Zitat antworten Zitat
djmasi

Registriert seit: 9. Jun 2004
Ort: Leipzig
105 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Tasten abfragen

  Alt 4. Sep 2004, 22:30
Hi

z.B. so (ist ein Auszug aus nem Prog von mir)
Delphi-Quellcode:
//****************************************************************************//
procedure TFMain.VSTSectionsKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  //wird eine Taste gedrückt, mit der das OnChange-Event ausgelöst wird,
  //so wird über CanUpdate dieses verhindert um ein flackern zu vermeiden
  if (Key = VK_DOWN) or
     (Key = VK_NEXT) or
     (Key = VK_PRIOR) or
     (Key = VK_UP) or
     ((Key in [65..90]) and (ssShift in Shift)) then
    CanUpdate := False;
end;
//****************************************************************************//
//****************************************************************************//
[edit]
Steht in der Windows.pas
Delphi-Quellcode:
  {$EXTERNALSYM VK_ESCAPE}
  VK_ESCAPE = 27;
  {$EXTERNALSYM VK_SPACE}
  VK_SPACE = $20;
  {$EXTERNALSYM VK_PRIOR}
  VK_PRIOR = 33;
  {$EXTERNALSYM VK_NEXT}
  VK_NEXT = 34;
  {$EXTERNALSYM VK_END}
  VK_END = 35;
  {$EXTERNALSYM VK_HOME}
  VK_HOME = 36;
  {$EXTERNALSYM VK_LEFT}
  VK_LEFT = 37;
  {$EXTERNALSYM VK_UP}
  VK_UP = 38;
  {$EXTERNALSYM VK_RIGHT}
  VK_RIGHT = 39;
  {$EXTERNALSYM VK_DOWN}
  VK_DOWN = 40;
[/edit]
Thomas Maßmann
"...ihr würdet selbst den lieben Gott einbetonieren, wenn eure Datenbank ihn eines Tag's erfasst..."
H.-R.-Kunze
Auch Delphi 9 Preview-Inhaber bin
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#3

Re: Tasten abfragen

  Alt 4. Sep 2004, 22:35
Hallo ferby,
und das Ganze mal in eine Demno verpackt ...
Angehängte Dateien
Dateityp: zip demo_673.zip (208,0 KB, 284x aufgerufen)
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#4

Re: Tasten abfragen

  Alt 4. Sep 2004, 22:41
Hallo,

wie muss ich das eingeben?
habe probiert:

if key=VK_DOWN then...
if key=#40 then...

aber da geht es nicht.

Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin

  if status='spielthen
  begin
  if key='4then richtung:='links';
  if key='6then richtung:='rechts';
  if key='8then richtung:='rauf';
  if key='2then richtung:='runter';
  end;

end;
Das habe ich geschrieben nur statt den Nummern will ich jetzt die Pfeiltasten
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#5

Re: Tasten abfragen

  Alt 4. Sep 2004, 22:43
Hallo ferby,
schau Dir doch die Demo an, der Rest findet sich

bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
djmasi

Registriert seit: 9. Jun 2004
Ort: Leipzig
105 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Tasten abfragen

  Alt 4. Sep 2004, 22:43
das geht nur im OnKeyDown-Ereignis. Falls Du es gesehen hast, da ist Key als Word definiert, im OnKeyPress als Char
Thomas Maßmann
"...ihr würdet selbst den lieben Gott einbetonieren, wenn eure Datenbank ihn eines Tag's erfasst..."
H.-R.-Kunze
Auch Delphi 9 Preview-Inhaber bin
  Mit Zitat antworten Zitat
Benutzerbild von Nonsense
Nonsense

Registriert seit: 23. Nov 2002
389 Beiträge
 
Delphi 5 Standard
 
#7

Re: Tasten abfragen

  Alt 4. Sep 2004, 22:53
Anstatt einer if then Abfrage geht auch case of.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#8

Re: Tasten abfragen

  Alt 4. Sep 2004, 23:04
Hallo,

Ich verstehs noch immer nicht so ganz, auch mit dem demo nicht.
Ich habe jetzt statt char word genommen.
Wenn ich jetzt das programm starte kommt die meldung: Die Methode FormKeyPress, auf die Form1.onkeypress verweißt, enthält einen inkompatible Parameterliste. Soll der Verweiß entfernt werden?

Geh ich auf ja geht gar keine Taste mehr geh ich auf nein startet das Progamm nicht....
  Mit Zitat antworten Zitat
djmasi

Registriert seit: 9. Jun 2004
Ort: Leipzig
105 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Tasten abfragen

  Alt 4. Sep 2004, 23:09
Laut der Delphi-Hilfe:
Zitat:
Der Parameter Key in der Ereignisbehandlungsroutine für OnKeyPress hat den Typ Char. Deshalb registriert das Ereignis OnKeyPress das ASCII-Zeichen der gedrückten Taste. Entspricht die Taste keinem ASCII-Zeichenwert (beispielsweise Umschalt oder F1), wird kein OnKeyPress-Ereignis generiert. Tastenkombinationen (beispielsweise Umschalt+A) generieren nur ein OnKeyPress-Ereignis (in diesem Beispiel generiert Umschalt+A den Wert "A" für Key, sofern die Großbuchstabenarretierung nicht aktiviert ist. Verwenden Sie die Ereignisbehandlungsroutine für OnKeyDown oder OnKeyUp, um auf Nicht-ASCII-Tasten oder -Tastenkombinationen zu antworten.
Das heißt:
Du musst auf das OnKeyUp- bzw. OnKeyDown-Event reagieren
Thomas Maßmann
"...ihr würdet selbst den lieben Gott einbetonieren, wenn eure Datenbank ihn eines Tag's erfasst..."
H.-R.-Kunze
Auch Delphi 9 Preview-Inhaber bin
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#10

Re: Tasten abfragen

  Alt 4. Sep 2004, 23:12
Hallo,

Danke jetzt gehts.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:03 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