Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FastReport - verschiedene Titel zur Laufzeit (https://www.delphipraxis.net/145023-fastreport-verschiedene-titel-zur-laufzeit.html)

brunoM 22. Dez 2009 07:01


FastReport - verschiedene Titel zur Laufzeit
 
Hallo zusammen
Ich weiss nicht, ob ich hier richtig bin - ich stelle nun einfach meine Frage, vielleicht kann mir ja jemand helfen.

Ich habe seit kurzem auf Fastreport gewechselt. Ich habe ein Kundenverwaltungsprogramm geschrieben mit welchem ich die Daten, welche aus einer Datenbank stammen nach verschiedenen Kriterien ausgeben möchte. Dies ist auch kein Problem.

Das Problem besteht darin - je nach Daten - eine entsprechende Überschrift zu generieren und dem Report zuzuweisen.Ich habe mit dem Desinger einen Report entworfen und möchte diesen für alle Variationen der Dateiausgabe benutzen. Es müsste einfach möglich sein, die entsprechende Überschrift zu setzen z.B. Termine sortiert nach Datum.... Termine von.... bis.... usw. Hab lange probiert, aber es nicht geschaft. Für eine Antwort wäre ich Euch sehr dankbar.

Gruss
Bruno

DerAndereMicha 22. Dez 2009 07:19

Re: FastReport - verschiedene Titel zur Laufzeit
 
Hallo Bruno,

Du könntest das mit Hilfe von Reportvariablen erledigen. Du definierst einfach eine oder mehr Variablen für die Überschrift(en), schreibst diese Variablen anstelle der Überschrift in ein TfrxMemoView-Objekt auf dem PageHeader-Band, füllst deren Inhalt aber erst in Abhängigkeit des aktuellen Reports im Programm selbst.

Gruß
Micha

neo4a 22. Dez 2009 08:17

Re: FastReport - verschiedene Titel zur Laufzeit
 
Reportvariablen sind sehr gut geeignet, wenn der Algorithmus simpel ist und Du auch beim Entwurf in der IDE Resultate sehen möchtest. Dazu würde ich Dir empfehlen, mit 2 Variablen zu arbeiten: Die erste Variable [PrintOption] wird im Script ausgewertet und setzt dann [PrintTitel]. Damit kannst Du in der schön IDE testen, ob die Zuweisung klappt. Zur Laufzeit setzt Du dann [PrintOption] aus dem Programm heraus - [PrintTtitel] wird wie gehabt im Script ermittelt und gesetzt.

Darf es etwas komplizierter sein? Dann ist es in FR simpler. Angenommen, Du möchtest [PrintTitel] zur Laufzeit aus mehreren Komponenten zusammensetzen, so nutze das Event frxReport.OngetValue:

Delphi-Quellcode:
procedure TForm1.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
  if varName='PrintTitel' then
    Value := ' Juhu, es ist jetzt '+FormatDateTime('hh:nn',now);
end;
Nachteil: Es funktioniert nur zur Laufzeit.

--
Andreas

brunoM 22. Dez 2009 10:41

Re: FastReport - verschiedene Titel zur Laufzeit
 
Das ging ja schnell mit der Antwort - hab es bereits ausprobiert und es funktioniert bestens!!

Recht herzlichen Dank für Eure wertvolle Hilfe!

Gruss

Bruno


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz