FastReport Tipps und Tricks: Bilder zur Laufzeit laden
Aus GEVITAS
1 Allgemeines
Man kann Bilder auch zur Laufzeit dynamisch aus der Datenbank laden.
Das heißt, es werden die Bilder angezeigt, zu dem ein Link in der Datenbank liegt.
Beispiel:
In den Artikel-Stammdaten kann man unter dem Register "Dokumente" auch Bild-Dateien hinterlegen. Genauer gesagt, hinterlegt man Links zu Dateien, die auf einem Server liegen.
2 Im Report
Im Report fügt man ein Grafik-Objekt ein. Dieses bleibt erst mal leer, man stellt aber die Dimensionen usw. ein.
Im Code muss man nun das Ereignis "OnBeforePrint" des Bandes durch Doppelklick erzeugen. Dann fügt man diesen Code ein:
procedure DetailDataDokumenteOnBeforePrint(Sender: TfrxComponent);
begin
if <ArtikelDokumente."Dateiname"> > '' then
begin
if ( Pos( '.JPG',Uppercase(<ArtikelDokumente."Dateiname">) ) > 0 )
or ( Pos( '.JPEG',Uppercase(<ArtikelDokumente."Dateiname">) ) > 0 )
or ( Pos( '.PNG',Uppercase(<ArtikelDokumente."Dateiname">) ) > 0 )
or ( Pos( '.BMP',Uppercase(<ArtikelDokumente."Dateiname">) ) > 0 )
or ( Pos( '.WMF',Uppercase(<ArtikelDokumente."Dateiname">) ) > 0 )
or ( Pos( '.EMF',Uppercase(<ArtikelDokumente."Dateiname">) ) > 0 )
or ( Pos( '.ICO',Uppercase(<ArtikelDokumente."Dateiname">) ) > 0 ) then
Picture1.Picture.LoadFromFile( trim(<ArtikelDokumente."Pfadname">) + trim(<ArtikelDokumente."Dateiname">) )
else
Picture1.Picture := Nil;
end
else
Picture1.Picture := Nil;
end;