Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi entertaste als char????? (https://www.delphipraxis.net/39965-entertaste-als-char.html)

keineahnung1 9. Feb 2005 15:42


entertaste als char?????
 
hi ich will dies aufrufen

edit1.OnKeyPress(sender,#13);

und will als 2tes argument die enter taste reinbringen, aber dies scheint so nicht zu funktionieren? warum denn wie is dann richtig, danke

alcaeus 9. Feb 2005 15:50

Re: entertaste als char?????
 
ähm...tut mir leid, meine Glaskugel ist zu Hause. Gibts eine Fehlermeldung oder was?

Greetz
alcaeus

Sprint 9. Feb 2005 15:52

Re: entertaste als char?????
 
Einen Fehler gibt es auf jeden Fall. Weil Key als var im OnKeyPress Ereignis deklariert ist. Aber ich verstehe den Sinn irgendwie nicht.

shmia 9. Feb 2005 16:10

Re: entertaste als char?????
 
On
Zitat:

Zitat von keineahnung1
hi ich will dies aufrufen

edit1.OnKeyPress(sender,#13);

und will als 2tes argument die enter taste reinbringen, aber dies scheint so nicht zu funktionieren? warum denn wie is dann richtig, danke

Weil OnKeyPress so deklariert ist (man beachte den var Parameter):
Delphi-Quellcode:
TKeyPressEvent = procedure (Sender: TObject; var Key: Char);
Deshalb:
Delphi-Quellcode:
var
   taste : char;
begin
   taste := #13;
   if Assigned(edit1.OnKeyPress) then  // <== ohne diese Zeile kann es dich auf die S@@@@@@ hauen
      edit1.OnKeyPress(sender, taste);
end;
@Sprint: der Sinn ist, dass man im OnKeyPress die Taste verändern darf;
die veränderte Taste geht an das Control
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if not (Key in ['0'..'9']) then
      Key := #0; // Tastendruck "schlucken"
end;

Sprint 9. Feb 2005 20:58

Re: entertaste als char?????
 
Zitat:

Zitat von shmia
der Sinn ist, dass man im OnKeyPress die Taste verändern darf

Mir ist schon klar wofür das Ereignis OnKeyPress da ist. Nur macht es keinen Sinn, diesen manuell aufzurufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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