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 Auf Komponenten dynamisch zugreifen (https://www.delphipraxis.net/45059-auf-komponenten-dynamisch-zugreifen.html)

CrazyK 28. Apr 2005 20:07


Auf Komponenten dynamisch zugreifen
 
Hi,

ich habe eine Form mit funf Button drauf. (BPlayer1..BPlayer5) Jetzt will ich , dass die Caption im OnShow-ereignis in einer Schleife dynamisch aus einer Datei geladen wird..

also irgenwie so

Delphi-Quellcode:
while not eof(datei) do
begin
...
strName := Datensatz.Name;
BPlayer+StrToInt(zähler).Caption := strName;
inc(zähler)
end;
ich weiss - der Code macht nicht wirklich Sinn aber ich hoffe ihr wisst, was ich meine.
Ich muss doch irgenwie nen Pointer auf die Komponente machen, die ich ansprechen will und kann dann über den Pointer die Caption festlegen. Aber irgentwie bekomme ich das ganze nicht hin.

wäre für Hilfe sehr dankbar

Gruß CrazyK

Nikolas 28. Apr 2005 20:08

Re: Auf Komponenten dynamisch zugreifen
 
Herzlich willkommen in der DP :party:

Nimm einfach Delphi-Referenz durchsuchenFindcomponent damit kannst du dann auf die Player zugreifen.

malo 28. Apr 2005 20:45

Re: Auf Komponenten dynamisch zugreifen
 
Delphi-Quellcode:
while not eof(datei) do
begin
...
strName := Datensatz.Name;
(FindComponent('BPlayer' + StrToInt(zaehler)) as TButton).Caption := strName;
inc(zaehler)
end;

CrazyK 28. Apr 2005 23:14

Re: Auf Komponenten dynamisch zugreifen
 
Zitat:

Zitat von malo
Delphi-Quellcode:
while not eof(datei) do
begin
...
strName := Datensatz.Name;
(FindComponent('BPlayer' + StrToInt(zaehler)) as TButton).Caption := strName;
inc(zaehler)
end;

du meinst bestimmt IntToStr(zaehler) (nur falls das nochmal jemand nutzt und sich wundert, dass es nicht funktioniert) aber vielen Dank ..

nur leider funzt das so in meinem Fall nicht. Denn die Button befinden sich auf einer Form, die erst nach dem setzten der Button per ShowModal aufgerufen wird. Die FindComponent findet die Button also gar nicht.. hat noch jemand ne Idee?

CrazyK

malo 28. Apr 2005 23:20

Re: Auf Komponenten dynamisch zugreifen
 
Zitat:

Zitat von CrazyK
Zitat:

Zitat von malo
Delphi-Quellcode:
while not eof(datei) do
begin
...
strName := Datensatz.Name;
(FindComponent('BPlayer' + StrToInt(zaehler)) as TButton).Caption := strName;
inc(zaehler)
end;

du meinst bestimmt IntToStr(zaehler) (nur falls das nochmal jemand nutzt und sich wundert, dass es nicht funktioniert) aber vielen Dank .. hat mir sehr geholfen.

CrazyK

Ich hab deinen Code übernommen und an der Stelle mit FindComponent geändert. Also dein Fehler :stupid:

malo 28. Apr 2005 23:42

Re: Auf Komponenten dynamisch zugreifen
 
Zitat:

Zitat von CrazyK
nur leider funzt das so in meinem Fall nicht. Denn die Button befinden sich auf einer Form, die erst nach dem setzten der Button per ShowModal aufgerufen wird. Die FindComponent findet die Button also gar nicht.. hat noch jemand ne Idee?

Schau dir mal das hier an :zwinker:

CrazyK 28. Apr 2005 23:52

Re: Auf Komponenten dynamisch zugreifen
 
super..funzt 1a..Danke

Gruß CrazyK


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