Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Objekte als Array zusammenfassen? (https://www.delphipraxis.net/122060-objekte-als-array-zusammenfassen.html)

MrAndyG 8. Okt 2008 22:28


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:
procedure MakeGreen(CurrentCircle:Integer);
begin
Shape[CurrentCircle].Brush.Color:=clGreen
end;
Wie mache ich aber aus den verschiedenen Shapes ein Array?

Viele Grüße
Andy

Luckie 8. Okt 2008 22:43

Re: Objekte als Array zusammenfassen?
 
Es würde sich eine Objektliste (TObjectList) anbieten.

MrAndyG 8. Okt 2008 23:13

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:
procedure TForm1.FormCreate(Sender: TObject);
begin
Kreise:=TObjectList.Create ;
Kreise.Add(Shape1);
Kreise.Add(Shape2);
... usw
Ich weiß nicht ob es bisher stimmt.

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:

MrAndyG 8. Okt 2008 23:17

Re: Objekte als Array zusammenfassen?
 
Im Nachhinein will ich damit folgende Procedure "füttern":

Delphi-Quellcode:
procedure ShineGreen(CurrentCircle:Integer);
begin
Kreise[CurrentCircle].Brush.Color:=clGreen
Mit dem Array erspar ich mir dann jede Menge Schreibarbeit

messie 9. Okt 2008 07:36

Re: Objekte als Array zusammenfassen?
 
Wo hast Du denn Deine TShapes deklariert? Und wo werden sie erzeugt?

Grüße, Messie

MrAndyG 9. Okt 2008 08:22

Re: Objekte als Array zusammenfassen?
 
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Shape1: TShape;
    Shape2: TShape;
    Shape3: TShape;
    Shape4: TShape;
Die wurden so angelegt als ich die aus der Komponentenpalette heraus erstellt habe.

DeddyH 9. Okt 2008 08:28

Re: Objekte als Array zusammenfassen?
 
Ansprechen kannst Du die Shapes in der ObjectList über
Delphi-Quellcode:
Kreise.Items[CurrentCircle] as TShape

MrAndyG 9. Okt 2008 19:55

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?

MrAndyG 9. Okt 2008 19:57

Re: Objekte als Array zusammenfassen?
 
Sry das hier warn Doppelpost mein Browser is hängengeblieben

Klaus01 9. Okt 2008 20:44

Re: Objekte als Array zusammenfassen?
 
Guten Abend,

Delphi-Quellcode:
(Kreise.Items[CurrentCircle] as TShape).Brush.Color:=clGreen;
Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr.
Seite 1 von 2  1 2      

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