AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi entertaste gedrückthalten unterbinden....
Thema durchsuchen
Ansicht
Themen-Optionen

entertaste gedrückthalten unterbinden....

Ein Thema von Hannes22549 · begonnen am 1. Mär 2006 · letzter Beitrag vom 1. Mär 2006
Antwort Antwort
Hannes22549

Registriert seit: 16. Nov 2005
Ort: Potsdam
20 Beiträge
 
Delphi 7 Professional
 
#1

entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 15:27
Hi,
ich habe ein kleines Funspiel geschrieben bei dem gemessen wird wie oft eine Taste in 30s gedrückt werden kann.
Das Problem ist, dass der Zähler auch weiter geht wenn die Entertaste gedrückt gehalten wird.
Hat jemand eine Idee wie ich das um gehen kann?
Ich klicke bis jetzt immer auf einen Button...

Schonmal Danke im vorraus!!!

Bin noch Anfänger^^
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 15:32
Eine Taste die gedrückt wird muss auch wieder losgelassen werden. verwende mal das "KeyUp"-Ereignis...

Delphi-Quellcode:
procedure TForm1.FormKeyUp(...
begin
  if key = 13 then windows.Beep(880,25);
  if key = 32 then windows.Beep(880,25);
end;
Muss mann halt abfragen, Taste gedrückt und losgelassen ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Hannes22549

Registriert seit: 16. Nov 2005
Ort: Potsdam
20 Beiträge
 
Delphi 7 Professional
 
#3

Re: entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 15:39
Naja...
es geht ja darum, dass der User nicht die 30s die taste gedrückt hält und der highscore bei 900 steht, sondern, dass er immer wieder neu drücken muss.
Hast du eine Idee?
Meinetwegen kann auch nur eine Taste genutzt werden die gedrückt werden muss.
Aber auch das bekomme ich nicht so richtig hin.
Achtung!!! Anfänger am Start!!!
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 15:49
Einfach den aktuellen Status einer Taste merken, los geht's :

Delphi-Quellcode:
//...

implementation

//...

type
  TKeyState = (ksUp, ksDown);

var
  KeyState: TKeyState;
  Counter : Integer = 0;

procedure TForm1.FormKeyUp(Sender: TObject; var Key:Word;
  Shift: TShiftState);
begin
  if key = 13 then windows.Beep(440, 25);
  if key = 32 then windows.Beep(440, 25);

  KeyState := ksDown;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: ShiftState);
begin
  if key = 13 then windows.Beep(880, 25);
  if key = 32 then windows.Beep(880, 25);

  if KeyState = ksDown then inc(Counter);

  KeyState := ksUp;

  {Form1.} Caption := InttoStr(Counter);
end;
...hoffe mal das geht so, ist aus dem Kopf...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 15:57
Hallo,

wie wär's, einfach nur KeyUp zu verwenden. Das sollte doch aufs Gleiche rauskommen, und KeyUp wird im Gegensatz zu KeyDown immer nur einmal aufgerufen.

Gruß
xaromz
  Mit Zitat antworten Zitat
Hannes22549

Registriert seit: 16. Nov 2005
Ort: Potsdam
20 Beiträge
 
Delphi 7 Professional
 
#6

Re: entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 16:01
Hey DANKE!!!!
Das ist genau das richtige!
Achtung!!! Anfänger am Start!!!
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 17:08
Zitat von xaromz:
Hallo,

wie wär's, einfach nur KeyUp zu verwenden. Das sollte doch aufs Gleiche rauskommen, und KeyUp wird im Gegensatz zu KeyDown immer nur einmal aufgerufen.

Gruß
xaromz
Jupp, reicht eigentlich. Man könnte aber im KeyDown zB. eine bunte Fläche anzeigen oder so etwas. War halt nur eine Idee, wenn auch om die Ecke gedacht.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Hannes22549

Registriert seit: 16. Nov 2005
Ort: Potsdam
20 Beiträge
 
Delphi 7 Professional
 
#8

Re: entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 18:53
Wie mache ich des, wenn ich in der Butten1Click Prozedur nur die Entertaste ausschließen will???
Achtung!!! Anfänger am Start!!!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#9

Re: entertaste gedrückthalten unterbinden....

  Alt 1. Mär 2006, 18:57
Zitat von Hannes22549:
Wie mache ich des, wenn ich in der Butten1Click Prozedur nur die Entertaste ausschließen will???

Woher kommt denn auf einem eine ButtonOnClick-Ereigniss?
Das brauchst Du doch für einen Fall nicht oder?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  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 01:14 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