![]() |
Zusammengesetzter Objektname
Hi,
kann man einen Objektnamen aus 2 Teilen zusammensetzen lassen? Also z.B. so: For i := 1 to 10 do 'Ball'+i.visible:=true; also das der Ball i sichtbar wird?! Oder muss man für jeden Ball alles aufschreiben? Falls es da eine Lösung gibt, geht das dann auch mit Variablen? Danke im Vorraus MfG ErdNussLocke |
Re: Zusammengesetzter Objektname
Wenn es sich um ein von TObject abgeleitetes Objekt handelt, so funktioniert das so:
Delphi-Quellcode:
Natürlich nur solange Ball vom Typ TBall ist.
TBall('Ball'+inttostr(i)).visible := true;
Handelt es sich um eine Komponente auf der Form, musst du FindComponent verwenden. Edit: Nein, mit Variablen der Typen String, Integer, Extended... funktioniert das nicht. Aber du könntest dir eine Hilfsklasse erstellen:
Delphi-Quellcode:
TInteger = class(TObject)
public pInteger: TInteger; end; |
Re: Zusammengesetzter Objektname
Oder du benutzt Arrays:
Delphi-Quellcode:
var Baelle: array[0..4] of TBall;
i: integer; begin for i:=0 to 4 do baelle[i] := TBall.create; baelle[i].visible := true; end; end; Flare |
Re: Zusammengesetzter Objektname
Hi,
danke für deine schnelle Antwort! Das Objekt liegt auf dem Formular Form1. Also laut deiner Beschreibung muss ich dort FindComponent verwenden. Da frag ich mich: Was ist das? Die Delphi Hilfe macht alles nur noch unverständlicher. Könntest du mir ein Beispiel posten? :) Danke im Vorraus MfG ErdNussLocke |
Re: Zusammengesetzter Objektname
z.B.:
Delphi-Quellcode:
oder
(FindComponent('Ball'+inttostr(i)) as TBall).visible := true;
Delphi-Quellcode:
TBall(FindComponent('Ball'+inttostr(i))).visible := true;
|
Re: Zusammengesetzter Objektname
Hi,
danke für die Beispiele. Es funktioniert sogar fast :) Ich mache das jetzt mit 6 Bällen die alle einfach nur sichtbar gemacht werden sollen:
Delphi-Quellcode:
Es werden jetzt allerdings nur Ball nr. 1,3,4 und 6 sichtbar. Die anderen bleiben verschwunden. Es sind von anfang an alle auf visible=false gestellt.
var i: integer;
begin for i:=1 to 6 do TForm1(FindComponent('Ball'+inttostr(i))).visible:=true; end; Kann wer helfen? MfG ErdNussLocke |
Re: Zusammengesetzter Objektname
Zitat:
Flare |
Re: Zusammengesetzter Objektname
Die Bälle sind Shapes auf TForm1
Edit: Ok dann geht es :) Danke nochmal! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 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