AGB  ·  Datenschutz  ·  Impressum  







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

Tastaturabfrage

Offene Frage von "PetBurki"
Ein Thema von PetBurki · begonnen am 6. Jun 2007 · letzter Beitrag vom 9. Jun 2007
Antwort Antwort
Seite 1 von 3  1 23      
PetBurki

Registriert seit: 7. Mai 2007
33 Beiträge
 
Delphi 6 Personal
 
#1

Tastaturabfrage

  Alt 6. Jun 2007, 18:54
Ich möcht in einer schleife durchgehend abfragen, ob bestimmte Tasten gedrückt werden. (w, a, s, d) Dann soll eine aktion passieren. Wie geht diese Tastaturabfrage?
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Tastaturabfrage

  Alt 6. Jun 2007, 18:56
if GetAsyncKeyState(Hier Tastenname)<>0 then...

die tastennamen sind recht einfach rauszufinden:

a=#65, b=#66, c=#67 usw.

wenn mich nicht alles täuscht sollte das stimmen..
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Tastaturabfrage

  Alt 6. Jun 2007, 18:56
willst du bewusst nicht die Ereignisse OnKeyDown, OnKeyUp etc. nutzen oder sind diese dir bisher nur unbekannt?

@dajuhsa: Deine Lösung ist falsch. Schau dir mal die Hilfe zu GetAsyncKeyState an. Da wirst du feststellen das du auch <> 0 zurück bekommst wenn die Taste seit dem letzten aufruf gedrückt wurde etc.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Tastaturabfrage

  Alt 6. Jun 2007, 19:00
naja, bei mir klappt das meistens recht gut. z.B. für Bewegung auf Tastendruck.
Aber ich weiß ja nicht was PetBurki bezwecken will..
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  Mit Zitat antworten Zitat
PetBurki

Registriert seit: 7. Mai 2007
33 Beiträge
 
Delphi 6 Personal
 
#5

Re: Tastaturabfrage

  Alt 6. Jun 2007, 19:02
ich hab davon gar keine Ahnung. Ich bin noch ein ziemlicher Anfänger, da ichs nur in der Schule lerne und auch erst seit diesem schuljahr.
Ich will einfach nur Tasten abfragen können, weil es mich interessiert, wie das geht. Dann soll halt eine Aktion, die ich mir dann ausdenke und programmiere passieren.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Tastaturabfrage

  Alt 6. Jun 2007, 19:05
anstelle eine Schleife ist es empfehlenswerter die Ereignisse zu nutzen.
Setze dazu die Eigenschaft "KeyPreview" des Formulares auf True und Nutzde die Ereignisse OnKeyDown und OnKeyUp des Formulares. Sobald eine Taste gedrückt wird, wird das Ereignis ausgelöst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
PetBurki

Registriert seit: 7. Mai 2007
33 Beiträge
 
Delphi 6 Personal
 
#7

Re: Tastaturabfrage

  Alt 6. Jun 2007, 19:11
ich hätte aber eigentlich gerne, dass ich bestimmte Tasten mit bestimmten Ereignissen belegen kann
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Tastaturabfrage

  Alt 6. Jun 2007, 19:20
Und was hindert Dich daran?
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
    'a': Button1Click(Sender);
    'w': Button2Click(Sender);
    's': Button3Click(Sender);
    'd': Button4Click(Sender);
  end;
end;
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 SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Tastaturabfrage

  Alt 6. Jun 2007, 19:23
kannst du doch - frag dann einfach im OnKeyDown ab welche Taste gedrückt wurde (die Taste welche gedrückt wurde wird mit übergeben).
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key = VkKeyScan('a') then
    caption := 'toll es wurde a gedrückt'
  else Key = VkKeyScan('w') then
    caption := 'es wurde w gedrückt';
end;
@daddyh: KeyPress ist die falsche Methode da man dort zwischen "A" und "a" unterscheiden muss weil eben nicht die Taste übergeben wird sondern der charakter.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Tastaturabfrage

  Alt 6. Jun 2007, 19:30
Das weiß ich auch. Kann doch gewollt sein
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
Antwort Antwort
Seite 1 von 3  1 23      


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 01:27 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