![]() |
Übernahme der Eingabe mit ENTER
Hallo,
ich habe in meinem Programm ein Eingabefeld vom Typ TEdit. Nach Eingabe eines Wertes möchte ich diesen mit der Enter-Taste übernehmen, um weitere Berechnungen bzw. Ausführungen im Programm zu machen. Leider bekomme ich mit KeyPress nicht das gewünschte Ergebnis. Über die Suche habe ich noch nichts passendes gefunden. Vielen Dank im Voraus Gruß Jörg |
Re: Übernahme der Eingabe mit ENTER
Hallo!
Mache es mit KeyDown und überprüfe den Wert auf 13.
Delphi-Quellcode:
Grüße
procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if Key = 13 then begin // // Code // end; end; Faux |
Re: Übernahme der Eingabe mit ENTER
Mach in dem Edit das onKeyDown Event folgendermaßen:
Delphi-Quellcode:
Mfg
begin
if key = 13 then begin //mach dann des. end; end; Tobi (Man da war einer schneller) |
Re: Übernahme der Eingabe mit ENTER
Wenn du am schluss noch den key auf #0 setzt, dann verhinderst du den WindowsBeep, der normalerweise erklingt.
Delphi-Quellcode:
gruss
if key = 13 then
begin // tue dies und jenes key := #0; end; PS: Beim nächsten mal bitte die Suche verwenden. |
Re: Übernahme der Eingabe mit ENTER
Zitat:
Grüße Faux |
Re: Übernahme der Eingabe mit ENTER
Zitat:
Es ist ja nicht so, dass mich der rote Kasten noch nie gelinkt hat, aber da du den Text nicht dazueditiert hast, hast du faux' Antwort wohl noch vor dem Abschicken gesehen :| . Und da dein Beitrag weder lang ist noch irgendwelchen Mehrwert im Vergleich zu faux' Post enthält, ist er eigentlich reiner Spam. @jmit (und alle anderen ;) ): Solange du den User nicht direkt darauf hinweist, finde ich es nicht intuitiv, in einem Edit Enter drücken zu müssen. Besser wäre ein "Berechnen"-Button daneben mit Default=true. Dann brauchst du a) nicht einmal selbst Code schreiben, b) dich auch nicht um den Beep kümmern und c) dich nicht um verwunderte User sorgen. |
Re: Übernahme der Eingabe mit ENTER
Genau wie dein Beitrag auch.
Edit: Nur als Hinweis, Khabarakh hat seinen Beitrag gerade editiert, vorher fand sich in ihm der untere Teil nicht an, deshalb wies ich ihn darauf hin das sein Post ebenfalls nur Spam ist. |
Re: Übernahme der Eingabe mit ENTER
BTW: key:=0; nützt nix. Zuweisung geht nur im OnKeyPress, wenn ich mich nicht irre.
Und, kann man im OnKeyPress nicht auch mit #13 arbeiten? Nachtrag: Ja, das geht: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin showmessage('Blubb!'); key:=#0; end; end; |
Re: Übernahme der Eingabe mit ENTER
@Balu: D'oh, du warst eine Minute zu schnell ;) . Den Rest hatte ich einfach vergessen, Alzheimer fängt wohl schon an. Jedoch würde ich grundsätzlich auch einen vollkommenen Offtopic-Beitrag schreiben, um auf solche sinnlosen Beiträge zu reagieren. Oder sollten in Zukunft alle "Benutze doch nächstes Mal bitte die Suche"-Beiträge sofort gelöscht werden?
Aber wenn, wie faux mir geschrieben hat, EDataBaseError wirklich editiert hat und es sich um einen Forenbug handelt, ist der obere Teil meines Beitrages natürlich null und nichtig. @3_of_8: faux hat doch schon die Methodensignatur gepostet, daran kannst du erkennen, dass Key ein Refernzparameter ist. |
Re: Übernahme der Eingabe mit ENTER
Das Ding kann noch so sehr ein Pointer auf Key sein, es funktioniert so einfach nicht. Nur in OnKeyPress. Ich habs gerade eben getestet.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz