![]() |
Rave Report - Datenbank mit Bilder ausgeben
:x Hallo zusammen.
Ich stehe vor folgender Aufgabe. Ich benötige eine Ausgabe von mehreren hundert Datensätzen mit kleinen Bildern. Ich möchte einen Rave Report erstellen der einerseits Daten aus einer Datenbank enthällt, und zu jedem Datensatz ein Bild anzeigt. Das habe ich mit 'Direct Data View' (Datenbankanbindung)in Rave auch hinbekommen, wenn die Bilder in der Datenbank vorliegen. Da die Datenbank (MSSQL-Server) allerdings mit zunehmend vielen Bildern sehr umfangreich wird, habe ich mich entschlossen die Bilder nur als Pfad in der Datenbank zu hinterlegen und dann zur Laufzeit von einem Verzeichnis zu laden. Mit meinem Delphi Formular klappt das auch einwandfrei. Nun soll ich aber einen Ravereport erstellen, der eben auch den Text aus der Datenbank und die entspr. Bilder zum Datensatz zeigt. Wie stelle ich es an, dass die Bilder an den RaveReport übergeben werden, also von der Festplatte geladen werden? Oder muss man diese in Rave direkt laden (LoadFromFile) oder so? Wie steht es dann mit der Zuordnung zu den jeweiligen Datensätzen ? Benutze Rave 5.0.8 (VCL7) Bitte um Hilfe ! Danke. |
Re: Rave Report - Datenbank mit Bilder ausgeben
Hallo,
![]() statt Parameter nimmst Du einfach das Datenfeld; :-) thomas, TeamNevrona |
Re: Rave Report - Datenbank mit Bilder ausgeben
Danke, funktioniert mit Bitmap bmp.
Hab aber Jpeg Dateien. Wie kann ich auch Jpeg Dateien anzeigen ? Was muss ich dazu ergänzen ? |
Re: Rave Report - Datenbank mit Bilder ausgeben
d.h. bmp oder jpg in der Datenbank bzw. auf der Festplatte ?!
-> kein Problem für Rave.... auf der AddOn-Seite von nevrona.com/rave gibt es für JPG ein AddOn (Freeware) und dann mit DataMirrorSection unterscheiden (über ein RaveCalcField; (Char(1) reicht.... ). alternativ kannst du noch jpg in bmp umwandeln (aber m.E. nicht sinnvoll) :-) thomas, TeamNevrona |
Re: Rave Report - Datenbank mit Bilder ausgeben
OK, hab es downgeloaded und dann nach Anleitung vorgegangen.
Die ersten 3 Punkte habe ich noch kapiert, aber bein letzten Punkt haperts. Kannst Du mir da nochmal helfen wie ich da vorgehen soll. Die unit NDCsJPEG hab ich mit in die uses Klausel in mein Formular auf dem die Rave Komponente sitzt mit eingebunden. "uses NDCsJPEG" Bekomm aber dann beim Start die Fehlermeldung "...Klasse TRaveJpegImage nicht gefunden...." Seh den Wald vor lauter Bäumen nicht ! Benutze Delphi 7 und Rave 5.0.8 (VCL7). Danke. Installation instructions for TRaveJPEGImage -------------------------------------------- 1: Extract the files in this archive in your Rave main directory (normally C:\RAVE4). Make sure to expand with directories so that the source will be placed in it's own directory. 2: Copy the NDCsJPEG.PAS file into the appropriate directory for the version of Delphi or C++Builder that you are using (for Delphi 5.0 it would normally be C:\RAVE4\D5). 3: Start Rave, go to the preferences dialog (Edit|Preferences), select the Packages tab and add the C:\RAVE4\ND_JPEG.BPL package file to the list of installed package and click OK. That's it. The only other remaining items that you need to make sure to do is include the unit NDCsJPEG in the uses clause of your Delphi or C++Builder application (normally in the same unit containing your TRaveProject component) and call the RaveRegister procedure inside the NDCsJPEG unit (normally a call to "NDCsJPEG.RaveRegister;" in the TRaveProject.OnCreate event). Failure to follow these two steps will result in runtime errors when loading a report project (.RAV file) containing TRaveJPEGImage components. |
Re: Rave Report - Datenbank mit Bilder ausgeben
Zitat:
:-) thomas |
Re: Rave Report - Datenbank mit Bilder ausgeben
ok, funzt.
hab das genauso gemacht wie mit der Bitmapdatei .bmp im EventEditor in Rave.
Delphi-Quellcode:
Leider bekomm ich aber eine Fehlermeldung beim compilieren.
MyJPEGImage.FileLink := RaveProject.GetParam('pMyReportImage');
Unknown Identifier "FileLink". Das mit.. Zitat:
Kansst du das bitte ausführen. thx. |
Re: Rave Report - Datenbank mit Bilder ausgeben
Komm einfach nicht weiter mit Rave.
Wie kann ich dann die entsprechenden Bilder zu den einzelnen Positionen laden ? |
Re: Rave Report - Datenbank mit Bilder ausgeben
wie liegen die Bilder vor ??
:-) thomas |
Re: Rave Report - Datenbank mit Bilder ausgeben
Die Bilder liegen als jpeg Format in einem Verzeichnis. Insgesamt ca. 2000.
Ich möchte einen Bildkatalog drucken. Zu jedem Datensatz soll dann das entspr. Bild geladen werden. |
Re: Rave Report - Datenbank mit Bilder ausgeben
Die Jpeg AddOn Komponente hab ich schon installiert, aber wie lädt man jetzt die Bilder zu den jeweiligen Datensätzen.
Kann man das mit Rave überhaupt oder soll ich lieber einen anderen Reportgenerator nehmen. Bitte um Hilfe. |
Re: Rave Report - Datenbank mit Bilder ausgeben
so auf die schnelle...
![]() und den Einsatz von den RaveCalcFields
Delphi-Quellcode:
procedure TForm1.CustomerCXNGetCols(Connection: TRPCustomConnection);
begin With Connection do begin DoGetCols; WriteField('Bild', dtGraphic, 30, '', ''); end; { with } end;
Delphi-Quellcode:
damit löst Du dein Problem.
procedure TForm1.CustomerCXNGetRow(Connection: TRPCustomConnection);
With Connection do begin DoGetRow; // alle "echte" Datenfelder WriteBlobData(Stream.Memory^, Stream.Size); end; end; :-) thomas, TeamNevrona |
Re: Rave Report - Datenbank mit Bilder ausgeben
:hello: Jetzt hab ich es hinbekommen.
Funktioniert einwandfrei. Danke nochmals. |
Re: Rave Report - Datenbank mit Bilder ausgeben
Hallo. Bei mir mit meinen Rave Report 5.0 funktioniert das nicht. Wo bekommt man die neuesten Updates für das Report Programm? Auf der hersteller seite habe ich nicht gefunden (trotz der Registierung)
MFG Viktor |
Re: Rave Report - Datenbank mit Bilder ausgeben
Victor,
welche Rave version hast Du genau ? in RvProject ist 5.0.4 die Original und 5.0.8 die "update"-version von Rave 5 BE für Delphi 7. Das Update gibt es nicht von Nevrona (dort gibt es nur die BEX-Updates <g>) sondern nur von Borland, im Delphi7-registered-User-Bereich! Achte bei den AddOn auf die richtige Version (4.09, 5.0, 5.13 BEX, 6.01 BE, 6.03/04 BEX) :-) thomas, TeamNevrona |
Re: Rave Report - Datenbank mit Bilder ausgeben
Hallo. Meine Version ist 5.0.04 (VCL7)
Wo genau muss ich mich bei Borland registrieren, damit ich Updates runteladen kann. Momentan habe ich D7.0 :? |
Re: Rave Report - Datenbank mit Bilder ausgeben
|
Re: Rave Report - Datenbank mit Bilder ausgeben
![]() Wie funtkioniert die Registierung bei Borland? Ich habe mich registiert, dennoch habe ich kein Zugriff auf Updates. Wenn ich mich 1 anmelde hier: ![]() dann kommt eine weiteren ameldefenster (was muss ich dann eingeben) Muss man die Registierung telefonisch durchführen? |
Re: Rave Report - Datenbank mit Bilder ausgeben
Nun habe ich die richtige Version runtergeladen und Rave upgadatet... :-D
|
Re: Rave Report - Datenbank mit Bilder ausgeben
Hallo!
Habe das gleiche Problem. Könnt Ihr das nochmal langsam zum mitschreiben wiederholen? Also den Tip +92 von der Seite von Nevrona konnte ich noch nachvollziehen. Allerdings übergebe ich per Parameter nur den Inhalt des aktuellen Datenfelds. Somit wird jeweils immer nur dasselbe Bild angezeigt. Gibt es keine einfache Lösung (für Dummies sozusagen). |
Re: Rave Report - Datenbank mit Bilder ausgeben
Hallo. Ich verwende in diesen Fall den "Report wizzard". Versuche das gleiche.
|
Re: Rave Report - Datenbank mit Bilder ausgeben
Also bei Rave sind bei mir nur 2 Report Wizards dabei. Einer für Standard-Tabellen und einer für Master/Detail-Tabellen.
Beide bringen mich bei meinem Problem leider nicht weiter. Oder meinst du einen anderen Wizard? Gibt es eigentlich gute (kostenfreie) Alternativen zu Rave? |
Re: Rave Report - Datenbank mit Bilder ausgeben
Parameter sind nur für einzelsachen;
für Datensätze o.ä. sollte man entweder die Rave CalcFields oder gleich die CustomConnection nehmen; beide Begriffe sollten hier in der DP zu finden sein! :-) thomas, TeamNevrona |
Re: Rave Report - Datenbank mit Bilder ausgeben
Ja, ich denke so könnte es gehen. Leider hänge ich mal wieder.
Ich wollte erst einmal die Custom-Connection wie folgt mit einem Memo-Feld ausprobieren und dann das Ganze für meine Zwecke anpassen.
Delphi-Quellcode:
Leider kommt bei mir dann folgende Fehlermeldung:
procedure TfrmReport.RvCustomConnection1GetCols(Connection: TRvCustomConnection);
begin Connection.WriteField('FullAddress', dtMemo, 30, '', ''); end; procedure TfrmReport.RvCustomConnection1GetRow(Connection: TRvCustomConnection); var Stream: TMemoryStream; Memo: TMemo; s: String; begin s := DataModule1.QueryDVD.FieldByName('name').AsString; s := s + ' (' + DataModule1.QueryDVD.FieldByName('id').AsString + ') : ' + #13#10; s := s + DataModule1.QueryDVD.FieldByName('cover').AsString; Stream := TMemoryStream.Create; Memo := TMemo.Create(Self); try Memo.Text := s; Memo.Lines.SaveToStream(Stream); Stream.Position := 0; Connection.WriteBlobData(Stream.Memory^, Stream.Size); finally Stream.Free; Memo.Free; end; end; Field DataView3:FullAddress. Datatype expected: dtString Datatype found: dtMemo. Beim erstellen des Reports kann ich aber gar nicht auswählen, welcher Datentyp mein Feld hat :gruebel: Eine Suche im Forum hat mich leider auch nicht weitergebracht. Bitte HILFE! |
Re: Rave Report - Datenbank mit Bilder ausgeben
Hallo
du solltest ein neues Thema aufmachen, dein Thread hat mit der ursprünglichen Frage nix mehr zu tun. Refreshe mal dein Dataview bei deinem laufendem Delphiprogramm. Wenn du sowieso schon mit Datenbank-kompos arbeitest, warum gehst du dann umständlich über ein Customconnection? Mfg Frank |
Re: Rave Report - Datenbank mit Bilder ausgeben
So. Habe mein letztes Problem gelöst.
Es lag daran, dass ich zwar die Anwendung beim Erstellen des Reports im Hintergrund laufen hatte, allerdings war die Form noch nicht erstellt (mache ich immer erst zur Laufzeit, kurz bevor ich sie brauche). So konnte die Connection noch nichts von meinem Feld wissen. Zitat:
(Aber ich denke, ich bin jetzt nahe dran). Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz