![]() |
<ENTER>-Taste für programminterne Befehle nutzen
Hallo,
wahrscheinlich trivial, aber für mich nicht zu finden: Ich würde gern anstatt auf einen Programm-Button zu drücken, den Steuerwert z. B. der <ENTER>-Taste abfragen und damit intern eine procedure auslösen. Vielen Dank für eine (hilfreiche) Nachricht. Seli |
AW: <ENTER>-Taste für programminterne Befehle nutzen
Delphi-Quellcode:
oder
// Form.OnKeyDown und Form.KeyPreview=True im Objektinspektor nicht vergessen
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then begin // mach was Key := 0; // du hast ja schon was gemacht, also die Standardbehandlung nun verhindern end; end;
Delphi-Quellcode:
// Edit.OnKeyDown
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then begin // mach was Key := 0; end; end; |
AW: <ENTER>-Taste für programminterne Befehle nutzen
Insbesondere falls auf mehreren Forms gewünscht, kann man das auch mit TApplication bzw. TApplicationEvents.
![]() |
AW: <ENTER>-Taste für programminterne Befehle nutzen
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo und vielen Dank für die Anregungen. Ich vergaß zu erwähnen, dass ich bei XE5 hängen geblieben bin. Vielleicht ist das der Grund, dass mir die Codes fremd sind. Welche zeitgemäße (Buch)-Quelle wäre denn zu empfehlen?
Lieber himitsu, ich habe die procedure einfach in meine Programmseite eingefügt. die uses habe ich nicht verändert (wüsste auch nicht, wie). "interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls,Vcl.MPlayer, MMSystem,Vcl.StdCtrls,Vcl.Imaging.jpeg;" Die Kopie des Delphi-Quellcodes wird nur einfarbig eingefügt - vielleicht bin ich zu dumm; deshalb siehe Fehler1.jpg: Nur die Zeile "procedure ..." habe ich eingefügt (siehe Bild) und sofort kommt die Fehlermeldung beim Startversuch. Beim Einfügen der procedure (Fehler_2.jpg) kommt "der rote Kringel"; also Edit1KeyDown ist nicht brauchbar. Gibt es eine Abhilfe? |
AW: <ENTER>-Taste für programminterne Befehle nutzen
Du könntest aber auch einfach die Procedure im Interface-Teil deklarieren und mit "Strg + Shift + C" einen Block im Implementation-Teil generieren. Wenn du das jedoch einfach so in der .pas-Datei einträgst, wird das noch nicht ausgeführt. Die/Das Event/s müssen noch zugeordnet werden. Am einfachsten wäre für dich im dfm-Designer, auf eine TEdit-Komponente oder auf dein TForm klicken und im Objektinspektor auf "Ereignisse" gehen. Dort kannst du ein Ereignis auswählen mit Doppelklick und alles nötige wird bereits generiert und du musst nur noch deine Logik schreiben. |
AW: <ENTER>-Taste für programminterne Befehle nutzen
Oh je.... Du bist bestimmt noch ziemlich am Anfang.
Erst mal: Deine Form ist Form5, da kann eine eingefügte Prozedur zu Form1 nicht so wirklich passen... Nimm die beiden Codeblöcke mal wieder raus, anschließend klickst Du doppelt im Objektinspektor unter Eigenschaften auf "OnKeyDown", damit erstellst Du dann die notwendigen Procedurerümpfe und da kannst den Code von Himitsu einfügen. |
AW: <ENTER>-Taste für programminterne Befehle nutzen
Zitat:
|
AW: <ENTER>-Taste für programminterne Befehle nutzen
Zitat:
Du kannst u.a. folgende Bücher erfolgreich konsultieren: 1): Etwas Neues & Aktuelles: Wolf-Gert Matthäus: Grundkurs Programmieren mit Delphi: Systematisch programmieren lernen für Einsteiger, (2016) 2): Der Klassiker mit extrem vielen Tipps, Beispielen und fertigen Projekten, die größtenteils auch unter XE5 noch funktionieren: Walter Doberenz: Borland Delphi 7 - Grundlagen, Profiwissen, Kochbuch. Das umfassende Handbuch für die Win32-Anwendungsentwicklung, m. CD-ROM (2007) Auch die etwas ältere Auflage in zwei Bänden ist genauso wertvoll. 3): Der umfassendste Ratgeber für XE (in Englisch): Chris Rolliston: Delphi XE2 Foundations, 2012 Mit unzähligen Insider-Tipps & Informationen und Beispielen. Unschlagbar gut! 4): Auch ziemlich gut und empfehlenswert, aber eher für Fortgeschrittene (in Englisch): Marco Cantu: Object Pascal Handbook, 2015 Mit unzähligen Insider-Tipps & Informationen und Beispielen. 3): und 4): ergänzen sich z.T. recht gut. Viel Erfolg! Gruß, Andreas |
AW: <ENTER>-Taste für programminterne Befehle nutzen
Zitat:
vielen Dank für deine Tipps. Ich habe noch eine kostenlose, gut strukturierte und leicht verständliche pdf-Anleitung gefunden: ![]() Das scheint mir der beste Einstieg zu sein (wenn auch nicht mehr der aktuellste). Freundliche Grüße Udo |
AW: <ENTER>-Taste für programminterne Befehle nutzen
@Sel2012:
Hallo Udo, eine wesentlich aktuellere - wenn auch immer noch recht alte - Version (Delphi-Starter) findest Du im Forum Delphi-Treff ![]() Viele Grüße, Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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 by Thomas Breitkreuz