Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fastreport Variablen - ich blicks nicht (https://www.delphipraxis.net/170706-fastreport-variablen-ich-blicks-nicht.html)

Captnemo 29. Sep 2012 16:40

Fastreport Variablen - ich blicks nicht
 
Hi,

ich muß einen Report mit Fastreport / XE2 erstellen.

Da es im Report naturgemäß auch variable Textelemente gibt, die nicht über ein DataSource bestückt werden, muß ich die also manuell füttern.
Beim Reportbuilder ging das früher immer ganz komfortabel, da auf die Elemente direkt zugegriffen werden konnte.

Bei Fastreport geht das wohl über Variablen, soviel hab ich schon rausbekommen.

Hier mein Source:
Delphi-Quellcode:
    frxReport1.Variables.AddVariable('Mandant', 'Addressheader', '');
  frxReport1.PrepareReport(False);
  frxReport1.ShowPreparedReport;
Jetzt sollte ja eingentlich innerhalb des Report die Variable Addressheader zur Verfügung stehen.
Wenn ich dann aber den Report anzeigen lassen will, dann bekomme ich den Fehler: 'Undeclared identifier: 'Addressheader''

Ich finde auch irgendwie nix brauchbares im Internet, wie es denn nun machen soll. Die paar Demos geben auch nicht wirklich viel her.
Kann mir das einer so erklären, dass auch ich das verstehe?

RWarnecke 29. Sep 2012 16:56

AW: Fastreport Variablen - ich blicks nicht
 
Zitat:

Zitat von Captnemo (Beitrag 1184972)
Jetzt sollte ja eingentlich innerhalb des Report die Variable Addressheader zur Verfügung stehen.
Wenn ich dann aber den Report anzeigen lassen will, dann bekomme ich den Fehler: 'Undeclared identifier: 'Addressheader''

Deklariere mal die Variable Addressheader auch noch im Report unter Report-->Variables. Wenn Du da die Variable Addressheader deklariert hast, kannst Du diese in ein Textmemo eintragen.
Wenn Du es so eingetragen hast im FastReport Designer, dann kannst Du so die Variablen mit Leben füllen :
Delphi-Quellcode:
  FrxReport_Main.Variables['ReportTitle'] := '''' + APPNAME + ' v' + GetVersion(Application.ExeName) + '''';
  FrxReport_Main.Variables['ReportSubTitle'] := '''' + PC_Main.Pages[1].Caption + '''';
  FrxReport_Main.Variables['Computername'] := '''' + Edt_ComputerName.Text + '''';
In diesem Beispiel werden die drei Variablen ReportTitle, ReportSubTitle und Computername mit den entsprechenden Werten gefüllt.

Captnemo 29. Sep 2012 17:45

AW: Fastreport Variablen - ich blicks nicht
 
Okay, das hat funktioniert. Ich hatte die Variablen im Reportdesigner schon anglegt. Ich war nur davon ausgegangen, dass es lediglich für's designen wär.

Jetzt habe ich es so, und bekommen auch schon mal keine Fehlermeldung.
Delphi-Quellcode:
 
  frxReport1.Variables['SteuerUstID']:= QuotedStr('');
  frxReport1.PrepareReport(False);
  frxReport1.ShowPreparedReport;
Leider wird mir aber auch kein Report angezeigt. Es passiert einfach nichts. Als Datenquelle habe ich ein frsUserDataSet. Aber dessen Ereignisse (OnFirst, OnGetValue, OnNext oder OncheckEOF) werden nicht ausgelöst.

Hast du dafür auch eine Lösung?

Oder muß man zwingend frxPreview verwenden, frxReport hat keine integrierte Vorschau?

RWarnecke 29. Sep 2012 19:57

AW: Fastreport Variablen - ich blicks nicht
 
Probiere mal ShowReport statt ShowPreparedReport.

Captnemo 29. Sep 2012 21:27

AW: Fastreport Variablen - ich blicks nicht
 
Hat sich erledigt. Bei all der probiererei hatte ich mal testweise eine frxPreview auf eine neue Form gesetzt und unter frxReport als Preview eingetragen.
Deswegen ging das integrierte Preview im Report nicht mehr.

Jetzt geht's.

Aber jetzt hätt ich noch eine Frage.
Strings kann ich ja über Variablen übergeben. Geht das mit Images auch?

Lemmy 29. Sep 2012 21:41

AW: Fastreport Variablen - ich blicks nicht
 
Hi,


Du kannst bei FR wie beim Reportbuilder auf auch die einzelnen Komponenten zugreifen:

Delphi-Quellcode:
TfrxMemoView(frxReportMakePlan.Pages[1].FindObject('Memo1')).Text := 'XYZ';
Das geht auch mit allem anderen.

Grüße

Captnemo 29. Sep 2012 22:29

AW: Fastreport Variablen - ich blicks nicht
 
Zitat:

Zitat von Lemmy (Beitrag 1185029)
Hi,


Du kannst bei FR wie beim Reportbuilder auf auch die einzelnen Komponenten zugreifen:

Delphi-Quellcode:
TfrxMemoView(frxReportMakePlan.Pages[1].FindObject('Memo1')).Text := 'XYZ';
Das geht auch mit allem anderen.

Grüße

Danke, das war meine Lösung ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 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-2025 by Thomas Breitkreuz