Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kompoentennamen aus Strings zusammensetzten (https://www.delphipraxis.net/5353-kompoentennamen-aus-strings-zusammensetzten.html)

Maa83 3. Jun 2003 11:03


Kompoentennamen aus Strings zusammensetzten
 
Hi

ist es möglich einen Kompoentennamen aus Strings zusammenzusetzte? Also z.B.

Delphi-Quellcode:
'Edit'+'1'
und dies dann als TEdit verwenden? Vielleicht so ähnlich:

Delphi-Quellcode:
('Edit'+'1') AS TEdit;

frankg 3. Jun 2003 11:26

Re: Kompoentennamen aus Strings zusammensetzten
 
Zitat:

Zitat von Maa83
Hi

ist es möglich einen Kompoentennamen aus Strings zusammenzusetzte? Also z.B.

Delphi-Quellcode:
'Edit'+'1'
und dies dann als TEdit verwenden? Vielleicht so ähnlich:

Delphi-Quellcode:
('Edit'+'1') AS TEdit;

Hallo Maa83!

Das geht so nicht. Du wirfst hier Strings (einen Datentyp) mit TEdit (einem Objekt) durcheinander. Wenn Du ein Objekt verwenden möchtest, dann musst Du dieses zunächst mal erzeugen. Klickst Du ein TEdit in ein Fenster, so tut Delphi das für Dich. Prinzipiell funktioniert das folgendermassen:

Delphi-Quellcode:
procedure AddEdit;
var
  myEdit : TEdit;
begin
  // Objekt myEdit erzeugen.
  myEdit := TEdit.Create(Self);
  // hier müssen die Eigenschaften gesetzt werden...
  with myEdit do
    begin
      Top := 20;
      Left := 20;
      // unter anderem kann man hier dann auch den Namen setzen
      Name := 'Edit'+'1';
    end;
  // wenn das Objekt myEdit nicht mehr gebraucht wird kann
  // es freigegeben werden.
  myEdit.Free;
end;
Ich hoffe es hilft Dir weiter

Frank

Motzi 3. Jun 2003 11:37

Ich glaube was du suchst sind die beiden Methoden FindComponent/FindControl...

Maa83 3. Jun 2003 12:01

@frankg: das ist mir schon klar... die komponenten gibt es ja auch schon... ich möchte aber z.B. mit einer Schleife folgendes realisieren:

Delphi-Quellcode:
for i := 1 to 10 do begin
    'edit'+IntToStr(i).Visible := false;
end;
kann man so etwas realisieren?

Darty 3. Jun 2003 12:04

Motzi hat schon die richtige Lösung geschrieben dazu

Maa83 3. Jun 2003 12:06

danke für die hilfe :)
das bringt mich um einiges weiter
also dann :coder:


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