![]() |
Ü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.
|
Re: Übernahme der Eingabe mit ENTER
Nochmal d'oh. Ich hatte eigentlich erwartet, dass gerade editierte Felder im OI vorm Kompilieren noch gespeichert werden :| . Stand nach dem zweiten Kompilieren: Du hast völlig Recht.
|
Re: Übernahme der Eingabe mit ENTER
Ein ganz neues Gefühl. ;)
|
Re: Übernahme der Eingabe mit ENTER
Zitat:
Zitat:
![]() Grüße Faux |
Re: Übernahme der Eingabe mit ENTER
Kennst du einen Chat-Client ohne Send-Button? Ich nicht ;) .
Gut, es mag vielleicht einen geben, aber der Button stört nun wirklich nicht. Gleiches gilt bei der ListBox. |
Re: Übernahme der Eingabe mit ENTER
@faux: Natürlich kann man rumzuweisen wie man will. Du kannst die in meinem Satz ein "sinnvoll" ergänzen.
Der was bringt mir eine Zuweisung, die syntaktisch korrekt ist, aber semantisch vollkommen sinnlos? |
Re: Übernahme der Eingabe mit ENTER
Hallo,
erst einmal vielen Dank für die Antworten. @3_of_8 die Lösung hat super geklappt. Danke @khabarahk Einen Button zum Auslösen einer Aktion wollte ich eigentlich vermeiden, da im Moment alle Aktionen im Hauptfenster ablaufen. Wenn ich einen Button verwende, dann würde ich die benötigten Eingaben für mein Programm in einem weiteren Eingabefenster mit Übernahme der Daten über einen Button machen, und die Ausgaben im Hauptfenster machen. Da aber in meinem Programm nicht die großen Berechnungen gemacht werden, spielt sich alles nur in einem Fenster ab. In diesem Fenster finde ich einen Button zum Berechnen nicht so schön. Aber trotzdem vielen Dank. Gruß Jörg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 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