Autor Beitrag
Iser
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 04.06.09 21:25 
Mit welchem Befehl kann ich mit einem Tastendruck auf der Tastatur einen bestimmten Befehl ausführen, wie zum Beispiel
dass ein Textfeld mit der inschrift 'Hallo' erscheind sobald man auf "W" drückt???

Danke schonmal im voraus
Georg08
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 155
Erhaltene Danke: 6

Win XP
Delphi 7.0 Personal
BeitragVerfasst: Do 04.06.09 21:27 
Form OnKeyDown und überprüfen was gedrückt wurde...
Iser Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 04.06.09 21:30 
ausblenden Delphi-Quelltext
1:
if OnKeyDown 'W'  then					

Oder wie?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 04.06.09 21:48 
OnKeyDown ist ein Ereignis, auf das du reagieren kannst...
Schau dafür im Objektinspektor unter Ereignisse und klicke daneben doppelt um es zu erstellen.

Wie immer bei derart fehlenden Grundkenntnissen der Hinweis:
Einen sehr guten Crashkurs findest du hier:
crashkurs.christian-stelzmann.de
und die neue Version speziell ab Turbo Delphi:
www.christian-stelzm...shkurs_reloaded.html

Ein weiteres gutes Online-Buch:
de.wikibooks.org/wik...grammierkurs:_Delphi
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Do 04.06.09 21:48 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 If(Key = 54)then
  begin
   doSomething();
  end;
end;


Key ist nicht ein Buchstabe, sondern der Tastaturcode... Also 54 durch entsprechenden Code austauschen...

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
Iser Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 04.06.09 22:23 
Jetzt schauts so aus
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 If(Key = $57)then
  begin
  bild.Canvas.Rectangle(0,0,bild.Width,bild.Height);
  Vieleck.Setywert(Vieleck.Getywert-1);
  bild.update;
end;


Aber tut sich nix wenn ich W drücke... also er sollte die zeichnung nach oben verschieben
Acuh wenn ich aus $57, 57 machen klapps nicht
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 04.06.09 22:30 
Hast du das Ereignis denn auch verknüpft?
Setz doch einmal einen Haltepunkt und schau, ob das Programm da ankommt.

Hat vielleicht eine andere Komponente gerade den Eingabefokus? Ein Button zum Beispiel? Dann musst du KeyPreview noch beim Formular auf True setzen.
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Fr 05.06.09 08:36 
hi, hab zwar nur überflogen aber hast du die Eigenschaft Keypreview in deinem Formular auf true gesetzt? Ansonsten fängt
er die Taste nur ab wenn der Focus auf deinem Formular ist.

Edit: Jaenicke hat es ja bereits geschrieben sehe ich atm, sry 4 it.

Ach wenn du buchstaben mit Key abfangen willst kleiner Tipp.

ausblenden Delphi-Quelltext
1:
 if Key = ord('W'then close;					

spart man sich das lästige gucken wie der Tastaturcode ist ;)