Autor Beitrag
csigg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: Di 12.07.05 14:06 
ich hab folgenden Quellcode:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure Tfrm_Main.edtMitarbeiterSuchenKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Sender = edtMitarbeiterSuchen then
  begin
       if key = 13 then
       begin
         prc_Mitarbeiter_Suchen;
          edtMitarbeiterSuchen.Text:='';
       end;
  end;
 if Sender = edtSpezialistSuchen then
  begin
       if key = 13 then
       begin
          tbSpezialistsuchen.Click;
          edtSpezialistsuchen.Text := '';
       end;
  end;

Wenn jetzt allerdings in dem TEdit edtmitarbeitersuchen nix eingegeben wurde, dann wird in prc_Mitarbeiter_Suchen ein MessageDlg gestartet mit der Meldung 'kein Name angegeben'. Diese Meldung muss mit klick auf OK bestätigt werden. Wenn ich allerdings jetzt ENTER drücke, was bei einem MessageDlg ja ohne Probleme funktioniert, dann wird sofort wieder die prc_mitarbeiter_suchen gestartet, weiss jemand woran das liegt, bzw. wie ich das unterbinden kann??
iKilledKenny
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 8

Win XP
D5 Prof, C# Express 2005
BeitragVerfasst: Di 12.07.05 15:41 
versuchs mal mit

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure Tfrm_Main.edtMitarbeiterSuchenKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Sender = edtMitarbeiterSuchen then
  begin
       if key = 13 then
       begin
         key := #0;
         prc_Mitarbeiter_Suchen;
          edtMitarbeiterSuchen.Text:='';
       end;
  end;
 if Sender = edtSpezialistSuchen then
  begin
       if key = 13 then
       begin
          key := #0;
          tbSpezialistsuchen.Click;
          edtSpezialistsuchen.Text := '';
       end;
  end;


ist ungetestet, müsste aber dein problem lösen.

viele grüße
alex
csigg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: Di 12.07.05 15:58 
also ich habs jetzt so mal ausprobiert, funktioniert aber nicht wirklich.
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Di 12.07.05 16:04 
Hi!
Setze mal das "Key := #0" hinter die Prozedur, die die MessageBox aufruft! Dann sollte es klappen.

Alstar
csigg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: Di 12.07.05 16:09 
das geht nicht, weil da Key nicht definiert ist, und ich weiss nicht wie ich ihn da definieren kann
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Di 12.07.05 16:11 
Am besten schicke uns mal dein Programm (als Beitragsanhang).
csigg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: Di 12.07.05 16:14 
das kann ich nicht, ich kann das programm weder schicken noch hochladen, aber ich schau dass ich es heut abend von daheim aus hochlade. Falls bis dahin noch niemand auf eine andere Idee gekommen ist. *g*
Alstar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 827



BeitragVerfasst: Di 12.07.05 16:14 
user profile iconcsigg hat folgendes geschrieben:
das geht nicht, weil da Key nicht definiert ist, und ich weiss nicht wie ich ihn da definieren kann

Nein! Nicht in die betreffende Prozedur nach der MessageBox, sondern in deiner Prozedur nach diesem ...
ausblenden Delphi-Quelltext
1:
prc_Mitarbeiter_Suchen;					


Alstar
csigg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 706

WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
BeitragVerfasst: Di 12.07.05 16:26 
ich habs, war sehr einfach *g*
den ganzen Code von oben in OnKeyDown und das key=0 in OnKeyUp