Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bild als Schleifen Bedingung (https://www.delphipraxis.net/151734-bild-als-schleifen-bedingung.html)

littleshiva 30. Mai 2010 13:15


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:
IF NOT Image1.Picture.LoadFromFile = ('.\Images\card-back.jpg')
Jedoch wenn ich das so formuliere, funktionierts nicht.

Weiß jemand rat und weiß wie es richtig heißen muss?

Sir Rufo 30. Mai 2010 13:21

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.

littleshiva 30. Mai 2010 13:24

Re: Bild als Schleifen Bedingung
 
kannst du mir denn sagen wie es richtig formuliert werden muss?

himitsu 30. Mai 2010 13:29

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.

Sir Rufo 30. Mai 2010 13:34

Re: Bild als Schleifen Bedingung
 
und über die SuFu findet man z.B. das hier http://www.delphipraxis.net/internal...t.php?t=172882

himitsu 30. Mai 2010 13:42

Re: Bild als Schleifen Bedingung
 
PS: Zum Thema relative Pfade wird auch öfters mal was gesagt. (Zusammenfassung = sowas macht man nicht)

Namenloser 30. Mai 2010 13:47

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