![]() |
Bild als Schleifen Bedingung
Moin.
Ich hab folgendes Problem, ich möchte in einer Schleife als bedingung angeben, das ein bestimmtes Bild nicht geladen ist.
Delphi-Quellcode:
Jedoch wenn ich das so formuliere, funktionierts nicht.
IF NOT Image1.Picture.LoadFromFile = ('.\Images\card-back.jpg')
Weiß jemand rat und weiß wie es richtig heißen muss? |
Re: Bild als Schleifen Bedingung
Das Object TImage merkt sich nicht von wo das Bild gekommen ist (muss ja auch nicht zwangsläufig aus einer Datei gekommen sein, könnte ja auch selber gebaut worden sein innerhalb des Prog).
Somit wirst du dir beim Laden den Dateinamen merken müssen ... oder du vergleichst das Bild bitweise oder mit einem Hash. btw. TImage.LoadFromFile ist eine Methode, die keinen Wert liefert (ist halt nur eine Methode). Somit ist es definitiv nicht möglich das mit irgendwas zu vergleichen. |
Re: Bild als Schleifen Bedingung
kannst du mir denn sagen wie es richtig formuliert werden muss?
|
Re: Bild als Schleifen Bedingung
andere Lösung: Die Bilddatei in ein TPicture oder TJpegImage (oder wie auch immer) laden
und dann beide Bilder (deren Pixel) vergleich. |
Re: Bild als Schleifen Bedingung
und über die SuFu findet man z.B. das hier
![]() |
Re: Bild als Schleifen Bedingung
PS: Zum Thema relative Pfade wird auch öfters mal was gesagt. (Zusammenfassung = sowas macht man nicht)
|
Re: Bild als Schleifen Bedingung
Wahrscheinlich geht es dem OP weniger darum, die Bilder zu vergleichen, sondern er will einfach nur wissen, welches vordefinierte Bild angezeigt wird.
Deshalb der Tipp: Trenne die Logik von der Darstellung! Speichere z.B. alle Bilder in einer TImageList und lege eine Variable an, in der du den Index des jeweiligen Bildes speicherst. Wenn du wissen willst, welches Bild angezeigt wird, fragst du einfach diese Variable ab. Direkten Zugriff auf die Oberflächenelemente solltest du in deinem Code immer vermeiden bzw. entsprechend kapseln. Es wäre vielleicht sinnvoll, wenn du mal beschreiben würdest, was du eigentlich machen willst, dann könnte man dir bessere Tipps geben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:46 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