AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zusammengesetzter Objektname

Ein Thema von ErdNussLocke · begonnen am 26. Jun 2006 · letzter Beitrag vom 26. Jun 2006
Antwort Antwort
ErdNussLocke

Registriert seit: 30. Jan 2006
104 Beiträge
 
#1

Zusammengesetzter Objektname

  Alt 26. Jun 2006, 13:38
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
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#2

Re: Zusammengesetzter Objektname

  Alt 26. Jun 2006, 13:43
Wenn es sich um ein von TObject abgeleitetes Objekt handelt, so funktioniert das so:
TBall('Ball'+inttostr(i)).visible := true; Natürlich nur solange Ball vom Typ TBall ist.

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;
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#3

Re: Zusammengesetzter Objektname

  Alt 26. Jun 2006, 13:46
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
Willy Scheibel
  Mit Zitat antworten Zitat
ErdNussLocke

Registriert seit: 30. Jan 2006
104 Beiträge
 
#4

Re: Zusammengesetzter Objektname

  Alt 26. Jun 2006, 13:48
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
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#5

Re: Zusammengesetzter Objektname

  Alt 26. Jun 2006, 13:54
z.B.:

(FindComponent('Ball'+inttostr(i)) as TBall).visible := true; oder TBall(FindComponent('Ball'+inttostr(i))).visible := true;
  Mit Zitat antworten Zitat
ErdNussLocke

Registriert seit: 30. Jan 2006
104 Beiträge
 
#6

Re: Zusammengesetzter Objektname

  Alt 26. Jun 2006, 14:09
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:
var i: integer;
begin
 for i:=1 to 6 do
  TForm1(FindComponent('Ball'+inttostr(i))).visible:=true;
end;
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.
Kann wer helfen?
MfG
ErdNussLocke
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#7

Re: Zusammengesetzter Objektname

  Alt 26. Jun 2006, 14:12
Zitat von ErdNussLocke:
Delphi-Quellcode:
var i: integer;
begin
 for i:=1 to 6 do
  TForm1(FindComponent('Ball'+inttostr(i))).visible:=true;
end;
Warum machst du die Umwandlung nach TForm1? Von was für einem Typ sind denn deine Bälle? TImages? Auf jeden Fall musst du die in dieses Format umwandeln, nicht in TForm! Warum der die 2 und 5 auslässt kann ich allerdings nicht sagen.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
ErdNussLocke

Registriert seit: 30. Jan 2006
104 Beiträge
 
#8

Re: Zusammengesetzter Objektname

  Alt 26. Jun 2006, 14:40
Die Bälle sind Shapes auf TForm1

Edit: Ok dann geht es Danke nochmal!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 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