Autor Beitrag
Black Force
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Sa 03.05.08 18:29 
Hi,

Ich benutze für die Tastensteureung das hier in einem Timer.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
if isleft in Form1.DXInput1.States then
begin
......
end;

aber irgendwie passiert überhaupt nichts, wenn ich die taste drücke.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Sa 03.05.08 21:52 
Hallo user profile iconBlack Force,

vielleicht solltest du ein wenig debuggen. Schreibe zum Beispiel in das Timer-Ereignis:

ausblenden Delphi-Quelltext
1:
ShowMessage('Der Timer funktioniert.');					

Wenn du dann die Meldung bekommst, tut auf jeden Fall schon mal der Timer. Wenn das tut, solltest du die Taste debuggen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
if isleft in Form1.DXInput1.States then
begin
  ShowMessage('Die Taste ''Links'' wurde gedrückt.');
end;

Wenn diese Meldung auch kommt, liegt es gar nicht an der Tastatursteuerung sondern an etwas anderem ;)

Viele Grüße,
Yogu
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: So 04.05.08 21:20 
Danke,

ich probier das erstmal.
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Di 06.05.08 13:24 
Irgendwie funktioniert das nicht.
Könnt ihr mir vielleicht ein Beispiel
für Tastensteuerung geben. Im Standart-Delphi
kann ich's. Aber mit DelphiX geht das irgendwie nicht.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 06.05.08 14:36 
user profile iconBlack Force hat folgendes geschrieben:
Irgendwie funktioniert das nicht.

Was heißt, es funktioniert nicht? Hast du mal versucht, so wie ich vorgeschlagen habe, zu debuggen? Wenn ja, könntest du vielleicht die Ergebnisse mal posten? Wenn nein, machs doch mal.
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Di 06.05.08 15:46 
Klar hhab ich das gemacht.
Der Timer funktioniert, die Tastensteuerung nicht.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 06.05.08 15:55 
Wenn du nicht unbedingt DirectX für die Tastaturabfrage verwenden willst, tut es auch ein GetAsyncKeystate:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
if GetAsyncKeystate(VK_LEFT) < 0 then
begin
  { linke Taste gedrückt }
end
else
begin
  { linke Taste nicht gedrückt }
end;

if GetAsyncKeystate(VK_RIGHT) < 0 then;
if GetAsyncKeystate(VK_UP) < 0 then;
if GetAsyncKeystate(VK_DONW) < 0 then;
if GetAsyncKeystate(VK_ESCAPE) < 0 then;
if GetAsyncKeystate(VK_CONTROL) < 0 then;

{...}
Black Force Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Di 06.05.08 16:18 
Vielen Dank.
Das funktioniert gut.
ICh kenne das noch so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

  case key of
  VK_Space: Form1.Caption := '.........';
  end;

end;
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 06.05.08 16:25 
Das wird aber nur aufgerufen, wenn du die Taste gerade runtergedrückt hast. Also nur einmal. Beispielen ist das aber normalerweise bei jedem Rendern erwünscht.