![]() |
Componentname in String umwandeln
Hi,
der Titel sagt schon alles. Ich wollte mit einen Label etwas machen. Dieses Label hat immer folgendes Schema: Headline_ExPanel1 Headline_ wird jedes Panel genannt. ExPanel1 ist das Panel auf welchen das Label liegt Da das Ganze variabl sein soll muss ich also den Namen des Senders heruafinden, in einen String umwandeln und ihn mit Headline_ verbinden. Mein Code sieht wie folgt aus:
Delphi-Quellcode:
Jetzt fehlt mir nur noch der Befehl um den Component-Name in einen String zu verwandeln ;-)
FindComponent('Headline_'+(Sender as TPanel).Name).caption:='blubb';
Hoffe ihr könnt mir helfen. |
Re: Componentname in String umwandeln
Hi,
ist TComponentName (also die Eigenschaft "Name") einer Komponente nicht kompatbiel zu string? Wär' mir jetzt neu.. mfG mirage228 |
Re: Componentname in String umwandeln
Hmm... das kann ich jetzt nicht festellen da mir "Undefinierter Bezeichner: FindComponent" gemeldet wird...
|
Re: Componentname in String umwandeln
Muss man nicht auch FindComponent mit as TLabel oder was auch immer verwenden?
|
Re: Componentname in String umwandeln
@Nicolai1605
Richtig! FindComponent liefert einen TComponent-Zeiger, der in den meisten Fällen mit einem TypeCast verwendet wird. @onlinehome FindComponent ist keine einfache Funktion sondern eine Methode von TComponent. Du mußt also die FindComponent-Methode des Label-Besitzers (also Owner, nicht Parent!) aufrufen. Meistens ist dies das Formular, auf dem das Label liegt. Gruß Hawkeye |
Re: Componentname in String umwandeln
Zitat:
|
Re: Componentname in String umwandeln
Delphi-Quellcode:
(FindComponent('Headline_'+(Sender as TPanel).Name) as TLabel).caption:='blubb';
|
Re: Componentname in String umwandeln
Zitat:
|
Re: Componentname in String umwandeln
Classes (da FindComponent eine Methode von TComponent und TComponent ist in Classes)
|
Re: Componentname in String umwandeln
Die habe ich eingebunden...
Also ich habs jetzt so gelöst:
Delphi-Quellcode:
Würde auch funktionieren wenn nicht "Undefinierter Bezeichner: Font" kommen würde...
(Sender as TPanel).FindComponent('Headline_'+(Sender as TPanel).Name).font.color:=clWhite;
Auch folgendes geht nicht:
Delphi-Quellcode:
(Sender as TPanel).FindComponent('Headline_'+(Sender as TPanel).Name as TLabel).font.color:=clWhite;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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 by Thomas Breitkreuz