logo
small logo
  • Produkte
  • Shop
  • Support
  • Articles
  • Customer panel Support
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Home
  • /
  • Articles
  • /
  • Verwendung von FastReport-Speicherressourcen
  • Verwendung interaktiver Karten in FastReport VCL 2021

    30. April 2021

    Wir präsentieren Ihnen den letzten Artikel über die Kurse des Bildungsprogramms “Akademiker”. In den

    read more
  • Berichterstellung mit Dialogformularen

    26. April 2021

    In den vorherigen Artikeln zum Bildungsprogramm „Akademiker“ haben wir gelernt, wie man FastReport in Lazarus

    read more
  • PDF-Dokument im Bericht. Verwendung eines neuen TfrxPDFView-Objekts

    9. September 2021

    FastReport VCL ist in erster Linie ein Berichtsgenerator. Auf dieser Grundlage können wir davon ausgehen,

    read more
  • Wie autorisiert man FastReport VCL für den Zugriff auf Cloud-Speicher

    11. September 2021

    Ab der ersten FastReport VCL 6 Version wurde es möglich, über spezielle „Transports“ Komponenten eine

    read more
  • Erweiterung der Client-Server-Komponenten zum Empfang und Senden von fp3-Dateien

    13. Dezember 2021

    Beim Aufbau von Unternehmenssystemen spielt der Dokumentenverkehr eine wichtige Rolle. Wenn FastReport VCL in

    read more

Verwendung von FastReport-Speicherressourcen

1. Dezember 2021

Es gibt Situationen, in denen das Ändern bzw. Kopieren von Berichten durch die Programmbenutzern eingeschränkt werden muss. Das Wichtigste ist es so zu implementieren, dass sie nicht einmal merken, dass das Programm ein so wunderbares Produkt wie FastReport verwendet. Lassen Sie uns darüber sprechen, wie man Berichtsvorlagen vor neugierigen Blicken versteckt.

Die Idee ist ganz einfach: Berichtsvorlagen in einer ausführbaren Datei speichern und zum richtigen Zeitpunkt entpacken und ausführen.

Zuerst erstellen wir Berichtsdateien in FastReport VCL und speichern sie im ReportList-Verzeichnis. Die Ressourcen werden durch eine Textdatei mit folgendem Inhalt beschrieben:

1
2
TEST RCDATA ".\ReportList\Test.fr3"
TEST2 RCDATA ".\ReportList\Test2.fr3"

Speichern Sie die Datei unter dem Namen «TestFR.rc». Danach kompilieren Sie es mit dem Befehl BRCC32 TestFR.rc und erhalten TestFR.res. Die folgende Zeile muss am Anfang des Moduls eingefügt werden:

1
{$R TestFR.res} 

Eine einfachere Möglichkeit ist die Verwendung der RxLib-Bibliothek. Nach der Installation wird das Element Project Resources im Menü View angezeigt. Wählen Sie Project Resources->New->User Data und fügen Sie die erforderlichen Berichtsdateien hinzu.

Verwendung von FastReport-Speicherressourcen

Das Entpacken der gewünschten Ressource wird so aussehen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private
 { Private declarations }
 procedure LoadRptFromResource(Report: TfrxComponent; const ResName: string);
...............
procedure TFormMain.LoadRptFromResource(Report: TfrxComponent;
 const ResName: string);
var
 m: TResourceStream;
begin
 m := TResourceStream.Create(HInstance, ResName, RT_RCDATA);
 try
 m.Position := 0;
 Report.LoadFromStream(m);
 finally
 m.Free;
 end;
end;

Schreiben Sie nun einen Print-Handler für unseren Bericht.   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TFormMain.Button1Click(Sender: TObject);
var
Report: TfrxReport;
begin
 
 Report:= frxReportMain ;
 Report.Preview := nil ;
 
 Report.Script.Variables['dDAT'] := Edit1.Text;
 
 //Report.LoadFromFile( ExtractFilePath(Application.ExeName) + 'ReportList\Test.fr3 ');
 // Zum Debuggen ist es bequemer, LoadFromFile zu verwenden. Nach dem Debuggen und nach
 // dem Erstellen der Berichtsressourcenbeschreibungsdatei können Sie das folgende Verfahren anwenden
 LoadRptFromResource 
 LoadRptFromResource(Report, 'Test'); // Bericht aus den Ressourcen herunterladen 
 Report.PrepareReport(True);
 
 //Report.LoadFromFile( ExtractFilePath(Application.ExeName) + 'ReportList\Test2.fr3 ');
 //
 LoadRptFromResource(Report, 'Test2'); // Bericht aus den Ressourcen herunterladen
 Report.PrepareReport(False);
 
 Report.Preview:= PreviewForm.frxPreviewMain;
 PreviewForm.ShowModal;
end;

Diese Lösung hat natürlich auch Nachteile. Der erste ist die Ressourcenkapazität des Programms, da die ausführbare Datei mehrmals wächst, aber durch Packer gut komprimiert wird. Der zweite ist die Hinderung der Berichtserstellung.

Verfasser des Artikels: Leontew Oleg Gennadewitsch

about product download buy
avatar
Den Zubov
VCL Development
Fast Reports Team: Den Zubov - VCL Development at Fast Reports
VCL Lazarus FastReport Delphi

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Shop
  • Download
  • Dokumentation
  • Referenzen
  • Informationen zur Deinstallation unserer Produkte
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Unsere Nachrichten
  • Presse über uns
  • Partner
  • Außergewöhnliche Lizenzierung
  • Kontakte

© 1998-2022 by Fast Reports Inc.

  • Datenschutz