Autor Beitrag
cherry
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 08:29 
Hi

Ein TEdit sollte auf das Tastenereignis Enter reagieren.
Ich habs mit dem KeyUp ereignis gemacht, aber kann mir
bitte jmd den Virtual Key der Enter Taste übermitteln?!

:evil: THX


Moderiert von user profile iconTino: Topic aus VCL (Visual Component Library) verschoben am Di 09.08.2005 um 11:03
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 08:31 
ausblenden Delphi-Quelltext
1:
VK_RETURN					

:gruebel:
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 08:38 
super sexy..
danke...

jetzt gibt es aber immer wenn ich enter drücke so einen
beschissnen piepston, kann ich den irgendwie ausschalten? :roll:
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 08:41 
user profile iconcherry hat folgendes geschrieben:
jetzt gibt es aber immer wenn ich enter drücke so einen
beschissnen piepston, kann ich den irgendwie ausschalten? :roll:

:lol: Öh... kA, der gehört normalerweise zu Windows dazu. Kommt aber nicht immer, wenn du den ENTER drückst, oder? Hängt von dem ab, was du machst; deshalb: was machst du denn genau in dem Code-Abschnitt?
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 08:45 
Ich gebe eine Zahl in das Edit Feld ein, um bei Enter springt das
Query zum gewünschten Datensatz..

ausblenden 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:
procedure TFrameStammdaten.Edit4KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
 SQL1 : String;
begin
 If Key = vk_return  then // Gleich Enter oder Space
 begin
  try
   SQL1 :=  ' SELECT * FROM v_wp_wirtschaftsbetrieb'
    +' WHERE betr_ID = '
    +  Edit4.text
    +' ORDER BY betr_name';
   with Datamodule1.ADOQuery1_betr_view do
   begin
    close;
    SQL.Clear;
    SQL.Add(SQL1);
    open;
    Tag := 3;
   end;
  except
   MessageDlg('#Fehler 387!'+#13#10+#13#10+'Die angegebene ID existiert leider nicht (mehr)! '
           , mtError, [mbOk], 0);
  end;
 end;
end;


.. aber es ist mir allgemein aufgefallen, dass dieser Ton erscheint, wenn man in
einem Editfeld Enter drückt. Egal ob eine Funktion hinterlegt ist oder nicht.
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 08:48 
Bist du dir sicher, dass der Piepser nicht von dem MessageDlg kommt? Ansonsten, wieso nimmst du KeyUp und nicht OnKeyPress? Das ist eher für sowas gedacht, wie du's vorhast. Probier's mal damit. ;)
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 08:53 
Da passiert genau dasselbe!
Und übrigens wird der MessageDlg nur ausgeführt bei einer Exception,
zum Beispiel wenn die ID nicht gefunden werden kann!

Danke trotzdem
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 09:00 
user profile iconcherry hat folgendes geschrieben:
Da passiert genau dasselbe!

Mhmm... Okay...

user profile iconcherry hat folgendes geschrieben:
Und übrigens wird der MessageDlg nur ausgeführt bei einer Exception, zum Beispiel wenn die ID nicht gefunden werden kann!

Weiß ich, weiß ich. Soviel erkenn' ich dann doch noch. ;) Aber hätte ja sein können, dass du das Programm bei dir zu Hause testest und da keine Datenbank hast und deshalb immer die Exception eintritt oder was weiß ich was. :tongue:

user profile iconcherry hat folgendes geschrieben:
Danke trotzdem

Nicht so schnell aufgeben. Was auf jeden Fall gehen sollte, ist, wenn du einfach direkt hinter das Edit einen Button setzt und dem den Code aus KeyPress ins OnClick gibst. Dann setzt du noch Default vom Button auf True. ;)
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 09:11 
Das wäre eine Möglichkeit... die ich leider ausschliessen muss.
Habe einen Prontscreen von meinem Programm mitgeschickt.
Dann erkennt man, dass sich hinter der Betriebsnummer ein Button schlecht machen
würde! :?
Einloggen, um Attachments anzusehen!
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 09:29 
Also wenn dir der Piepser so wichtig ist, dann kannste dir ja auch den Button auf dein Formular setzen und ihm dann bei TForm.Create die Eigenschaft Width oder Height auf 0 setzen. Funktioniert noch, hab's ausprobiert. ;)

So wie's im Anhang ist, sieht's dann zur Entwicklungszeit aus. Startest du das Programm ist er weg. ;)
Einloggen, um Attachments anzusehen!
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 09.08.05 09:35 
Hallo,
user profile iconcherry hat folgendes geschrieben:
...jetzt gibt es aber immer wenn ich enter drücke so einen
beschissnen piepston, kann ich den irgendwie ausschalten? :roll:

der Ton wird ausgegeben weil das Editfeld den Zeilenumbruch durch die Enter-Taste nicht erzeugen kann, daher der Warnton -ist Windows-Standard-

in deinem Code wird VK_RETURN ausgewertet, aber auch an Windows weitergereicht.
Das musst Du unterbinden:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
If Key = vk_return  then
 begin
  key := 0;// <----!!!! diese zeile einfügen 
  try  
   SQL1 :=  ' SELECT * FROM v_wp_wirtschaftsbetrieb'

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 10:15 
gute idee..

user profile iconLannes hat folgendes geschrieben:
in deinem Code wird VK_RETURN ausgewertet, aber auch an Windows weitergereicht.
Das musst Du unterbinden:


funktioniert aber so... :

user profile iconLannes hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
If Key = vk_return  then  
 begin  
  key := 0;// <----!!!! diese zeile einfügen   
  try    
   SQL1 :=  ' SELECT * FROM v_wp_wirtschaftsbetrieb'


.. leider nicht ! :(
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 10:19 
Bist du jetzt im OnKeyPress oder im OnKeyUP drin?! :gruebel:
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 10:22 
Im OnKeyDown natürlich, habe aber auch OnKeyUp versucht.
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 10:25 
user profile iconcherry hat folgendes geschrieben:
Im OnKeyDown natürlich, habe aber auch OnKeyUp versucht.


Im OnKeyDown solltest du's mal so versuchen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
If Key = vk_return  then  
 begin  
  key := #0;
  try    
   SQL1 :=  ' SELECT * FROM v_wp_wirtschaftsbetrieb' 
   [...]


Bei mir funktioniert das... :gruebel:
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 10:33 
user profile iconWeBsPaCe hat folgendes geschrieben:
Bei mir funktioniert das... :gruebel:


Das kann ich dir fast nicht abkaufen, bei mir gibt es einen Syntaxfehler aus!

[Fehler] FStammdaten.pas(730): Inkompatible Typen: 'Word' und 'Char'

Ist ja auch klar eigentlich, denn key is ja vom typ Word!?
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 10:36 
Im OnKeyPress eines TEdit nicht. ;)

ausblenden Delphi-Quelltext
1:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);					
CK_CK
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140

Win 2000, Win XP Prof
Delphi 2006 Enterprise
BeitragVerfasst: Di 09.08.05 10:37 
Was haltet ihr denn dann von:key := Ord(#0); ;)

CK_CK
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Di 09.08.05 10:40 
lol...

Key erwartet ein Char als Wert. Du übergibst ihm aber ein Integer... ;)

:arrow:
Zitat:
[Error] Unit1.pas( 28 ): Incompatible types: 'Char' and 'Integer'


Zuletzt bearbeitet von WeBsPaCe am Di 09.08.05 11:14, insgesamt 2-mal bearbeitet
cherry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 136

WinXP - Professional
RAD Studio 2009
BeitragVerfasst: Di 09.08.05 10:48 
user profile iconWeBsPaCe hat folgendes geschrieben:
Im OnKeyPress eines TEdit nicht. :wink:


achso, du hast drum geschrieben...

user profile iconWeBsPaCe hat folgendes geschrieben:
Im OnKeyDown solltest du's mal so versuchen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
 If Key = vk_return  then    
 begin    
  key := #0;  
  try      
   SQL1 :=  ' SELECT * FROM v_wp_wirtschaftsbetrieb'   
   [...]


.. ok, ich probiers nochmal...