![]() |
Objekte als Array zusammenfassen?
Hallo zusammen,
ich habe in meinem Programm 8 verschiedene "Shape" eingefügt, also Kreise. Diese würde ich gerne als ein Array zusammenfassen, um diese später leichter ansprechen zu können. Ich habe z.B. eine Prozedur zum Ändern der Farbe geschrieben:
Delphi-Quellcode:
Wie mache ich aber aus den verschiedenen Shapes ein Array?
procedure MakeGreen(CurrentCircle:Integer);
begin Shape[CurrentCircle].Brush.Color:=clGreen end; Viele Grüße Andy |
Re: Objekte als Array zusammenfassen?
Es würde sich eine Objektliste (TObjectList) anbieten.
|
Re: Objekte als Array zusammenfassen?
Hi ich bin noch relativ neu bei Delphi, und habe bislang vergeblich versucht, eine Objektliste zu erstellen.
Hier mal ein Auszug aus meinem Quellcode:
Delphi-Quellcode:
var
[...] Kreise: TObjectList; ///habe die Unit "Contnrs" eingebunden
Delphi-Quellcode:
Ich weiß nicht ob es bisher stimmt.
procedure TForm1.FormCreate(Sender: TObject);
begin Kreise:=TObjectList.Create ; Kreise.Add(Shape1); Kreise.Add(Shape2); ... usw Auf jeden Fall bin ich mir nicht im Klaren wie ich jetzt nachher auf die Listeneinträge zugreifen kann... Viele Dank für eure Mühen blicke noch nich ganz durch :pale: |
Re: Objekte als Array zusammenfassen?
Im Nachhinein will ich damit folgende Procedure "füttern":
Delphi-Quellcode:
Mit dem Array erspar ich mir dann jede Menge Schreibarbeit
procedure ShineGreen(CurrentCircle:Integer);
begin Kreise[CurrentCircle].Brush.Color:=clGreen |
Re: Objekte als Array zusammenfassen?
Wo hast Du denn Deine TShapes deklariert? Und wo werden sie erzeugt?
Grüße, Messie |
Re: Objekte als Array zusammenfassen?
Delphi-Quellcode:
Die wurden so angelegt als ich die aus der Komponentenpalette heraus erstellt habe.
type
TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Shape1: TShape; Shape2: TShape; Shape3: TShape; Shape4: TShape; |
Re: Objekte als Array zusammenfassen?
Ansprechen kannst Du die Shapes in der ObjectList über
Delphi-Quellcode:
Kreise.Items[CurrentCircle] as TShape
|
Re: Objekte als Array zusammenfassen?
Hi, seid mir nicht böse aber ich versteh das nicht.
Wie kann ich denn jetzt konkret dem zweiten Kreis in meiner Liste den Füllwert "grün" zuweisen? |
Re: Objekte als Array zusammenfassen?
Sry das hier warn Doppelpost mein Browser is hängengeblieben
|
Re: Objekte als Array zusammenfassen?
Guten Abend,
Delphi-Quellcode:
Grüße
(Kreise.Items[CurrentCircle] as TShape).Brush.Color:=clGreen;
Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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