![]() |
Images mit Schleife durchlaufen
Hallo
Ich wollte versuchen mit einer While Schleife durch 5 Bilder durchzugehen um nachzuschauen ob bereits ein Bild in der Image geladen wurde. Wenn eines geladen wurde dann geht er zum nächsten Image bis er eins gefunden hat welches noch kein Bild hatt und dann ein Bild reinladet. Wie kann man die Variabel der Schleife so benutzen dass sie als Teil des Namens der Image wird. Irgendwie sowas: Image+I I ist dann die Variabel mit der Nummer des geraden Abgefragten Images |
Re: Images mit Schleife durchlaufen
Hallo!
Da hilft dir ![]() Grüße |
Re: Images mit Schleife durchlaufen
FindComponent in einer Schleife finde ich persönlich nicht so toll (nutzt intern auch eine Schleife, wenn ich den Source noch richtig in Erinnerung habe). Evtl. wäre es besser, ein Array of TImage zu definieren und zu belegen und dieses dann zu durchlaufen.
|
Re: Images mit Schleife durchlaufen
Das ist natürlich schöner, da hast du recht. Nur muss natürlich ein wenig am Code verändert und unter Umständen die TImages dynamisch erzeugt werden.
|
Re: Images mit Schleife durchlaufen
Wenn die Images eh schon auf der Form liegen, muss man sie ja nicht dynamisch erzeugen.
|
Re: Images mit Schleife durchlaufen
naya leider bin ich nicht soweit um sowas zu können...
Sons hätte ich eine andere Idee: Wie kann man überprüfen ob in einer Image ein Bild geladen ist? |
Re: Images mit Schleife durchlaufen
Also an deiner Stelle würde ich's vorerst so in der Art machen:
Delphi-Quellcode:
Folgendes müsste übrigens auch gehen:
for i := 1 to 5 do
begin if (FindComponent('Image' + IntToStr(i)) as TImage).Picture <> nil then begin // Bild vorhanden (falls man es so überprüfen kann, da bin ich mir nicht ganz sicher) end; end;
Delphi-Quellcode:
Wenn du dann einmal mehr Wissen hast bzw. Lust, es dir anzueignen, kannst du immer noch Deddys Lösung umsetzen. ;)
if TImage(FindComponent('Image' + IntToStr(i))).Picture <> nil
Grüße |
Re: Images mit Schleife durchlaufen
OK hat erstmals bisschen funktioniert aber nicht ganz.
Delphi-Quellcode:
Dies scheint irgendwie nicht zu funktionieren, ich weis nicht weshalb...if(frmMonster.imgItem1.Picture = nil)then begin frmMonster.imgItem1.Picture.LoadFromFile(ItemsDir+'white_potion.bmp'); end else if(frmMonster.imgItem2.Picture = nil)then begin frmMonster.imgItem2.Picture.LoadFromFile(ItemsDir+'white_potion.bmp'); end else if(frmMonster.imgItem3.Picture = nil)then begin frmMonster.imgItem3.Picture.LoadFromFile(ItemsDir+'white_potion.bmp'); end |
Re: Images mit Schleife durchlaufen
Hm, vielleicht war's auch Image.Picture.Graphic <> nil
Aber das Thema gab's sicher schonmal: [dp]TImage überprüfen[/dp] |
Re: Images mit Schleife durchlaufen
es war Picture.Graphic = nil ^^
Vielen dank funktioniert nun alles wie es soll. Meine Art wird nur bisschen grösser aber solange es geht bin ich zufrieden. :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 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