ImageEn, unit iexDBBitmaps

TIEDBMultiBitmap.FilenameField

TIEDBMultiBitmap.FilenameField


Declaration

property FilenameField : string;


Description

Specifies the database field that contains the name or filename of the image. It must be the name of a TStringField or a TMemoField.

TIEDBMultiBitmap can be used in two ways:
Reading images directly from a database blob field, by setting ImageBlobField to a valid field. In this situation FilenameField specifies a display name for the image (and is optional). It will also improves performance, especially if the filename field is unique.
Reading files stored in a local folder and referenced by a database string field, by setting ImageBlobField to ''. In this case FilenameField should either be a full path to a local file, or a name only with the folder specified by ImagePath

Note:
 - Either ImageBlobField or FilenameField must be set (or both).
 - You should set FilenameFieldIsUnique if the field is unique to improve performance


See Also

ImagePath
FilenameFieldIsUnique
ImageBlobField
ImageStorageMode


Examples

// Display content of a table where images are stored in a blob field
fDBMBitmap := TIEDBMultiBitmap.create();
fDBMBitmap.DataSource := DataSource1;
fDBMBitmap.ImageBlobField := 'ImageBlob';
ImageEnMView1.SetExternalMBitmap( fDBMBitmap );

// Display content of a table where images are stored in a blob field and name of image is stored in "ImageName" field
fDBMBitmap := TIEDBMultiBitmap.create();
fDBMBitmap.DataSource := DataSource1;
fDBMBitmap.FilenameField := 'ImageName';
fDBMBitmap.ImageBlobField := 'ImageBlob';
ImageEnMView1.SetExternalMBitmap( fDBMBitmap );

// Display content of a table where images are stored in a folder and their path and filename is referenced by the "ImageFilename" field
fDBMBitmap := TIEDBMultiBitmap.create();
fDBMBitmap.DataSource := DataSource1;
fDBMBitmap.FilenameField := 'ImageFilename';
ImageEnMView1.SetExternalMBitmap( fDBMBitmap );

// Display content of a table where images are stored in a folder named "My Folder" and their filename is referenced by the "ImageName" field
fDBMBitmap := TIEDBMultiBitmap.create();
fDBMBitmap.DataSource := DataSource1;
fDBMBitmap.ImagePath  := 'C:\My Folder\';
fDBMBitmap.FilenameField := 'ImageName';
ImageEnMView1.SetExternalMBitmap( fDBMBitmap );


Note: Don't forget to free the object...
procedure TMainForm.FormDestroy(Sender: TObject);
begin
  FreeAndNil( fDBMBitmap );
end;