![]() |
Probleme beim Zugriff auf ein Objektes in der Liste?
Könnte so aussehen:
Delphi-Quellcode:
Man könnte auch eine kleine Objektliste-Klasse bauen und eine eigene Get-Methode coden, aber das führt wohl zu weit.
procedure TForm1.Button1Click(Sender: TObject);
var liste : Tobjectlist; i : integer; AktuellesLVL : TLVL12; begin for i := 0 to liste.Count -1 do begin AktuellesLVL := liste[i]; if AktuellesLVL is TLVL12 then begin // end; end; end; |
AW: Mehrere Objekte in einer Schleife erzeugen
noch eine weitere frage
Ich habe von TImage 27 Objekte und das
Delphi-Quellcode:
so aufzuschreiben 27 mal scheint mir doch sehr unelegant:oops:
for counter := 0 to 2 do
begin case saferend[counter] of 0: Image1.Picture.Assign(Caller[0]); 1: Image1.Picture.Assign(Caller[1]); 2: Image1.Picture.Assign(Caller[2]); 3: Image1.Picture.Assign(Caller[3]); 4: Image1.Picture.Assign(Caller[4]); 5: Image1.Picture.Assign(Caller[5]); 6: Image1.Picture.Assign(Caller[6]); 7: Image1.Picture.Assign(Caller[7]); 8: Image1.Picture.Assign(Caller[8]); 9: Image1.Picture.Assign(Caller[9]); else end; gäbe es eine möglichkeit alle 27 objekte per forschleife oder ähnliches aufzurufen? |
AW: Mehrere Objekte in einer Schleife erzeugen
Kommen Werte < 0 oder > 9 vor?
Delphi-Quellcode:
for counter := 0 to 2 do
begin Image1.Picture.Assign(Caller[saferend[counter]]); |
AW: Mehrere Objekte in einer Schleife erzeugen
ne kommen sie nicht
jedoch ist das problem so wie das bei dir steht die werte sind ja größer als 3 und mit geht es nur darum das ich nicht immer Image?.Picture.Assign Schreiben muss sonder das auslagern kann |
AW: Mehrere Objekte in einer Schleife erzeugen
Man darf hier übrigens gern auch eigene Threads eröffnen und muss keine 11 Jahre alten kapern.
|
AW: Mehrere Objekte in einer Schleife erzeugen
ich sag dir ganz erhlich ich habe mich nicht damit auseinander gesetzt wie man hier threads eröffnet :D
|
AW: Mehrere Objekte in einer Schleife erzeugen
Zitat:
|
AW: Mehrere Objekte in einer Schleife erzeugen
Zitat:
Zitat:
Delphi-Quellcode:
for counter := 0 to 2 do
if Caller[saferend[counter]] in [0..26] then // oder so ähnlich Image1.Picture.Assign(Caller[saferend[counter]]) //else ; PS: Falls jemand demnächst mit 100 Objekten ankommt, findet er hier gleich die neue/erweiterte Antwort. |
AW: Mehrere Objekte in einer Schleife erzeugen
Ich vermute hier soll eher das Image selbst variabel sein:
Delphi-Quellcode:
function TMyForm2.GetImage(AIndex: Integer): TImage;
begin Result := FindComponent('Image' + IntToStr(AIndex)) as TImage; Assert(Assigned(Result), 'Image' + IntToStr(AIndex) + ' nicht gefunden'); end; |
AW: Mehrere Objekte in einer Schleife erzeugen
Bei 'FindComponent' hast Du das Problem, das beim Umbenennen einer Komponente diese nicht mehr gefunden wird, daher: Finger weg und ab mit den Images in eine Liste bzw ein Array Of TImage.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 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