Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - objektname aus variable


DarkHunter - Do 01.04.04 17:23
Titel: objektname aus variable
hallo ist es möglich das ein objektname aus einer variable geladen wird?
zb so

Delphi-Quelltext
1:
(variable).picture.loadfromfile ('bild.bmp');                    


bms - Do 01.04.04 17:42

Jajn. Eher indirekt, aber es geht. Hier ein Beispiel mit einem Button:


Quelltext
1:
TButton(FindComponent('Button1')).Caption := 'Hallo';                    


geht auch so:


Quelltext
1:
(FindComponent('Button1') as TButton).Caption := 'Hallo';                    


Bei deinem Beispiel wäre das in etwa so:


Quelltext
1:
(FindComponent('Image1') as TImage).picture.loadfromfile ('bild.bmp');                    


Aber vorsicht: wenn nichts gefunden wird, dann gibt es eine Fehlermeldung.


DarkHunter - Do 01.04.04 20:08

vielleicht sollte ich erläutern warum ich das will

ich habe 4 images die im endeffekt alle das selbe tun
deswegen will ich mir dafür eine procedure schreiben auf die alle 4 zugreifen und nur der name des objekt (image 1 -4 ) geändert wird


Delete - Do 01.04.04 22:41

Benutz doch die Sender-Variable.


tommie-lie - Do 01.04.04 23:00

Brainiac hat folgendes geschrieben:
Benutz doch die Sender-Variable.
Die gibt's aber nur in Events der Images...
Wenn man schon einen Button hat der alle vier Bilder ändern soll, geht's über den Sender des OnClick-Events des Buttons nicht mehr ;-)


Delete - Do 01.04.04 23:26

stimmt auch wieder... vergesst was ich gesagt habe.


bms - Do 01.04.04 23:33

Du kannst auch ein Array benutzen. Image[1].Picture.LoadFromFile().


DarkHunter - Fr 02.04.04 13:31

ok das mit dem array könnte ich probieren


bms - Fr 02.04.04 14:09

Aber was hast du gegen FindComponent? Ist für dein Problem wie gemacht.


tommie-lie - Fr 02.04.04 20:41

DarkHunter hat folgendes geschrieben:
ok das mit dem array könnte ich probieren
Dazu müsstest du aber die Images auch wieder dynamisch erzeugen. Wenn du nach dem Name-Property suchst, ist FindComponent schon die richtigste Lösung ;-)


NetZwerg - So 04.04.04 16:24

gibt es sowas auch für variablen?


Motzi - So 04.04.04 16:33

NetZwerg hat folgendes geschrieben:
gibt es sowas auch für variablen?

Nein..!


NetZwerg - So 04.04.04 16:37

nein?? kann man das irgendwie anders machen?? :(


Motzi - So 04.04.04 16:40

Variablennamen werden nicht gespeichert..! Aber wozu brauchst du das denn..?


Motzi - So 04.04.04 22:38

Ich hab den Rest in einen eigenen Thread abgeteilt da es ja im Prinzip wieder ein neues Problem ist. Der abgeteilte Thread befindet sich hier [http://www.delphi-forum.de/viewtopic.php?t=23927].