Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Abfrage welche Datei in TImage.picture geladen ist (https://www.delphipraxis.net/178624-abfrage-welche-datei-timage-picture-geladen-ist.html)

superjojo 18. Jan 2014 10:45

Abfrage welche Datei in TImage.picture geladen ist
 
Hallo

Ich habe ein Image und möchte abfragen welche Bilddatei geladen ist. Geplant war so etwas

Delphi-Quellcode:
if image1.picture = datei1.jpg then ...
Logischerweise kommt ein Fehler : undefinierter Bezeichner 'datei1.jpg'

Hat Jemand eine Idee wie das funktionieren könnte?

Helmi 18. Jan 2014 11:07

AW: Abfrage welche Datei in TImage.picture geladen ist
 
Hallo,

meines Wissens nach kann man nicht abfragen welche Datei ins TImage geladen wurde.
Das muss man sich selbst merken, wenn man ein Bild reinlädt.

Sir Rufo 18. Jan 2014 11:12

AW: Abfrage welche Datei in TImage.picture geladen ist
 
Gar nicht, denn der Image-Komponente ist es sowas von egal, woher die Daten stammen.

Wenn diese Information benötigt wird, dann musst du dir die schon selber merken.

z.B. über eine Eigenschaft
Delphi-Quellcode:
TForm1 = class( TForm )
Image1 : TImage;
private
  FImageFile : string;
  procedure SetImageFile( const Value : string );
public
  property ImageFile : string read FImageFile write SetImageFile;
end;

procedure TForm1.SetImageFile( const Value : string );
begin
  if Value = ImageFile then
    Exit;

  Image1.Picture.LoadFromFile( Value );
  FImageFile := Value;
end;
Der Setter erfüllt nun mehrere Sachen:
Die gleiche Datei (gleicher Name) wird nur einmal geladen, auch wenn man die x-mal zuweist.
Konnte die Datei nicht geladen werden, so wird auch der Dateiname nicht gespeichert (weil dann eine Exception geworfen wird)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 Uhr.

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