Einzelnen Beitrag anzeigen

Benutzerbild von Kurt56
Kurt56

Registriert seit: 6. Apr 2005
Ort: Wedemark
47 Beiträge
 
Delphi XE8 Professional
 
#13

Re: Tastenbestätigung in Delphi

  Alt 15. Mai 2010, 21:06
Also noch einmal:

Erstelle eine neue Anwendung mit einer FORM.
Plaziere auf diese Form ein Objekt vom Typ TEDIT <--also ein EINGABEFELD
Plaziere dann ein Feld vom Typ TLABEL <--also ein Anzeigefeld

Ändere die Eigenschaft von FORM1 -- Keypreview von false(Standard) auf true

wechsel auf die Ereignisse von Form1 und mache bei OnKeyPress einen Doppelklick.

Trage dort den folgenden Code ein:
Delphi-Quellcode:
if key = char('A') then label1.Caption:= 'Taste A gedrückt';
if key = char('B') then label1.Caption:= 'Taste B gedrückt';


------------------------------------
Der vollständige Code zu deinem Programm sieht nun so aus:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = char('A') then label1.Caption:= 'Taste A gedrückt';
if key = char('B') then label1.Caption:= 'Taste B gedrückt';

end;

end.
------------------------- Starte das Programm----------------
Der Focus(Cursor) ist im Eingabefeld (Edit1)
-wenn du ein "A" eintippst, dann steht im Anzeigefeld (TLabel1) der Satz: 'Taste A gedrückt'
-wenn du ein "B" eintippst, dann steht im Anzeigefeld (TLabel1) der Satz: 'Taste B gedrückt'
doch wenn du eine andere Taste drückst, dann passiert NICHTS.

============= Zusatz=============
Wenn du auf das Eingabefeld drückst, so erscheinen im Objektinspektor die Eigenschaften/Ereignisse des Feldes EDIT1
Mache einen Doppelklick auf die Eigenschaft OnKeyPress des OBJEKTES EDIT1 und schreibe dort den Code
Delphi-Quellcode:
if not (key in [#65..#67,#8]) then
   begin
   key := #0;
   beep();
   end;
Starte das Programm.
Du wirst jetzt dsehen, dass du nur noch die Buchstaben "A", "B" und "C", sowie die Rücktaste eingeben kannst.
Bei allen anderen Zeichen erhältst Du einen Piepton, aber es erscheint NICHTS im Eingabefeld.

So kannst Du die Zeichen begrenzen, die eingegeben werden können.

Und nun viel Spaß beim Testen
Kurt
  Mit Zitat antworten Zitat