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;