Can I retrieve Filename for TPicture directly?

0 votes
asked Dec 9, 2009 by dan-kelly

I have a Delphi application which displays an image using a TImage.

The location of the image is stored in a database and retrieved on load and set directly using code similar to below:

Image1.Picture.LoadFromFile(Query1.FieldByName('image').AsString);

I want to be able to display and edit the Filename being loaded during the above, am I right that there is no way to access that directly from the TImage component and that I will need to store the filename separately?

3 Answers

0 votes
answered Dec 9, 2009 by ken-white

No, there isn't. You can store it yourself, though.

var
  ImageFileName: string;


begin
  ImageFileName := Query1.FieldByName('image').AsString;
  Image1.Picture.LoadFromFile(ImageFileName);
end;

Declare the ImageFileName variable at a place where it will be visible everywhere you need access to the file name.

0 votes
answered Dec 9, 2009 by pa

You can store the filename in the Hint property of Image1.

if you don't already use it. As intended or for another purpouse... I find this property pretty promiscuous :)

0 votes
answered Sep 15, 2017 by artur-majtczak

You can store the filename in the TagString property of Image1.

if you don't already use it.

(in Firemonkey, not VCL)

Welcome to Q&A, where you can ask questions and receive answers from other members of the community.
Website Online Counter

...