Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zugriff auf zur Laufzeit erstellte Edit-Felder (https://www.delphipraxis.net/161118-zugriff-auf-zur-laufzeit-erstellte-edit-felder.html)

FriendOfDelphi 17. Jun 2011 12:55

Zugriff auf zur Laufzeit erstellte Edit-Felder
 
Hallo Allerseits,

ich habe eine Frage zum Zugriff auf zur Laufzeit erstellte Edit-Felder.

Es besteht eine Prozedur die nach einem Tastendruck überprüft, ob ein gültiges Zeichen eingegeben wurde:
Delphi-Quellcode:
procedure TMyObjekt.CheckZeichen(Sender : TObject; var Key : Char);
begin
  //mach was
end;
Dem Editfeld wurde beim Erstellen/Create mitgeteilt, dass bei einem Tastendruck eben diese Prozedur augerufen werden soll:
Delphi-Quellcode:
Edit[88].OnKeyPress:=CheckZeichen;
Kann ich in der Prozedur auch überprüfen, was der aktuelle Inhalt des Editfeldes ist, bzw. komme ich über "Sender" an das Editfeld-Objekt, oder wie muss man das machen?

DeddyH 17. Jun 2011 12:58

AW: Zugriff auf zur Laufzeit erstellte Edit-Felder
 
Delphi-Quellcode:
if Sender is TEdit then
  begin
    if TEdit(Sender).Text <> '' then
      ...
  end;
[edit] Hat man "etwas mehr" Code zwischen begin und end lohnt sich evtl. die Verwendung einer Zwischenvariablen.
Delphi-Quellcode:
var
  Edit: TEdit;
begin
  //ggf. nötig, schaden kann es auf keinen Fall
  Edit := nil;
  if Sender is TEdit then
    begin
      Edit := TEdit(Sender);
      if Edit.Text <> '' then
        ...
    end;
[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz