Autor Beitrag
Debo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 26



BeitragVerfasst: Mo 16.01.06 16:54 
hi ...

programmiere einen Vokabeltrainer! nun hab ich folgendes Problem. Will wenn man (während schon der Button "zeigen" fokussiert ist) "Enter" drückt, dass der dann auf den Button "richrtig" springt, bei Leertaste "falsch"

Während "zeigen" fokussiert ist, sind "falsch" und "richtig" Disabled.

wie soll ich das machen?

var key : char;

if key = chr(13) then richtig.setfocus;


so will es nicht funktionieren....
Bruder Lal
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 31

WIN XP
Delphi 2005
BeitragVerfasst: Mo 16.01.06 17:05 
Poste bitte mal etwas mehr code, so kann ich mir nichts darunter vorstellen. Es kommt aber grade bei der Entertaste stark darauf an, in welchem Ereignis die Abfrage steht. Die löst nämlich erstmal das OnClick Ereignis aus(bzw. kommt auf die Einstellungen der Form an).
Debo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 26



BeitragVerfasst: Mo 16.01.06 17:48 
Das ganze jetzt mal komprimiert...., aber alles was ich mit den Buttons gemacht habe ist enthalten... die letzte Prozedur ist es, welche Probleme macht...

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
procedure TAbfrage.ladenClick(Sender: TObject);
begin
  showmessage(InttoStr(j)+' Vokabel geladen...');
  start.Enabled:=True;
  start.setfocus;
end;

procedure TAbfrage.startClick(Sender: TObject);
begin
Edit2.text := Memo1.Lines[j-1];
start.Enabled:=False;
neu.Enabled:=True;
neu.SetFocus;
end;

procedure TAbfrage.neuClick(Sender: TObject);
begin
Edit2.text := Memo1.Lines[j-1];
neu.Enabled:=False;
zeigen.Enabled:=True;
zeigen.SetFocus;
end;

procedure TAbfrage.zeigenClick(Sender: TObject);
begin
Edit3.Text :=Memo2.Lines[j-1];
richtig.Enabled:=True;
falsch.Enabled:=True;
zeigen.Enabled:=False;
end;

procedure TAbfrage.richtigClick(Sender: TObject);
begin
zeigen.Enabled:=False;
neu.Enabled:=True;
richtig.Enabled:=False;
falsch.Enabled:=False;
start.Enabled:=False;
if (j=0) and (fach=1) then begin
showmessage('Box ist durch, neu laden!');
zeigen.Enabled:=False;
neu.Enabled:=False;
end;
if (j=0) and (fach<>1) then begin
showmessage('Box ist leer!');
neu.Enabled:=False;
end;
if j>0 then neu.SetFocus;
if j<1 then laden.SetFocus;
end;

procedure TAbfrage.falschClick(Sender: TObject);
begin
zeigen.Enabled:=False;
neu.Enabled:=True;
richtig.Enabled:=False;
falsch.Enabled:=False;
start.Enabled:=False;
if (j=0) and (fach=1) then begin
showmessage('Box ist durch, neu laden!');
zeigen.Enabled:=False;
neu.Enabled:=False;
end;
if (j=0) and (fach<>1) then begin
showmessage('Box ist leer!');
neu.Enabled:=False;
end;
end;

procedure TAbfrage.FormClose(Sender: TObject; var Action: TCloseAction);
begin
start.Enabled:=False;
falsch.Enabled:=False;
richtig.Enabled:=False;
zeigen.Enabled:=False;
neu.Enabled:=False;
end;

procedure TAbfrage.FormShow(Sender: TObject);
begin
laden.SetFocus;
end;

procedure TAbfrage.zeigenKeyPress(Sender: TObject; var Key: Char);
begin
if key = chr(13) then
begin
Edit3.Text :=Memo2.Lines[j-1];
richtig.Enabled:=True;
falsch.Enabled:=True;
zeigen.Enabled:=False;
richtig.SetFocus;
end;
if key = chr(32) then
begin
Edit3.Text :=Memo2.Lines[j-1];
richtig.Enabled:=True;
falsch.Enabled:=True;
zeigen.Enabled:=False;
falsch.SetFocus;
end;
end;


Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt
LDMatrix17
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 73

xXpProOxsP2x
Flash5~Flash7 MX 2004 Prof.~Flash 8 Prof.~Delphi 7 prof.&HTML
BeitragVerfasst: Mo 16.01.06 18:45 
hmm! key #13 bringt ned
probiers mal einfach soO!

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TAbfrage.zeigenClick(Sender: TObject);
begin

Edit3.Text :=Memo2.Lines[j-1];
richtig.Enabled:=True;
falsch.Enabled:=True;
zeigen.Enabled:=False;
richtig.SetFocus;
end;



MFG Christian

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt
Debo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 26



BeitragVerfasst: Mo 16.01.06 20:34 
ja , das ist klar, dass der dann bei "Enter" auf "richtig" springt, aber wie mach ich das mit der Leertaste?!