Autor Beitrag
BigT
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 10.12.06 17:51 
Hi,
ich habe schon wieder ein Problem:
Ich habe eine Textbox (Edit1) und einen Button (Button2). Jetzt will ich, dass wenn man in der Textbox etwas eingegeben hat und die Eingabetaste drückt, der Procedure Button2.Click ausgeführt wird.

Bis jetzt habe ich folgendes geschrieben:


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

 If key=VK_Return then                           {Bei Enter Button 2 drücken}
  begin
   Button2.Click;
  end;
end;



Es kommt die Fehlermeldung:
[Error] Unit1.pas(93): Undeclared identifier: 'Edit1KeyPress'

Was ist hier falsch?
Es gibt doch eine Form (Form1), Textbox und Button.

Vielen Dank im Voraus
Thorsten

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: So 10.12.06 19:11 
Ich denke das du vergessen hast die procedure zu deklarieren. Einfach im Objectmanager ereignisse dann KeyPress dann den Code rein und fertig

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
BigT Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 11.12.06 18:12 
Ja das hatte ich auch noch nicht gemacht.
Jetzt habe ich einmal das da stehen:

ausblenden Delphi-Quelltext
1:
2:
3:
type
  procedure Edit1KeyUp(Sender: TObject; var Key: Word;Shift: TShiftState);
  procedure Edit2KeyUpPress(Sender: TObject; var Key: Word; Shift: TShiftState);



Und vor dem der Procedure der ButtonsClick jeweils das stehen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Edit2KeyUpPress(Sender: TObject;
var Key: Word;Shift: TShiftState);
begin

If key=VK_Return then                           {Bei Enter Button 1 drücken}
begin
    Button1.Click;
end;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
 If key=VK_Return then                           {Bei Enter Button 2 drücken}
  begin
   Button2.Click;
  end;
end;


Trotzdem passiert nichts,wenn ich in der Textbox bin und Enter drücke!

Was ist hier noch falsch?

Gruß Thorsten

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mo 11.12.06 18:16 
Hat der BUtton überhaupt eine CLICK-PROCEDURE :?: Sonst kann er ja nichts machen

PS: Heiß das nicht KeyPress?? du hast KeyUpPress geschrieben :wink:
PPS:Benutze bitte die Delphi-Tags

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
BigT Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 11.12.06 21:56 
Ja es gibt eine Button1Click Prozedur. Hatte es vorher aber auch mit einer einfachen Messagebox getestet, doch es passiert garnix!
Habe das jetzt mit in ButtonKeyPress geändert, aber funktioniert trotzdem nicht.

Wie funktioniert das mit den Delphi-Tags?

Gruß Thorsten
konbom
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 36

Win XP Home
Delphi 2005 Personal
BeitragVerfasst: Mo 11.12.06 22:53 
Hast du die KeyPress-Prozedur überhaupt im Objektinspektor unter Ereignsse eingetragen???
Danny W.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Di 12.12.06 13:15 
probiers mal mit dem OnKeyDown
OnKeyPresss ist für den jeweiligen ASCII Code der zugehörigen Tasten zuständig.

_________________
"Ich find den Fehler nicht. Der Artist wird immer als "Syntax Error" gezeigt :("
"Ach verdammt, der Artist heißt wirklich "Syntax Error" xD"
BigT Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Di 12.12.06 16:01 
Vielen dank!
Ich habe jetzt einfach die eigenschaft default des buttons auf true gesetzt und es klappt ohne probleme!
Weiß leider auch nicht warum das mit dem KeyPress nicht geklappt hatte. Hatte mehrere Sachen ausrobiert.

Gruß Thorsten
Ferdy2003
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 04.01.07 00:24 
Hallo zusammen,

ich denke so hätte es auch funktioniert:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Edit2KeyUpPress(Sender: TObject;
var Key: Word;Shift: TShiftState);
begin

If key=VK_Return then                           {Bei Enter Button 1 drücken}
begin
    Button1.Click(Self);
end;
end;

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
 If key=VK_Return then                           {Bei Enter Button 2 drücken}
  begin
   Button2.Click(Self);
  end;
end;


Gruss