AGB  ·  Datenschutz  ·  Impressum  







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

Programm mit Tastatur steuern?

Ein Thema von AlexII · begonnen am 20. Feb 2009 · letzter Beitrag vom 21. Feb 2009
Antwort Antwort
Seite 3 von 3     123   
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#21

Re: Programm mit Tastatur steuern?

  Alt 20. Feb 2009, 15:36
Na endlich

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
If Key=VK_RIGHT then showmessage('Rechts');
If Key=VK_LEFT then showmessage('Links');
end;
  Mit Zitat antworten Zitat
Benutzerbild von Jakob Ullmann
Jakob Ullmann

Registriert seit: 17. Feb 2007
218 Beiträge
 
Lazarus
 
#22

Re: Programm mit Tastatur steuern?

  Alt 20. Feb 2009, 16:19
Übrigens: Wenn sich da nicht alles geändert hat, findet man eine Liste der VK-Konstanten unter Delphi-Referenz durchsuchenVirtuelle Tastencodes.

edit: Zur Not wäre auch noch GetAsyncKeystate / GetKeystate möglich (falls man eine sofortige Reaktion wünscht):

Delphi-Quellcode:
procedure TFormX.TimerXTimer(Sender: TObject);
// -------------------^ Intervall klein
begin
  if GetAsyncKeystate(VK_LEFT) < 0 then
    ShowMessage('Links');
end;
Jakob
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#23

Re: Programm mit Tastatur steuern?

  Alt 20. Feb 2009, 21:49
Irgendwie reagierеt das Programm auf die Right- u. Downtaste ganz komisch und das liegt nicht am Code, denn wenn ich die Funktion der Lefttaste (was sehr gut funkt) der rechten zuweise - spinnt das Prog. Wird der Code wieder zurück der linken zugewiesen geht alles ok.

Also bei den Right- und Downtaste funktioniert alles ok, bei den Left- und Uptaste nicht.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#24

Re: Programm mit Tastatur steuern?

  Alt 20. Feb 2009, 23:01
Kann mir niemand helfen?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#25

Re: Programm mit Tastatur steuern?

  Alt 21. Feb 2009, 11:36
Hallo,

ohne Code ?

< es liegt nicht am Code >

Hm, im Explorer funktionieren alle 4 Tasten,
was MS da wohl wieder verbrochen hat ...

Im Ernst: Natürlich liegt es an deinem Code!

Hänge mal ein Minimal-Programm (ohne Exe),
was das Problem zeigt an den nächsten Post.


Heiko
Heiko
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#26

Re: Programm mit Tastatur steuern?

  Alt 21. Feb 2009, 14:03
Ich weise den beiden Tasten die gleiche Funktion zu und sie arbeiten unterschiedlich. Ich spinne doch nicht. Die selbe Funktion, per VK_Left funkt alles richtig, VK_Right nicht. VK_Up auch ok, VK_Down spinnt wie die VK_Right.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#27

Re: Programm mit Tastatur steuern?

  Alt 21. Feb 2009, 15:57
Hallo,

und was sollen wir ohne Code tun ?
Raten ?

Ich weiss ja nicht mal, was die aktuell auf deinem Form hast.

Mach ein Minimal-Bsp., was sich kompilieren läßt,
und hänge es an ein Post.


Heiko
Heiko
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#28

Re: Programm mit Tastatur steuern?

  Alt 21. Feb 2009, 20:33
Hier der Code

Delphi-Quellcode:
procedure TForm1.dsAnzeigen;
begin
Label1.Caption:=losungen[z].ntvers;
Label2.Caption:=losungen[z].ntversst;
Label1.Width:=328;
Image19.Hint:=losungen[z].ntversst;
end;

procedure TForm1.Image16Click(Sender: TObject);
begin
if z=366 then
begin
z:=1;
dsAnzeigen;
Panel1.Visible:=True;
Panel1.SetFocus;
Panel1.Visible:=False;
ComboBox1.ItemIndex:=0;
end else
    begin
    Inc(z);
    dsAnzeigen;
    Panel1.Visible:=True;
    Panel1.SetFocus;
    Panel1.Visible:=False;
    ComboBox1.ItemIndex:=0;
    end;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
If Key=VK_Left then
begin
Image16Click(Sender);
end;
If Key=VK_Right then
begin
Image16Click(Sender);
end;
end;
Jetzt das Problem - beide Tasten haben die gleiche Aufgabe. Jetzt wählt mal in der ComboBox irgendwas aus, falls die Stelle falsch ist - erscheint das oben-rechts im Form. Jetzt klickt man die linke Taste kommt ein neuer Vers, die Fehlermeldung verschwindet und in der ComboBox erscheint der Text "Der Vers steht in...?" So muss es auch sein!
Jetzt macht man das selbe mit der rechten Taste - spinnt das Prog, die Fehlermeldung verschwindet nicht und die ComboBox1.Text bekommt den ItemIndex:=1 obwohl es die 0 sein muss. Wenn man aber die Taste das zweite mal klickt geht wieder alles ok.
Angehängte Dateien
Dateityp: exe losungen_731.exe (819,0 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 23: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