Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   "Tastatur abfragen?" sehr gut gelöst-> hier ne Exe-Datei (https://www.delphipraxis.net/73314-tastatur-abfragen-sehr-gut-geloest-hier-ne-exe-datei.html)

dino 15. Jul 2006 16:41

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
nein das canvas.pixels ist ne Angewohnheit, da hatte ich noch nie Probleme mit, und ausserdem refresht die nicht ständig, jedenfall hab ichs mit OnKeyPress ganz gut raus, nur wie kann ich abfragen ob key='a' ist denn so klappts eben nicht

3_of_8 15. Jul 2006 16:45

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
Kein Wunder, dass das nicht geht. Es muss auch -1 heißen, nicht 1.

dino 15. Jul 2006 16:47

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
da stand aber irendwas von inkompatible typen

3_of_8 15. Jul 2006 16:50

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
Delphi-Quellcode:
implementation

{$R *.DFM}

var i:Integer;
keys:array[0..127] of Boolean;

procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
if timer1.enabled = false then begin
form1.width:=screen.width;
form1.height:=screen.height;
form1.position:=poscreencenter;
timer1.enabled:=true;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
for i:=0 to high(keys) do keys[i]:=GetAsyncKeyState(i)=low(SmallInt);
if keys[VK_DOWN] then form1.canvas.Pixels[100,100]:=clred;
end;

end.
So gehts.

dino 15. Jul 2006 16:56

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
hab jetzt

Delphi-Quellcode:
var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.FormClick(Sender: TObject);
begin
if timer1.enabled = false then begin
form1.width:=screen.width;
form1.height:=screen.height;
form1.position:=poscreencenter;
timer1.enabled:=true;
end
else
close;
end;



procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = Ord('A') then form1.canvas.pixels[100,100]:=clred;
if key = Ord('S') then form1.canvas.pixels[200,100]:=clred;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.canvas.pixels[100,100]:=clBtnFace;
form1.canvas.pixels[200,100]:=clBtnFace;
end;
aber wenn ich ein Knopf Gedrückt halte und dann einen weiteren Knopf Drücke klappt nichts mehr wie es soll

[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]

3_of_8 15. Jul 2006 16:58

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
Nimm halt meinen Code von oben.

dino 15. Jul 2006 17:02

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
klappt noch nicht

dino 15. Jul 2006 17:07

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
Delphi-Quellcode:
var i:Integer;
keys:array[0..127] of Boolean;

procedure TForm1.FormClick(Sender: TObject);
begin
if timer1.enabled = false then begin
form1.width:=screen.width;
form1.height:=screen.height;
form1.position:=poscreencenter;
timer1.enabled:=true;
end
else
close;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
for i:=0 to high(keys) do keys[i]:=GetAsyncKeyState(i)=low(SmallInt);
if keys[VK_Down] then form1.canvas.Pixels[100,100]:=clred;
end;
end.
so ists doch richtig oder?

3_of_8 15. Jul 2006 17:08

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
Bei mir schon, seltsam. Was genau funkioniert denn nicht? Mach mal bissel debugging, lass dir Wert per showmessage ausgeben usw...

dino 15. Jul 2006 17:10

Re: Was gibts für Möglichkeiten die Tastatur abzufragen?
 
das Programm äuft, nur wirds nicht rot :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:53 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz