Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ein dynamisch erstelltes object abfragen! (https://www.delphipraxis.net/13483-ein-dynamisch-erstelltes-object-abfragen.html)

fredel007 19. Dez 2003 12:30


ein dynamisch erstelltes object abfragen!
 
wie kann ich eine abfrage auf ein dynamisch erstelltes object machen!
ich möchte z.B. wissen ob im dynamisch erstellten Edit etwas eingetragten wurde!
wie muss des genau aussehen?

danke!
Delphi-Quellcode:

procedure Tform1.button1onclick(Sender: Tobject);
var
  labeledx: TlabeledEdit;
begin

    labeledx := TlabeledEdit.Create(form1);
    labeledx.Parent := form1;
    labeledx.Name := 'XXX';
    labeledx.EditLabel.Caption := 'egal';
    labeledx.text:='';
    labeledx.Top := 80;
    labeledx.Left := 12;
    labeledx.Width:= 30;
    labeledx.Height := 21;

end;
 
procedure Tform1.verarbeiten(Sender: Tobject);
begin
  if XXX.text <> '' then
  begin
    form1.Brush.Color:=cllime;
  end;
end;
so gehts nämlich nicht!

Jens Schumann 19. Dez 2003 12:35

Re: ein dynamisch erstelltes object abfragen!
 
Hallo,
stimmt so geht es auch nicht.
Es geht aber, wenn Du im private Abschnitt des Formulars labeledx: TlabeledEdit; deklarierst.
Also ungefähr so:
Delphi-Quellcode:
...
private
  Flabeledx: TlabeledEdit;

...

procedure Tform1.button1onclick(Sender: Tobject);
begin
    Flabeledx:= TlabeledEdit.Create(form1);
    Flabeledx.Parent := form1;
    Flabeledx.Name := 'XXX';
    Flabeledx.EditLabel.Caption := 'egal';
    Flabeledx.text:='';
    Flabeledx.Top := 80;
    Flabeledx.Left := 12;
    Flabeledx.Width:= 30;
    Flabeledx.Height := 21;
end;

procedure Tform1.verarbeiten(Sender: Tobject);
begin
  if Flabeledx.text <> '' then
  begin
    form1.Brush.Color:=cllime;
  end;
end;

Tpercon 19. Dez 2003 12:52

Re: ein dynamisch erstelltes object abfragen!
 
Oder die Komponente an Hand ihres Namens mit FindComponent suchst. Dann kannst du auch anschließend mit ihr spielen.

vbinsider 26. Dez 2003 22:56

Re: ein dynamisch erstelltes object abfragen!
 
du kannst aber auch dynamisch ereignis-handler zuweisen, z.B. so:

Delphi-Quellcode:
var MyEdit : TEdit;

procedure Verarbeiten(Sender : TObject);
begin
  // Hier wird der Edit-Inhalt verarbeitet
end;

procedure TForm1.FormCreate(Sender : TObject);
begin
  MyEdit:= TEdit.Create(self);
  MyEdit.Parent:= Form1;
  // [...]

  MyEdit.OnChange:= Verarbeiten; // Verarbeiten wird als Ereignis-Handler definiert und bei jeder
  // Bearbeitung aufgerufen
end;


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