Home
Document
Contents
1. 1998 2009 FastReports Inc Script 95 Gehen wir n den Reporteditor und erstellen einen Report mit folgendem Aussehen Customers Company Lustomers Addrl Markieren w r das Datenband und gehen auf den Tab Ereignisse m Objektinspektor Masterbatal TfrxMasterbata_ Properties Events On fterlalchi On fterPrint Onbeforefrint Onasterbet Um den Bearbeiter des Ereignisses OnBeforePrint dieses passt hier am besten zu starten m ssen wir einen Doppelklick mit der Maus auf eine leere Stelle gegen ber den Namen des Ereignisses durchf hren Properties Events OnAfterZalch OnAfterPrirt OnBeforeFPrint ES Onflasterbet rint Dadurch wird in den Scripttext ein leerer Bearbeiter hinzugef gt und der Designer schaltet auf den Tab Code Language PascalScript Ed Hr a procedure Masterbatal nbelorefrint Sender Tirxlomponent begin enid begin end 1998 2009 FastReports Inc FastReport 4 6 Benutzerhandbuch Die Arbeitsweise st der der Umgebung Delphi hnlich Wir m ssen nur noch den folgenden Code in den Bearbeiter eingeben PascalS cript if Copy lt Customers Company gt 1 1 A then MasterDatal Visible True else MasterDatal Visible False C Script if Copy lt Customers Company gt 1 1 A MasterDatal Visible true else MasterDatal Visible false Starten wir den Report und berzeug
2. 2 21 020 rigge rish Mumber i mm ategory own riggerish Sika ength cm D30 apper ed Emperor umber ategory E mn I Zj e rn Z D 1 an 3 3 ia n ength cm Wie man jetzt sieht wird die berschrift dort angezeigt wo sie hingeh rt Um den bertrag des Child Bandes auf die folgende Seite zu verhindern sprich die Trennung vom Hauptband stellen Sie die Eigenschaft Child zusammenhalten KeepChild im Objektinspektor ein Verschieben von Objekten Wir haben schon gesehen wie die Eigenschaft Verschieben funktioniert Betrachten wir einen anderen Modus des Verschiebens Verschieben wenn berlappung entspricht ShiftMode smWhenOverlapped im Objektinspektor Dieser f hrt dazu dass das Objekt nur verschoben wird wenn das obere Objekt beim Dehnen das darunter liegende berlappt In der unteren Grafik werden drei Beispiele vorgestellt Wie man sieht wird das untere Objekt mit aktivierter Option Verschieben wenn berlappung nur im letzten Fall verschoben wenn das obere Objekt viel Text enth lt und dieser das untere Objekt berlagert I Is Wenn man jedoch die Option Verschieben aktiviert wird das untere Objekt auf jeden Fall verschoben 1998 2009 FastReports Inc 50 FastReport 4 6 Benutzerhandbuch 2 22 i l B i Ion E O M In manchen F llen erlaubt es eine komplizierte Logik der Darstell
3. 1998 2009 FastReports Inc Dot Matrix Reporte 167 9 3 Dot matrix Befehlsobjekt Wie wir vorhin beschrieben haben k nnen Sie folgende Eigenschaften f r Dot Matrix Reporte einstellen Fr m l Fett kursiv i Unterstricher Hochgestellt Tiefgestellt Eng weit 12 cpi 15 cpi Dies st die Standardauswahl welche von allen Modellen der Nadeldrucker verstanden wird Au erdem kann ein konkretes Druckermodell Befehle unterst tzen die nicht n der Standardauswahl vorhanden s nd z B erh hen auf 20 Zeichen pro Zoll Um diesen Befehl einzugeben nutzen Sie das Dot matrix Befehlsobjekt Man f gt das Objekt auf die gew nschte Stelle der Seite z B oben links oder vor die Objektgruppe die diese Einstellungen haben sollen Um den Befehl einzugeben editieren Sie die Eigenschaft des Objektes im Objektinspektor DMPLlommandi Tfr amp bMPlomme Froperties Events Aligr ba one Command 27 40l Sie k nnen den Befehl auf zwei Arten erteilen dezimal z B 27 40 oder hexadezimal 1B28 1998 2009 FastReports Inc Dialogformen Dialogformen 169 Im Report k nnen neben den Reportseiten Dialogformen enthalten sein Um diese zu erstellen verwenden Sie denselben Designer wie den der Seiten Um eine neue Dialogseite zu erstellen klicken Sie auf den Button auf der Instrumentenleiste Eine neue Seite wird dann in den Report eingef gt Wenn Sie nun auf die Dialogse
4. Trennzeichen Trennzeichen der Werte Nach Export ffnen die Datei wird gleich nach dem Export mit dem voreingestellten Programm ge ffnet Besonderheit des Exportes Das Reportdesign wird beim Export in dieses Format nicht gespeichert Grafiken werden nicht unterst tzt Export in das HTML Format HTML Hypertext Markup Language gilt als die Standardsprache im Internet HTML wurde entwickelt um wissenschaftliche und technische Dokumentationen auszutauschen welche von Leuten verwendet werden sollten die nicht Spezialisten auf dem Gebiet der Verschachtelungen sind Es dient der Erstellung von einfachen aber 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 227 optisch guten Dokumenten Um die Dokumentenstruktur zu vereinfachen wird Hypertext unterst tzt Art des Exportes Tabellar sch Beim Export in das HTML Format wird ein Fenster mit den Einstellungen der zu exportierenden Datei angezeigt Export in HIML Tabelle Seitenbereich Alle Aktuelle Seite Seitennummern und oder Seitenbereiche durch komma getrennt eingeben z B 1 3 5 12 Exporteinstellungen Stile Feste Breite lles in einen Ordner _ Mehrfachseite F Sejtennavigator F Hintergrund Bilder JPEG F _ Mach Export ffnen Exporteinstellungen Stile Export der Stile der Textobjekte Das Deaktivieren beschleunigt den Prozess des Exportes das Aussehen wird jedoch verschlech
5. Wie man sieht befindet sich links die Kategorie der Formatierung und rechts die Liste der Formate in dieser Kategorie W hlen wir die Kategorie Zahl und das Format 1 234 50 Unten wird nun der Formatstring und der Dezimaltrenner dargestellt Der Formatstring ist dem Argument der Delphi Funktion Format hnlich FastReport formatiert mit Zahlen mit dessen Hilfe Sie k nnen den Formatstring und auch den Dezimaltrenner ndern Wird der Dezimaltrenner nicht eingef gt so w hlt das Programm den blichen verwendeten Trenner 1998 2009 FastReports Inc 74 FastReport 4 6 Benutzerhandbuch Wir klicken auf OK der Report wird erstellt und wir sehen dass die Summe nun folgendes Aussehnen angenommen hat 1176 26 07 94 p4 170 05 1269 15 12 94 p1 400 00 551450 50 4 2 Individuelle Formatierung Das obere Beispiel der Formatierung wird f r alle Ausdr cke verwendet die ein Objekt enth lt Alles funktioniert einwandfrei weil es nur einen Ausdruck im Objekt gibt Was passiert jedoch wenn man zwei hat und dann auch noch verschiedener Typen Betrachten wir solch einen Fall Es sollen die Summe und die Anzahl der Bestellungen angezeigt werden Wir f gen n das Objekt folgenden Text e n Summe SUM lt Group ItemsTotal gt MasterDatal Anzahl COUNT MasterDatal Beim Start des Reports sehen wir das beide Ausdr cke im Format W hrung oben eingegeben angezeigt werden was jedoch nicht richtig ist 12
6. u 2 22a22000002nan000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nun 189 Chapter XII Reportnachfolge 191 1 Erstellung des Reports u a een en En enntueeahenDHH En eaane een Eenueen een 191 2 nderungen des Basisreports uuauuu0uuauuanuannannunnnnnnannunnunnnnnnnnnunnunnunnnnnnnnnunnnnnnunnunnnnnnnnnn 193 3 Steuern der Vererbung eu esisaeiuninnn nina aaa 194 Chapter XIII Assistenten 197 1 Assistenten neuer Reporte uuuusuanuonnanonnnnnnnnanunnunnunnnnunnnnnunnununnnnnnnnanunnnnnennnnunnnnnennnnnnnnn 197 2 Assistent f r neue Verbindung u u u ee 202 3 Assistent f r neue Tabellen uuuus 2au00002un00nnnan0onnnnunnnnnnunnnnnnnnnnnnnnnnnnnnnnnunnunnnnnnnnnnnnen 202 4 Assistent f r neue Abfragen an aan nn ana han na nn nun anna 203 5 Query Construction anna een 204 Die Verwendung des Query Builders una een 207 Erstellen einer komplexen Abfrage 0 0 cine ana na 209 Chapter XIV Betrachten Drucken Export des Reports 213 1 Tastalirsleuerung sccuir Ea araa 214 2 Ma ssteuerung sonsa a aA 215 3 Druck des Reporis ionen aan Ea 215 4 Texts che IM REPOM susanne sa sea ee een ea 218 5 EXPO Ger REDOING 4 u u00 EE A EOE T E HEHE TER 219 Expor INS Format PDF iscissi eee Eea nee Eee ee Ele 220 Export in das Format Open Dokument 444444444annnnnnnn nn nen nnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnnnnn nn nnnnnnnennn 221 Expor in das Format TR rear ee nam En rennen een 222 EXPONE XCO VRR
7. 2 13 R Variablen a a e Gafar SH X E variablen Daten Yariablen Funktionen Klassen 9 Kunden J Daten a Kundennummer e Ei Customers w Kundenname Cust No 0 Auftr ge Company a Auftragsnummer Addri Auftragsdatum Addrz E city E State E zip E Country Phone E Fax E Tax Rate HE Contact Last Invoice Date Ta Orders E Order No E use Mo E Cust company Ausdruck Customers Cust No gt Wenn die Liste der Variablen fertig ist schlie en wir das Fenster Jetzt m ssen die Variablen in den Report Im Gegensatz zu dem Einf gen der DB Felder gibt es hier wesentlich weniger Varianten Entweder wir f gen die Variablen manuell ein indem wir den Text Kundennummer eingeben oder wir ziehen die Variable aus dem Fenster Daten auf den gew nschten Platz im Report Im zweiten Fall muss man auf das Tab Variablen umschalten Objekt Grafik Das n chste Objekt welches wir betrachten m chten ist das Objekt Grafik Es wird ebenfalls oft in Reporten verwendet Damit k nnen Sie z B das Firmenlogo ein Mitarbeiterfoto usw n den Report einf gen Das Objekt st in der Lage die Formate BMP JPEG ICO WMF EMF darzustellen 1998 2009 FastReports Inc 34 FastReport 4 6 Benutzerhandbuch Lassen S e uns die M glichkeiten des Objekts betrachten Erstellen Sie einen leeren Report und f gen auf eine freie Fl che das Objekt G
8. 1 to 6 do begin Engine ShowBand MasterDatal Engine ShowBand MasterData2 if i 3 then Engine CurY i end Engine CurY Engine CurX end end ne saveY Engine CurX 200 C Script Engine CurY 10 TfrxComponent void PagelOnManualBuild TfrxComponent Sender int i j 1998 2009 FastReports Inc Script 117 Extended SaveY SaveY Engine CurY for j 1 j lt 2 j for i 1 i lt 6 i Engine ShowBand MasterDatal Engine ShowBand MasterData2 if i 3 Engine CurY Engine CurY 10 Engine CurY SaveY Engine CurX Engine CurX 200 OnManualBuild test hasterDatal asterData WMasterDatal WasterData hasterDatal WasterData hasterDatal MasterData hasterDatal WasterData hasterDatal WasterData Wie man an diesen Beispielen sehen kann steuerten wir nur den Output der Datenb nder Alle anderen B nder z B Seitenkopf in unserem Beispiel wurden automatisch gedruckt Jetzt werden wir einen Report Kundenliste erstellen diesen haben wir schon ein paar mal erstellt wir nutzten dazu das Ereignis OnManualBuild Hier verkn pfen wir das Datenband mit der Datenquelle 1998 2009 FastReports Inc 118 FastReport 4 6 Benutzerhandbuch ReportTitle Bandi Customers PageHeader Band Company Contact Phone Customers Company Customers Contact Lustomers P
9. 6 6 6 7 6 8 PascalS cript if lt Page gt 1 then C Script if lt Page gt 1 Zugriff auf DB Felder Wie auch im Fall die Variablen m ssen auch hier eckige Klammern verwendet werden PascalS cript if lt Tablel Fieldl gt Null then C Script if lt Tablel Fieldl1 gt Null Ganauso kann man die Funktion Get verwenden eigentlich wird diese Funktion immer f r die Berechnung der Ausdr cke verwendet die in Klammern gesetzt sind Die Verwendung von Aggregatfunktionen im Script Die Besonderheit der Aggregatfunktion ist dass sie innerhalb des Objektes Text verwendet werden muss Danach kann man auf diese im Script zugreifen Wird die Aggregatfunktion nur im Script verwendet ohne die Verwendung im Objekt Text so wird eine Fehlermeldung angezeigt Dies st notwendig damit die Aggregatfunktion korrekt funktioniert Deshalb muss sie an ein Band gebunden sein Anzeigen des Wertes der Variablen im Report Um den Inhalt einer Scriptvar ablen im Report anzuzeigen muss diese beschrieben und ein Wert muss hr zugeordnet werden Hier ein einfaches Beispiel des Scriptes PascalS cript var MyVariable String begin MyVariable Hello end 1998 2009 FastReports Inc Script 93 6 9 C Script string MyVariable Myvar able Hello Den Wert der Variablen kann man z B Im Objekt Text darstellen indem man
10. Exportieren als Text Seitenbereich Alle Aktuelle Seite Seitennummern undjoder Seitenbereiche durch komma getrennt eingeben z B 1 3 5 12 Exporteigenschaften Seitenumbr che _ Leerzeilen _ Rahmen OEM Zeichensatz _ Mach Export ffnen Exporteinstellungen Seitenumbr che aktiviert Seitenumbr che in der ausgehenden Datei Leerzeilen Export leerer Zeilen Rahmen Export von Rahmen der Textobjekte OEM Zeichensatz die Auswahl des OEM Zeichensatzes in der entstehenden Datei Nach Export ffnen die Datei wird gleich nach dem Export mit dem voreingestellten Programm ge ffnet Besonderheit des Exportes die Formatierung des Reporte wird beim Export in dieses Format nicht beibehalten Grafiken werden nicht unterst tzt und die Seitenbreite ist von den enthaltenen Textobjekten abh ngig 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 229 14 5 9 Export in Formate Jpeg BMP Gif Tiff FastReport erlaubt den Export n folgende grafische Formate JPEG Joint Photographic Experts Group das Format basiert auf dem Komprimierungsalgor thmus Dieses sucht nicht die gleichen Elemente sondern betrachtet den Abstand zwischen den Pixeln Es hebt sich durch einen hohen Stand der Kompression hervor jedoch auf Kosten eines Teilverlustes von grafischen Informationen BMP Windows Device Independent Bitmap wird zur Speicherung von Rast
11. ReportTitle legen wir das Objekt Text mit dem Text Kundenliste ein Das Band MasterData verkn pfen wir mit unserer Datenquelle Dies kann man auf drei Arten machen Doppelklick auf das Band den Punkt Bearbeiten im Kontextmen ausw hlen auf die Eigenschaft DataSet im Inspektor klicken Nun f gen wir vier Objekte in das Band ein Dies sind die Kundennummer Kundenname Telefon und Fax Wir machen das auf verschiedene Arten um die umfangreichen M glichkeiten des Designers zu demonstrieren Das erste Objekt Text legen wir auf das Band und geben dort den Text frxDBDataSetl CustNo ein Das ist die umst ndlichste Eingabeweise da man alles per Hand eingeben muss und deshalb schnell Fehler unterlaufen k nnen Um die Eingabe zu erleichtern nutzen wir den Ausdruckseditor dieser befindet sich in der Symbolleiste des Texteditors Um das Feld einzuf gen klicken wir auf den Ausdruckseditor Button und f hren einen Doppelklick auf das gew nschte Element m s ch ffnenden Dialog aus Wir schlie en den Dialog mit der Taste OK und sehen dass das Feld in den Text eingef gt worden ist Die zweite M glichkeit ein DB Feld einzuf gen ist dem hnlich welches in der Umgebung Delphi verwendet wird und zwar durch Nutzung des Objektinspektors Legen wir auf das Band das zweite Objekt im Editor schreiben wir nichts Im Inspektor stellen wir die Eigenschaften ein DataSet frxDBDatasetl DataField C
12. uurssnnnanennannnnnnnnnnunnnnnnnnnnnnnnnn 92 8 Anzeigen des Wertes der Variablen im Report uuussennaunnnnnnnnnnnnnnnnnnnnnnennnnnnnnn nun 92 9 ETOIGMISSE zn nutn means E Een innen anne a E 93 10 Beispiel der Nutzung des Ereignisses OnBeforePrint uu zu2 a22002220000n000nan0nn 94 11 Drucken der Endsumme der Gruppe im Gruppenkopf uuauuuuennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 97 12 Ereignis ORATerDala aian e E O E S 101 13 SEVICE bDJEKIE narai a ee 102 0 1 40 2 2107 1 oerrinne Eeee a E a E a e E a e 103 1998 2009 FastReports Inc I FastReport 4 6 Benutzerhandbuch Objekt Engine 2 eines 103 Objekt Outline ssia aea ae EA EAER 105 14 Anwendung des Objektes Engine ueau2002202ann0000nnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 106 19 ANKO ee EEE E 109 16 Anwendung des Objektes Outline eau22222220000020nn000nnnnnnnnnnnnnnnnnnn nn mnnn 110 17 Das Ereignis der Seite OnManualBuild ueau2202002220000000nnnn00nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 114 18 Das Erstellen von Objekten im Script ueu22202222222000000nnnn0onnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 119 Chapter VII Kreuztabellen Cross tab Objekt 122 1 Die Erstellung einer Kreuztabelle Cross tab Objekt uuurus0000000n0nnnnnnnnnnnnnnn nenn 123 2 Aussehen der Tabelle u u0 0 00 0 00a ana ann nn na 126 3 Die Verwendung von Funktion
13. Fage Schauen wir uns die Vorschau mal an 1998 2009 FastReports Inc Reporterstellung 2 10 Customer list 29 1221 Kauai Dive Shoppe 009 555 0269 009 555 0270 1231 Unisco 509 559 3915 5309 555 4950 1351 Sight Diver 35r 6 6 76r 06 35r 6 670943 1394 Cayman DOmwers World Unlimited 111 5 597044 011 5 697064 1356 Tom Sawyer Dwing Centre 504 798 3022 504 798 7772 1380 Blue Jack Aqua Center 401 609 7623 401 609 9403 1304 IF Divers Club 509 453 5976 009 453 5932 1510 Ocean Paradise 009 555 0231 009 555 0450 1513 Fantastique Aquatica 057 1 73434 0577 1 7 73421 1551 Marmot Divers Club 416 698 0399 426 698 0399 1560 The Depth Charge o0g 555 37 98 o0g 555 0353 1563 Blue Sports 610 772 6704 610 772 6096 1624 Makai SCUBA Club 317 649 9096 317 649 6787 1645 Action Club 513 870 0239 013 870 0252 1651 Jamaica SCUBA Centre 011 3 697043 011 3 697043 1680 Island Finders 713 423 56 75 713 423 56 76 Anzeigen der DB Felder mithilfe des Objektes Text Wie wir gesehen haben ist das Objekt Text in der Lage statischen Text und Ausdr cke anzuzeigen aber auch Daten einer Datenbank Wobei dies auf zwei Arten geschehen kann ob durch eine Verkn pfung zur DB m Text oder durch Verkn pfung des Objekts zum gew nschtem Feld mithilfe der Eigenschaften DataSet und DataField Die erste M glichkeit ist praktisch weil diese es erlaubt im selben Objekt sowohl den Ausdruck als auch eine Erkl rung dazu einzuf gen z B K
14. TableName Customer db TfrxDBDataS et DataSet Tablel UserName Customers Wir ffnen den Reportdesigner und w hlen den Punkt DateilNeu Es ffnet sich ein Fenster in dem sich die Assistenten aufgef hrt sind Wir w hlen Dot Matrix Report 1998 2009 FastReports Inc 162 FastReport 4 6 Benutzerhandbuch Heues Element Elemente vorlagen Assistent f r Assistent f r Assistent f r neue verb neue Tabellen neue Abfr 308 Standard Standard Dot Matrix Rep r Report Report D ok Makrix Report Wenn Sie auf OK gehen erscheint eine leere Seite Diese ist der Matrixschrift angepasst Iz Zi 4 l Il IJ01 Zi 4l 16 181 20 2 I 4 l 25I 251 30 32321341 36l 1 e au Ze ee Die Liste der Objekte welche eingef gt werden k nnen hat s ch ver ndert Es sind nun Band Text Dot matrix Linie ESC Befehl Unterreport und Cross tab Objekt Andere Objekte k nnen in einem Matrixreport nicht verwendet werden 1998 2009 FastReports Inc Dot Matrix Reporte 163 i Ei ER R gt si F gen wir auf die Seite die B nder Report title Page header und Master data ein ReportTitle ReportTiklei su a eae AT l NUNU Die Objekte Text verteilen wir auf die B nder auf folgende Weise ReportTitle FeportTitle 1 a Customer list 00000000000 PageHeader PageHeaderl 000 0 u E
15. Weiter ununterbrochener Export Die Seiten und Tabellen werden exportiert ohne unterbrochen zu werden und der Ausblendung der Spaltenbezeichnungen diese werden nur auf der ersten und letzten Seite angezeigt Die Option ist sinnvoll bei gro en Dokumenten die zur weiteren Bearbeitung vorgesehen sind Bilder aktiviert die M glichkeit des Exportes von Grafiken in die Tabelle Als Text alle Objekte werden in die Tabelle als Textobjekte bertragen Diese Option ist n tzlich beim bertragen von nummerischen Feldern mit komplexen Formatierungen Fast Export dabei wird die bertragung der Daten optimiert und somit beschleunigt Das Deaktivieren der Option verlangsamt die bertragung steigert jedoch die Vereinbarkeit beim Export sollten Fehler dabei entstehen Zellen verbinden das Verbinden der Zellen n der entstehenden Tabelle um die maximale hnlichkeit mit dem Original zu erreichen Das Deaktivieren beschleunigt den Export das Aussehen wird jedoch schlechter WYSIWYG eine hundertprozentige bereinstimmung des u eren der Datei beim Export Wird d e Option deaktiviert so w rd eine Optimierung durchgef hrt bei welcher die Anzahl der Spalten und Zeilen in der resultierenden Date reduziert wird Hintergrund der Export der gew hlten Hintergrundfarbe Seitenumbr che aktiviert Seitenumbr che in der Excell Datei Excell nach Export ffnen die Datei wird gleich nach dem Export mit Excell
16. Das folgende Element der Tabelle zeigt Zwischenergebnisse und Endergebnisse an wie die folgende Grafik zeigt 0 1 a10 2 a10 1 a10 2 a20 1 a20 2 a20 1 a20 2 sumga 1 610 2 610 1 610 2 620 1 620 2 b20 1 620 2 sumf b 1 1310 2 la10 1 b610 1 a20 1 a20 2 a20 1 b20 1 sumta t 1 1610 2 310 2 b10 2 620 1 620 2 a20 2 b20 2 sumilb Dieser Report wird mit denselben Datenerstellt wie der vorhergehende Die grauen Spalten in der Grafik werden automatisch berechnet Die Erstellung einer Kreuztabelle Cross tab Objekt Gehen wir von der Theorie zur Praxis ber Erstellen wir eine einfache Kreuztabelle Diese soll das Gehalt der Mitarbeiter f r die letzten vier Jahre anzeigen Wir ben tigen daf r die Tabelle crosstest welche im Ordner FastReport DEMOS MAIN enthalten ist Die Tabelle enth lt folgende Daten 1998 2009 FastReports Inc 124 FastReport 4 6 Benutzerhandbuch Name Year Salary Ann 1999 3300 Ben 2002 2000 Wie blich erstellen wir ein neues Projekt in Delphi In die Form f gen wir die Komponenten TTable TfrxDBDataSet TfrxReport ein und stellen diese wie folgt ein Tablel DatabaseName c Program Files FastReports FastReport 3 Demos Main TableName crosstest db Selbstverst ndlich muss der Wert der Eigenschaft DatabaseName dem Pfad zu Ihrem Ordner FastReport entsprechen IrxDBDataSetl DataSet Tablel UserName SimpleCross Um Kreuzt
17. ReportTitle erscheint auf der ersten Seite oben vor dem Band Seitenkopf dies kann mit der Eigenschaft TitleBeforeHeader umgestellt werden Band Reportzusammenfassung erscheint auf der letzten Seite des Reports Datenb nder Jetzt kommen wir zum interessantesten Teil der M glichkeit die Daten aus DB Tabellen und Anfragen einzuf gen Was ist eine Tabelle in diesem Fall Es ist eine von vornherein unbekannte Anzahl von Zeilen und jede enth lt eine bestimmte Anzahl von Spalten Feldern F r das Drucken dieser Art von Informationen nutzt FastReport besondere Datenb nder Diese B nder haben den Namen Daten xxx Ebene Um die komplette Tabelle oder nur bestimmte Felder darzustellen m ssen Sie Einf gen der Datenb nder in den Report Verkn pfung dieser mit einer Tabelle die Objekte Text einf gen mit den Feldern die wir verwenden m chten Bei der Reporterstellung wird FastReport das Band so oft verwenden wie es Eintr ge in unserer Tabelle gibt Sollte der Platz auf der Seite nicht ausreichen so werden neue Seiten erzeugt Komponente TfrxDBDataSet Um Tabellen oder andere Datenquellen mit einem Band zu verbinden wird der Connector TfrxDBDataSet aus der Palette der Komponenten von FastReport verwendet Diese Komponente hat die Rolle des Vermittlers zwischen der Datenquelle und dem Kern von FastReport Es ist verantwortlich f r das Navigieren in den Daten und die Behandlung der Felder
18. Sie m ssen dies beachten bei der Erstellung der Maske falls Sie vorhaben diese sp ter n verschiedene Formate zu exportieren Bei der Erstellung der Tabellen in den Reporten achten Sie darauf dass die R nder der Zellen aneinanderliegen Es ist wichtig dass sich die Zellen nicht berschneiden und nicht bereinanderliegen Der Algorithmus des Exportfilters wird die Zellen anpassen aber das Resultat des Exportes kann von dem gew nschten abweichen sprich man sieht nicht das was man erwartet hat Plazieren Sie die Objekte so dass diese auf einer Linie liegen vertikal und horizontal Dabei helfen die Hilfslinien 4x3 P3jE j0g 1x3 psjejoy AR S ER ER Um die Hilfslinien verwenden zu k nnen klicken Sie auf das Lineal oben bzw links und bei festgehaltener Maustaste ziehen Sie die Linie auf die Seite Dort legen Sie s e auf dem gew nschten Platz ab S e k nnen nun die Objekte entlang der vertikalen horizontalen Linie anordnen berlappungen der Zellen k nnen ebenfalls durch die Ausrichtung der Textobjekte an den Gitterlinien vermieden werden Achten S e darauf das diese Option im Designer aktiviert ist Um die Ausrichtung zu vereinfachen kann der Abstand der 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 235 Gitterlinien erh ht werden Die Abst nde und die Ausrichtung kann man im Men des Designers unter AnsichtlOptionen einstellen Desiener ptionen
19. _ Dril Down F Seitennummern zur cksetzter Das Datenband vekn pfen wir mit der Datenquelle Group und ordnen die Objekte auf folgende weise an beachten Sie das der Gruppenkopf ber den Datenband sein muss GroupHeader SroupHeaderi Group Custho T Sroup OrderMo Lroup saleDate p Beim Starten erhalten wir folgenden Report 1998 2009 FastReports Inc Sortierung Ergebnisse 61 1269 16 12 94 1023 01 07 88 1176 26 07 94 1076 16 12 94 1123 24 09 93 1169 06 07 94 2a 1173 16 07 94 178 02 08 94 Wie man sieht wird das Band Gruppenkopf nur in dem Fall ausgef hrt wenn das Feld mit dem es verkn pft st den Wert ndert Sonst wird das mit der Gruppe verkn pfte Datenband ausgef hrt Wenn man diesen Report mit dem Report Master Detail den wir weiter oben erstellt haben vergleicht so sieht man dass die Bestellnummern nicht aufsteigend sortiert sind Dies kann man ndern indem man die Anfrage in SQL ndert select from customer orders where orders CustNo customer CustNo order by customer CustNo orders OrderNo Auf die gleiche Weise kann man Reporte mit verschachtelten Gruppen konstruieren wobei deren Anzahl nicht beschr nkt ist Auf diese Weise haben Reporte mit Gruppen gewisse Vorteile gegen ber den Reporten Master Detail man ben tigt nur eine Tabelle Anfrage f r den Report die Anzahl der Ebenen bei den Gruppierungen der Daten
20. caJntr y Country Phone Phone F s F s TaxRate TaxR ate contact Contact LastInwoiceDate LastInvoicebDate Der Editor der Eigenschaft MasterFields wird f r die Erstellung der master detail Verbindungen zwischen zwei Tabellen verwendet Um zwei Tabellen auf diese Weise zu verkn pfen muss bei der untergeordneten Tabelle in der Eigenschaft Master die Haupttabelle angegeben werden und der Editor der Eigenschaft MasterFields muss aufgerufen werden Besitzt die Tabelle sekund re Indexe die unbedingt verwendet werden sollen so muss vorsichtshalber die Eigenschaft IndexName eingestellt werden 1998 2009 FastReports Inc 182 FastReport 4 6 Benutzerhandbuch Master Detail Verkn pfung Detailfelder Masterfelder Shipbate Empo ShipTolontact ShipToAddri verkn pfte Felder CustNo CustNo Hier kann man visuell die Felder der Master Datensets und Detail Datensets verbinden Wenn die Datensets ber Master Detail verbunden sind wird beim Verschieben innerhalb des Master Datensets der Inhalt des Detail Datensets so gefiltert dass dieser nur Daten enth lt die in Verbindung mit dem aktuellen Master Datenset stehen Um die Felder zu verbinden w hlen Sie ein Feld in der Liste links Detail Datenset ein Feld aus aus der Liste rechts Master Datenset und klicken auf Hinzuf gen Die Verkn pfung erscheint nun im unteren Fenster Um den Inhalt des Fensters zu l schen verwenden Sie den
21. die Zeile MyVar able einf gt Der Name der Variablen muss einzigartig sein d h es darf nicht denselben Namen haben wie die Objekte des Reportes der Standardfunktionen Konstanten Bei jedem Fehler m Script erscheint eine Fehlermeldung auf dem Bildschirm und der Report wird nicht erstellt Ereignisse Bis jetzt haben wir Scripte mit nur einer Hauptprozedur betrachtet d e beim Start des Reports ausgef hrt wird In der Hauptprozedur kann man Starteinstellungen ausf hren oder die Variablen initialisieren Aber f r die volle Kontrolle ber den Prozess der Reportbildung ist es ungen gend Um den Report flexibel steuern zu k nnen hat jedes Objekt mehrere Ereignisse denen ein Bearbeiter zugewiesen werden kann eine Pozedur im Script Man kann zum Beispiel im Editor des Datenbandes Eintr ge filtern d h verbergen und anzeigen des Bandes abh ngig von bestimmten Bedingungen Betrachten wir den Prozess der Bildung des Reports und der Ereignisse die dabei generiert werden am Beispiel eines einfachen Berichtes der nur eine einzige Seite ein Band Daten 1 Ebene und zwei Objekte Text im Band enth lt Customers Company Fustomers Addr Am Anfang des Reports wird wie gesagt die Hauptprozedur ausgef hrt Erst danach beginnt der eigentliche Prozess der Reporterstellung Das Ereignis OnStartReport wird am Anfang des Objekts Reports aufgerufen Vor dem formieren der Seite wird das Ereignis OnBeforePrint Dieses
22. e 10 Schrift des Objekts verwenden Farben LED sikterfarbe Sonstiges Editor nach dem Einf gen anzeigen Bandbezeichnungen anzeigen Drop Down Feldliste anzeigen d Freie Bandpositiorierung Abstand zwischen B ndern Punkt Hier k nnen die gew nschten Ma e eingestellt Zentimeter Zoll Pixel und die Abst nde des Gitters angepasst werden Die Ma e k nnen ebenfalls im Designer selbst eingestellt werden Ein Doppelklick in die linke Ecke der Statusleiste in dem die aktuellen Ma e angezeigt werden ver ndert diese Es kann auch eingestellt werden ob das Gitter angezeigt werden soll und ob die Objekte an diesem ausgerichtet werden sollen Dies kann auch ber die Symbolleiste Standard im Designer geschehen Sie k nnen die Schriftart f r den Code Editor und f r den Text Editor einstellen 1998 2009 FastReports Inc 10 FastReport 4 6 Benutzerhandbuch 1 5 Ist die Option Schrift des Objekts verwenden aktiviert so wird die Schriftart im Fenster des Editors der Schrift im Objekt entsprechen Wenn Ihnen die wei e Arbeitsfl che des Designers und der anderen Fenster nicht gef llt so kann diese ber die Buttons Arbeitsbereich und Werkzeugfenster ge ndert werden Die Option LCD Gitterfarbe erh ht leicht den Kontrast der Gitterlinien Dies verbessert ihr erkennen auf Fl ssigkristallmonitoren Option Editor nach dem Einf gen anzeigen steuert den Prozes
23. j 0 der Teil der Variablen kann an einer beliebigen Stelle stehen Function pl Funktionen 4i Hauptprozedur For i 0 To 10 pEi Next 1998 2009 FastReports Inc Script 89 6 3 Eine genauere Beschreibung der M glichkeiten Scriptengine FastScript K nnen Sie in der Dokumentation dazu finden Der Autor hat folgende Inhalte nicht doppelt in das Handbuch eingef gt Syntax Charts aller Sprachen unterst tze Datentypen die Arbeit mit Klassen Eigenschaften Methoden Ereignissen eingebaute Funktionen Aufz hlungen und Sets Im weiterem Verlauf werden wir Beispiele der Scripte in PascalScript betrachten Bei der Erstellung eines neuen Reportes wird diese Sprache standardm ssig ausgew hlt Script Hello World Wir hatten das Beispiel des Reports Hello World lassen S e uns jetzt mal e n einfachen Script erstellen Dieser soll ein Fenster mit dem Text einer Begr ung anzeigen Gehen wir in den Designer und klicken auf Neuer Report FastReport erstellt nun eine leere Schablone Wir gehen auf den Tab Code und geben folgendes Script ein PascalS cript begin ShowMessage Hello World end C Script ShowMessage Hello World Danach starten wir den Report Wie erwartet zeigt FastReport auf dem Bildschirm ein kleines Fester mit einer Begr ssung Erdemo x Hello world Kl ren wir ein paar Details Wir haben ein Scri
24. man klickt auf den Tab der ben tigten Seite Man kann auch die Tabs per Drag amp Drop verschieben und so die Anordnung der Seiten ndern Will man eine Seite entfernen geht das ber den Button auf der Symbolleiste Standard oder ber BearbeitenISeite l schen Ebenfalls kann man das Kontextmen des Tabs durch den Klick der rechten Maustaste aufrufen 1998 2009 FastReports Inc 56 FastReport 4 6 Benutzerhandbuch E Mene Seite Neuer Dialog Seite l schen AO Seiteneinstellungen Die Seitenanzahl im Report ist unbegrenzt In der Regel werden zus tzliche Seiten f r die Titelseite verwendet oder in komplexeren Reporten die Daten vieler Quellen enthalten Betrachten wir ein einfaches Beispiel und erstellen eine Titelseite Wir w hlen einen Report mit nur einer Datenebene wie wir sie am Anfang gemacht haben Wir f gen eine neue Seite hinzu die jetzt als zweite angezeigt wird Um sie vor die erste Seite zu setzen verschieben wir die zweite Seite per Drag amp Drop vor die erste Die Anordnung hat sich nun ver ndert Jtzt gehen wir auf die erste Seite und f gen in die Mitte einen neues Objekt Text der Unser Report enth lt Der Report mit der Titelseite ist nun fertig Our report Man muss eine Besonderheit der Mehrseitigen Reporte erw hnen Aktiviert man auf der zweiten Seite die Option Auf vorige Seite drucken die Eigenschaft PrintToPrevi
25. nnen entweder aus dem Nachfolgereport entfernt oder umbenannt werden 1998 2009 FastReports Inc Assistenten Assistenten 197 Das Komplekt von FastReport enth lt einige Assistenten die die Erstellung der Reporte vereinfachen sollen Die Assistenten sind ber das Men DateilNeu erreichbar Heues Element Elemente vorlagen BS A gt gt Assistent f r Assistent f r Assistent F r neue verb neue Tabellen neue Abfr J Standard Standard Dot Matrix Repor Report Report Dot Matrix Report 13 1 Assistenten neuer Reporte Es gibt 4 Assistenten neuer Reporte Standard Report Assistent Dot Matrix Report Assistent Standard Report Dot Matrix Report Die Assistenten Standard Report und Dot Matrix Report erstellen einen leeren Report f r Standarddrucker oder Nadeldrucker ber Matrixreporte s h n chstes Kapitel welcher eine Seite enth lt Die Assistenten Standard Report Assistent und Dot Matrix Report Assistent erlauben die Auswahl der Felder der Gruppen des Layouts usw im Report Betrachten wir die Erstellung eines Reportes mit Hilfe des Standard Report Assistent genauer W hlen Sie im Men DateilNeu und in dem sich ffnendem Fenster den Punkt Standard Report Assistent aus Wir sehen nun das Fenster des Assistenten 1998 2009 FastReports Inc 198 FastReport 4 6 Benutzerhandbuch Report Assistent Da
26. sikter Typ Zentimeter cm Gitter anzeigen 0 Zoll zoll Am Sitter ausrichten Pixel Punkt Dialogformular Punkt Schriftarten Schrift des Objekts verwenden Farben LCD Gitterfarbe Sonstiges Editor nach dem Einf gen anzeigen Bandbezeichnungen anzeigen Drop Down Feldliste anzeigen d Freie Bandpositionierung Abstand zwischen B ndern 4 Purkt F r die Rahmenlinien der Textobjekte ist es besser die integrierten M glichkeiten der Textobjekte und nicht die grafischen Objekte wie Linien Rechtecke und weitere zu verwenden Versuchen S e nicht Hintergrundobjekte unter durchsichtige Textobjekte zu legen Die Anwendung dieser einfachen Regeln erlaubt die Erstellung von Reporten die nach dem Export in ein Format welches tabellarisch ist ein professionelles Aussehen besitzen Die unten aufgef hrten Beispiele zeigen einmal die falsche und einmal die richtige Anordnung der Objektanordnung bei der Erstellung der Reportmaske 1998 2009 FastReports Inc 236 FastReport 4 6 Benutzerhandbuch falsch richtig Die Objekte sind horizontal ausgerichtet Wenn m glich sollte bei der Ausrichtung auf die hervorgehobenen Linien geachtet werden Dadurch erhalten die Objekte eine gleichm ige horizontale Ausrichtung Memet menoz falsch Memor memo richtig Die Objekte berschneiden sich In einem solchem Fall werden bei einem Export in ein Tabellenformat zus tzliche n
27. 11 011 34 09054 213 654 0092 b13 442 7654 213 555 1904 401 609 7623 510 772 6704 513 070 0202 22 44 500596 011 34 09064 213 654 0095 613 442 7670 213 555 1995 401 609 9403 610 772 6090 1998 2009 FastReports Inc Unterreporte 80 FastReport 4 6 Benutzerhandbuch 5 1 5 2 Unterreporte Manchmal muss man im eigentlichen Report zus tzliche Daten darstellen welche an sich schon Reporte mit einer komplexen Struktur darstellen Man kann solch einen Report mithilfe des Satzes der B nder in FastReport erstellen dies klappt jedoch nicht immer In solch einem Fall kann man das Objekt Unterreport 4 nutzen F gen wir dieses Objekt ein so wird automatisch eine zus tzliche Seite eingef gt die mit dem Objekt verkn pft ist Der Unterreport ist dem mehrseitigen Report sehr hnlich Der einzige Unterschied ist das der Unterreport an der angewiesenen Stelle im Hauptreport ausgef hrt w rd und nicht danach Bei der Bildung des Reports wird sobald man auf das Objekt Unterreport trifft der Report von der verkn pften Seite ausgef hrt Danach geht die Bildung des Hauptreports weiter Auf die Seite des Unterreports kann man ebenfalls das Objekt Unterreport legen Dadurch erh ht man die Ebenen der Verschachtelungen Ein Beispiel daf r kann man in dem Demonstrationsprogramm unter dem Report Subreports finden Man muss bemerken dass d e F higkeit von FastReport Unte
28. 8550 PEL kopien kopien sortieren Allgemein Zweipass Passwort Drucken wenn leer S e k nnen den Bericht an einem angeschlossenen Drucker koppeln d h der Bericht wird sollte nichts anderes eingestellt werden ber den ausgew hlten Drucker laufen Dies ist hilfreich wenn es mehrere Drucker zur Auswahl gibt Textdokumente k nnen z B an einen Schwarz Weiss Drucker gekoppelt werden und Dokumente mit Grafiken an einen Farbdrucker Im Verzeichnis der Drucker ist der Drucker Vorgabe enthalten Wird dieser ausgew hlt so erfolgt das Drucken auf dem aktuell genutzten Drucker Ebenfalls kann die Anzahl der Kopien eingestellt werden und ob eine Sortierung erfolgen soll Die Einstellungen dazu werden im Fenster Drucken angezeigt Wenn Zweipass aktiviert ist wird der Bericht im 2 Schritten erstellt Beim ersten Schritt w rd der Report erstellt und auf Seiten verteilt dies jedoch ohne das Speichern des Ergebnisses Beim zweiten Schritt erfolgt die bliche Erstellung des Berichtes durchgef hrt mit dem anschlie enden Speichern Wozu die 2 Schritte Oft wird diese Option in dem Fall verwendet dass in dem Report die gesamte Seitenanzahl erw hnt wird z B Seiten 1 bis 15 Dann wird im ersten Schritt die tats chliche Anzahl festgestellt und ist ber die Systemvar iable TOTALPAGES zu erreichen Der h ufigste Fehler st der Versuch der Anwendung dieser Variablen bei einem Einweg Report hier wird diese dann auf 0
29. Auf der gesamten Seite k nnen Objekte eingef gt werden welche verschiedene Informationen anzeigen k nnen Text Grafiken usw Auch kann das u ere Erscheinungsbild angepasst werden Hier eine kurze Beschreibung der standardm ig zur Verf gung stehenden Objekte Objekt Beschreibung Band einf gen F gt ein Band ein Text A Zeigt eine oder mehrere Textzeilen in der markierten Fl che Grafik Fa Zeigt eine Grafik in den Formaten BMP JPEG ICO WMF EMF Systemtext Zeigt Systeminformationen an Datum Uhrzeit Seitenzahl sowie die Aggregatwerte Unterreport Erlaubt es einen Unterreport innerhalb des aktuellen einzuf gen Zeichnen Objekte der Kategorie Zeichnen stellen verschiedene geometrische Figuren zur Verf gung Linien Rechteck abgerundetes Rechteck Ellipse Dreieck Raute Diagramm Zeigt die Daten in Form verschiedener Diagramme an Kreis Diagramm Histogramm usw RichText Zeigt den formatierten Text im Format RichText RTF Cross tab Erstellung einer Tabelle Objekt CheckBox Erstellt eine Checkbox H kchen oder Kreuz Barcode Zeigt die Daten n Form eines Barcodes an es stehen verschiedene Arten zur Verf gung OLE Objekt Erlaubt diverse Objekte anzuzeigen unter ei von OLE Zeigt eine steigende Schattierung an 1998 2009 FastReports Inc 18 FastReport 4 6 Benutzerhandbuch 2 2 Die wichtigsten Objekte mit denen Sie am meisten arbeiten werden sind
30. Band und Text Im folgendem Verlauf dieses Kapitels werden wir Sie n her kennen lernen Report Hello World Erstellen wir den einfachsten Report der eine einzige berschrift Hello World enth lt ffnen Sie den Designer FastReport Auf der Objektleiste des Designers suchen wir den Button Text und klicken diesen an Danach bewegen wir den Mauszeiger auf die gew nschte Stelle des Blattes und klicken erneut mit der Maustaste Das Objekt st erstellt Auf den Bildschirm erscheint der Texteditor falls nicht dies kann in den Optionen des Designers eingestellt werden so klicken Sie doppelt auf das Objekt Text Format Highlight T Su ni Hello World F gen S e den Text Hello World ein und dr cken auf OK Hello World Der Report ist fertig Um diesen einzusehen w hlen Sie den Punkt DateilVorschau oder klicken Sie auf den Button in der Standardsymbolleiste Sie werden eine einzelne Seite des Reports sehen auf der Hello World steht Den erhaltenen Report kann man ausdrucken speichern oder n ein unterst tztes Format 1998 2009 FastReports Inc Reporterstellung 19 2 3 exportieren Das Objekt Text Das Objekt Text besitzt umfangreiche M glichkeiten Es kann Text Rahmen und Schattierungen anzeigen Der Text kann verschiede Schriftarten haben und n verschiedenen Gr en Farben und Stilen dargestellt weren Alle Einstellungen werden manuell
31. Bearbeiter des Ereignisses TfrxReport OnBeforePrint 1998 2009 FastReports Inc Grafiken Diagramme 159 procedure TForml frxReportiBeforePrint Sender TfrxReportComponent begin if Sender Name Picturel then TfrxPictureView Sender Picture Assign Chartl TeeCreateMetafile False Rect 0 0 Round Sender Width Round Sender Height end wo Picturel steht kommt der Name des Objetes Grafik rein Chartl ist Ihr Delphi Diagramm 1998 2009 FastReports Inc Dot Matrix Reporte Dot Matrix Reporte 161 Bis jetzt haben wir uns Reporte angesehen die f r den Druck auf Standarddruckern Tinten Laserdrucker bestimmt waren Das Drucken eines solchen Reportes wird auf einem Nadeldrucker sehr viel Zeit in Anspruch nehmen Mit FastReport kann man spezielle Reporte extra f r Nadeldrucker erstellen Es werden nur die Standardsymbole der Schrift verwendet ohne grafische Elemente Dadurch erfolgt der Druck wesentlich schneller Betrachten wir das Erstellen eines Reportes der Art Liste bestimmt zum Druck auf einem Nadeldrucker Wir haben solch einen Report schon eher erstellt s h Kapitel Report Kundenliste Wir verwenden f r den Report jetzt dieselben Daten Nun erstellen wir ein neues Projekt in Delphi und legen auf die Form die Komponenten TTable TirxDBDataSet TfrxReport TfrxDotMatrixExport und stellen die Egenschaften ein TTable DatabaseName DBDEMOSs
32. Code enthalten hervorgehoben 1998 2009 FastReports Inc 86 FastReport 4 6 Benutzerhandbuch Unten die im Scripteditor genutzten Tastaturbefehle Entfernt das Symbol in der Position des Cursors entfernt den hervorgehobenen Text Strg U Verschiebt den hervorgehobenen Textblock zwei Symbole nach links Stre I Verschiebt den hervorgehobenen Textblock zwei Symbole nach rechts Strg C Strg Einfg Kopiert den markierten Textblock n den Zwischenspeicher Strg V Shift Einfg F gt den Text aus dem Zwischenspeicher ein Strg X Shift Entf Schneidet den Text n den Zwischenspeicher aus Strg Shift lt Zahl gt Erstellt ein Lesezeichen mit der Zahl 0 9 in der aktuellen Zeile F4 Start des Reports bis zu der Zeile in der sich der Cursor befindet Run to cursor Einstellen des Unterbrechungspunktes Toggle breakpoint 1998 2009 FastReports Inc Script 87 E Tan Strg Leertaste Zeigt eine Drop Down Liste mit den Methoden und Eigenschaften des Objektes dessen Name ausgew hlt ist Strg Shift Entf Entfernt das Wort vor dem Cursor komplett Strg Shift Backspace Entfernt das Wort nach dem Cursor komplett 6 2 Scriptstruktur Die Scriptstruktur h ngt von der verwendeten Sprache ab diese kann aber gemeinsame Elemente darstellen Diese sind die Kopfzeile des Scriptes der K rper und die Hauptprozedur die beim Start des Reports ausgef hrt werden Unten sehen Sie die Beispiele der Scri
33. Eigenschaft URL eines beliebiges Objektes des Reports die folgende Zeile einf gen NameAnker HJIH NameAnker Im letzten Fall wird FastReport den Wert in der eckigen Klammer anzeigen Beim Klick auf dieses Objekt wird man zu der Stelle des Reports weitergeleitet in der der Anker eingef gt wurde Anker sind praktisch beim Erstellen des Kapitels Inhaltverzeichnis mit Links zu den entsprechenden Kapiteln Zeigen wir dies an einem kleinen Beispiel Hierf r ben tigen wir die uns bekannte Tabelle Customer db Unser Report wird zweiseitig sprich zwei Seiten im Designer Auf der ersten Seite erstellen wir das Inhaltverzeichnis und auf der zweiten die eigentliche Kundenliste Beim Klick auf eine Zeile im Inhaltsverzeichnis wird man zum entsprechenden Element des Reports weitergeleitet Erste Seite ReportTitle ReportTitlei Table of contents E Customers Company In die Eigenschaft URL des Objektes Text welcher auf dem Datenband liegt f gen wir folgende Zeile ein Customers Company und stellen die Eigenschaften der Schrift ein blau und unterstrichen um das Aussehen 1998 2009 FastReports Inc 110 FastReport 4 6 Benutzerhandbuch 6 16 des Hyperlinks zu immitieren Zweite Seite ReportTitle ReportTitlez Customers PageHeader FageHe aderi Company Address Contact Customers Company Customers Addr Customers Contact Cus
34. FastReports Inc 220 FastReport 4 6 Benutzerhandbuch 14 5 1 der die Objekte untergebracht werden Das Aussehen entspricht im hohen Ma e dem Original falls die Regeln der Erstellung der Maske beachtet worden sind Kapitel Vorschl ge zur Reporterstellung Rendering es werden die sich auf der Seite befindenden Objekte gerendert Die Kopie entspricht dem Original Wird angewendet f r den Export grafischer Formate Export ins Format PDF PDF Portable Document Format ist ein plattformunabh ngiges Format der Firma Adobe Systems Es wird das kostenlose Paket Acrobat Reader verwendet Dieses Format ist recht flexibel Es k nnen die Schriftart Vektoren und Raster eingef gt werden Es eignet sich sehr gut zum Versand und der Speicherung der Dokumente welche angezeigt und gedruckt werden sollen Art des Exportes Schicht f r Schicht Beim Export in das Format PDF wird ein Fenster mit den Einstellungen der zu exportierenden Datei angezeigt PDF Export Seitenbereich Alle Aktuelle Seite Seitennummern und oder Seitenbereiche durch komma getrennt eingeben z B 1 3 5 12 Exporteinstellungen komprimiert F Druckoptimiert _ Schriften einbetten _ Hintergrund _ Nach Export ffnen Einstellungen Komprimiert komprimiert die Datei erh ht jedoch die Zeit des Exportes Schriften einbetten alle Schriften die im Report verwendet werden sind sp ter auch in der PDF Date
35. Length_in gt 2 54 Pseudonyme Im vorhergehenden Report nutzten wir die Datenquelle mit dem Namen IrxDBDataSetl und den Feldern CustNo Company Phone FAX Demzufolge mussten wir n den Report z B frxDBDataSetl CustNo einf gen Leicht verst ndlich Nicht sehr Einfacher w re es die Datenquelle in Unsere Kunden und das Feld in Nummer umzubennen Dies kann man leicht durch Pseudonyme bewerkstelligen Sowohl die Datenquelle als auch das Feld besitzen einen zweiten Namen Pseudonyme die man leicht ndern kann die Originalnamen bleiben selbstverst ndlich erhalten Hat ein Name ein Pseudonym so wird bei FastReport dieser verwendet Im schlimmsten Fall wird der Or ginalname benutzt Das Umbenennen selber st n FastReport sehr einfach Man macht das n der Umgebung Delphi Klicken Sie doppelt auf die Komponente frxDBDataSetl Sie werden der Editor der Pseudonyme sehen Hier wird der Name der Datenquelle und der der Felder ge ndert Auch werden hier die f r den Report ben tigten Felder ausgew hlt Nun nennen wir die Datenquelle und die Felder um 1998 2009 FastReports Inc Reporterstellung 31 2 12 Edit Aliases Dataset alias Our customers Field aliases Press Enter to edit item User name Original name _uUscHo company Company Address Add 1 Addr Addr _ city City _ State State Zip zip F caJntr y Country Phone Phone Fax FA F TaxRate Tax
36. Sie den Text der Zelle von Summe in Minimum ab ndern Der Report sieht nun wie folgt aus 2002 Minimum Ben eula 00 z000 atnerns enoojazeo 3200 Den Jas a0s0 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 129 7 4 1 39 Sortieren der Werte Standardm ig sind die Werte der Zeilen und Spalten aufsteigend sortiert Handelt es sich dabei um Zahlen so werden diese der H he nach sortiert Bei Text verwendet man die alphabetische Reihenfolge Das Sortieren kann f r jede Zeile und Spalte separat eingestellt werden Folgende Arten der Sortierung sind m glich aufsteigend absteigend oder keine Sortierung Im letzten Fall werden die Werte der Zeilen Spalten so angezeigt wie sie eingetragen werden ndern wir die Sortierung der Spalten in unserem Beispiel Die Jahre sollen absteigend sortiert werden Wir gehen n den Editor des Cross tab Objektes und w hlen das Spaltenelement Year aus und klicken um die Sortierung zu ndern auf den Pfeil nach unten Danach schlie en wir den Editor und starten den Report Dieser sieht jetzt wie folgt aus 1999 Tote zoo 3100 2700 3300 10800 5 3200 6100 9300 12099 3700 11200 12299 13700 40899 Tabelle mit zusammengesetzten Kopfzeilen Unser vorhergehendes Beispiel enthielt nur einen Wert im Spaltenkopf bzw Zeilenkopf Betrachten wir nun am Beispiel die Erstellung einer Tabelle welche zusammengesetzte Ko
37. Zeilen reinpassen ohne das einzelne W rter bertragen werden m ssen Dies ist hilfreich wenn das Objekt nur einen einzelne Texteil enth lt Die Eigenschaft Dehnen passt die H he des Objektes an den gesamten Text an Die Breite wird nicht ver ndert Diese Eigenschaft besitzt mehrere Modi welche im Objektinspektor ausgew hlt werden smDontStretch Objekt nicht dehnen Standardeinstellung smActualHeight Objekt dehnen um den gesamten Text aufnehmen zu k nnen smMaxHeight Objekt dehnen sodass seine unterste Grenze mit der des Bandes bereinstimmt Dies werden wir sp ter eingehender behandeln Jetzt interessiert uns die Eigenschaft Dehnen des Objektes Text Aktivieren Sie es im Kontextmen oder stellen Sie die Eigenschaft StretchMode smActualHeight im Inspektor ein Ebenfalls aktivieren Sie Dehnen beim Band Wenn der Report nun gestartet wird arbeitet alles korrekt 1998 2009 FastReports Inc Reporterstellung 39 2 16 Clown Triggerfish Also known as the big spotted triggerfish Inhabits outer reef areas and feeds upon crustaceans and mollusks by crushing them with powerful teeth They are voracious eaters and divers report seeing the clown triggerfish devour beds of pearl oysters Do not eat this fish According to an 1675 account the poisonous flesh acts primarily upon the nervous tissue of the stomach occasioning violent spasms of that organ and shortly after
38. Zwischensieimez F z m m m me e e e e m e e m e e p m ee m m e e e e e e e e e m Stil ausw hlen Zeige Titel zeige R nder pH i Columni Column BETTA l T Spaltenkopf alu Grand Total zeilenkapf Spaltengesamtsumme at Ylzeiengesamtsumme r le automatisch Umrahmung der Zeller _ Druckrichtung erst nach unten dann gegen be Kopf auf neuer Seite wiederholen _ Zellen Seite an Seite _ verbinde gleiche Zellen Betrachten wir die Arbeit mit dem Objekt Cross tab am Beispiel Wir legen auf das Blatt des Reportes das Objekt und stellen die Eigenschaften wie in der folgenden Grafik ein die Anzahl der Ebenen im Zeilenkopf 1 im Spaltenkopf 2 in Zellen 1 Um die Tabelle mit Daten zu f llen nutzen wir den Bearbeiter des Ereignisses OnBeforePrint des Objektes PascalS cript 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 143 procedure CrosslOnBeforePrint Sender TfrxComponent begin with Crossl do begin AddValue Ann AddValue Ann 2001 3 116001 AddValue Ann AddValue Ben 2002 1 2000 AddValue Den i AddValue Den 2001 2 4100 3 end end C Script void CrosslOnBeforePrint TfrxComponent Sender Cross AdaValue T Aann 2001 ZT Crossi Addvaluet Ann 2001 3 1600 Cross AddValue Ann 2002 1 Crossl AddValue Ben 12002 1l 2 lt 000
39. aktiviert die Seitenumbr che n der resultierenden Datei Nach dem Export ffnen die Datei wird gleich nach dem Export ge ffnet Besonderheit des Exportes RichText Objekte werden w e einfacher Text exportiert die Weiterleitung von Grafiken wird unterst tzt Export in das Format RTF RTF Rich Text Format wurde als Standardformat zum Austausch von Textdokumenten entwickelt Heutzutage werden RTF Dokumente von den meisten aktuellen Texteditoren und Operationssystemen unterst tzt Art des Exportes Tabellar sch Beim Export n das Format RTF wird ein Fenster mit den Einstellungen der zu exportierenden Datei angezeigt RIF Export Seitenbereich Alle Aktuelle Seite Seitennummern und oder Seitenbereiche durch komma getrennt eingeben z B 1 3 5 12 Exporteinstellungen Bilder WYSIWYG Seitenumbr che _ weiter _ Mach Export ffnen Exporteinstellungen 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 223 14 5 4 Bilder aktiviert die M glichkeit des Exportes von Grafiken in die RTF Datei Seitenumbr che aktiviert Seitenumbr che in der RTF Date WYSIWYG eine hundertprozentige bereinstimmung des u eren der Datei beim Export Wird d e Option deaktiviert so w rd eine Optimierung durchgef hrt bei welcher die Anzahl der Spalten und Zeilen in der resultierenden Date reduziert wird Weiter ununterbrochener Export Die Seiten u
40. ausgef llt worden sind Server Adresse des SMTP Servers Port des SMPT Servers Login Login des Zuganges zu dem SMPT Server wenn dies notwendig ist Kennwort Kennwort der Autorisierung Eigenschaften speichern diese werden f r weitere Benutzung gespeichert Nachdem die Einstellungen zum Versand der E Mail festgelegt worden sind dies muss nur einmal gemacht werden m ssen die Eigenschaften des E Mail selbst festgelegt werden im Tab eMail 1998 2009 FastReports Inc 232 FastReport 4 6 Benutzerhandbuch 14 7 Senden als eMail eMail eMail Konto Nachricht Adresse Betreff Text _ Confirmation Reading Anhang Format Textdatei Erweiterte Export Einstellungen Adresse die E Mail Adresse des Empf ngers Die fr her gew hlten Adressen k nnen aus der Drop Down Liste ausgew hlt werden Betreff Betreff der E Mail Die fr her gew hlten Betreffe k nnen aus der Drop Down Liste ausgew hlt werden Text Text der E Mail Format das Format des Anhangs Kann aus den oben erw hnten Formaten ausgew hlt werden aber auch das Format des fertigen Reportes kann ausgesucht werden FP3 Erweiterte Export Einstellungen ist diese Option aktiviert so wird nach dem Klicken auf OK ein Fenster mit den Einstellungen des gew hlten Formates aufgerufen Ansonsten werden die standardm ig verwendeten Einstellungen benutzt Besonderheit d
41. color FF8030 gt und dieser orange lt font gt text bold text text in italic bold and in italic E me A F E this is a usual text and this Is a red one this s a usual text and this Is an orange one L l ein Beispiel des Tags lt nowrap gt Reportgenerator Fast Report Fe portgenerator Fast Report L J Reportgenerator lt nowrap gt Fast Report lt nowrap gt 1998 2009 FastReports Inc 22 FastReport 4 6 Benutzerhandbuch 2 5 Repo tgenerator Fast Report L l Darstellung von Ausdr cken mithilfe des Objektes Text Eine der wichtigsten Besonderheiten dieses universellen Objektes ist die M glichkeit nicht nur statische Text anzuzeigen sondern auch Ausdr cke Diese k nnen im Objekt mit dem Text vermischt werden Schauen wir uns ein einfaches Beispiel an in dem wir folgende Textzeile in das Objekt Text einf gen Hello World Today is DATE Wenn wir den Report jetzt erstellen sehen wir folgendes Hello World Today is 01 01 2004 Was ist passiert W hrend der Reporterstellung hat FastReport im Text einen Ausdruck entdeckt in den eckigen Klammern und hat dessen Bedeutung in den Text eingebaut Selbstverst ndlich ohne die eckigen Klammern Das Objekt Text kann eine beliebige Anzahl von Ausdr cken enthalten vermischt mit dem gew hnlichen Text Die Klammern k nnen sowohl Ausdr cke als auch einzelne Variablen enthalten z B 1 2 3 4 Die Au
42. der Parametertabelle Collum visible where Sort Function roup Company Phone FAK scending OrderMo SaleDate Visibility bestimmt ob das Feld sp ter angezeigt werden soll Where die Bedingung ob das Feld ausgew hlt werden soll z B gt 5 Sort Art der Sortierung Function bestimmt die Funktion die angewendet werden soll Group die Gruppierung des Feldes Durch das R berziehen der Felder zwischen den Tabellen werden Verbindungen gekn pft join Bevor die Verbindungen erstellt werden wird berpr ft ob die Arten der Felder zusammenpassen Ist das nicht der Fall k nnen diese nicht verkn pft werden Um die Einstellungen der Verkn pfungen bearbeiten zu k nnen muss man auf die Verbindungslinie klicken und den Punkt Link options ausw hlen Es erscheint das Fenster der Verbindungsparameter 1998 2009 FastReports Inc Assistenten 207 Link Options customer c ustho orders Custho Join Operator Join Type G Inner Left Outer OK Right Outer i Full Outer 13 5 1 Die Verwendung des Query Builders Erstellen wir einen einfachen Report unter Verwendung des Query Builders W hlen Sie in der Instrumentenleiste Neuer Report L aus Es wird eine Seite erstellt die die B nder ReportTi tel MasterDatal und den Seitenfu enth lt Auf die Seite Data legen Sie die Komponente ADO Abfrage und klicken darauf doppelt um den
43. expires in 3 parosysm of extreme suffering Nat edible Range isIindo Facfic and East Africa bo Somoa gimi mE Red Empemr Called seaperch in Australia Inhabitsthe areas amund lagoon coralree amp and sandy botore Etikettendruck Im Gegensatz zu Tabellenreporten liegen die Daten im Reporten des Typs Etiketten untereinander Betrachten wir ein Beispiel solch eines Reports Dieser enth lt die Daten der Fische s h Beispiel oben in Form von Etiketten Der Report hat folgende Struktur Number i Bio Specie _ Cate gory Bio Category l l Name j Bio Comman ame Length cm i Bio Length Wenn wir den Report starten erhalten wir folgendes 1998 2009 FastReports Inc 46 FastReport 4 6 Benutzerhandbuch Number 30020 Category Triggerfish Mame Clown Triggerfish Length cm So Number s0030 Category Snapper Mame Red Emperor Length cm E0 Wie wir sehen gibt es auf der rechten Seite noch eine Menge ungenutzten Platzes Um das Blatt komplett zu f llen kann man bei den Seiteneinstellungen die Spaltenanzahl angeben die die Daten anzeigen sollen Hierf r machen Sie einen Doppelklick auf eine leere Stelle im Blatt oder ffnen Sie den Men punkt DateilSeiteneinstellungen Sseiteneinstellungen Papier weitere Optionen Spalten Fr Anzahl Breite cm Positionen T 9 50 Hier geben Sie die Spaltenanzahl di
44. ist unbegrenzt zus tzliche M glichkeiten der Sortierung optimalere Nutzung der Ressourcen der Datenbank die Anfrage zeigt nur die Daten an die man ben tigt ohne diese zu filtern Das einzig Negat ve st dass die Anfragen in SQL sein m ssen Wobei Grundkenntnisse in SQL in der Regel jeder besitzt der auch mit Datenbanken arbeitet 1998 2009 FastReports Inc 62 FastReport 4 6 Benutzerhandbuch 3 2 Weitere Besonderheiten der Gruppen Sehen wir uns mal an wie Gruppen auf die folgende Seite bertragen werden 1006 06 11 94 1079 03 05 89 1106 23 09 92 1153 16 04 94 1253 26 11 94 1384 MIP Divers Club 1007 01 05 88 1027 07 07 88 Beim bl ttern eines solchen Reports ist es nicht immer klar zu welchem Kunden die Bestellungen oben auf der zweiten Seite geh ren FastReport erlaubt die Anzeige des Gruppenkopfs dieser enth lt die Informationen des Kunden auch auf dieser Seite Dazu muss beim Band Gruppenkopf die Eigenschaft Auf neuer Seite wiederholen ReprintOnNewPage im Objektinspektor aktiviert sein Der Report sieht nun so aus 1998 2009 FastReports Inc Sortierung Ergebnisse 63 1006 06 11 94 1079 03 05 09 1106 23 09 92 1153 15 04 94 1253 25 11 94 1007 01 05 66 Es gibt eine weitere M glichkeit das Trennen der Gruppe zu verhindern Aktivieren Sie daf r die Eigenschaft des Gruppenkopfs Zusammenhalten KeepTogether m Obj
45. kchen gesetzt worden ist Hierf r erstellen wir einen Bearbeiter OnClick beim Button OK im ersten Dialog f hren Sie einen Doppelklick auf den Button aus um den Bearbeiter zu erstellen 1998 2009 FastReports Inc Dialogformen 175 PascalS cript procedure ButtonlOnClick Sender TfrxComponent begin DialogPage2 Visible CheckBoxl Checked end C Script void ButtonlOnClick TfrxComponent Sender DialogPage2 V sible CheckBoxl Checked Dieser Code verbirgt den zweiten Dialog DialogPage2 falls man kein H kchen gesetzt hat Wenn wir den Report nun starten sehen wir dass der Report einwandfrei funktioniert Eine andere M glichkeit der Steuerung der Dialogformen ist die Verwendung des Ereignisses OnRunDialogs Um den Bearbeiter dieses Ereignisses zu erstellen w hlen s e das Objekt Report im Reporttree oder im Objektinspektor aus und gehen auf den Tab Ereignis im Inspektor Der Doppelklick auf das Ereignis OnRunDialosgs erstellt nun den Bearbeiter T Data Ei DialogFagel ab Button A Labell ab Buttar z E Fagel A Memcl frxReporti TfrxFeport we Froperties Events OnRunDialogs tLOnrunDialags OnstartRepor Onstopkrep ort Im Bearbeiter schreiben wir folgenden Code PascalS cript procedure frxReport1lOnRunDialogs var Result Boolean begin Result DialogPagel ShowModal mrOk 1998 2009 FastReports Inc 176 FastReport 4 6 Benu
46. mit Hilfe der Symbolleisten gemacht ostyle T Arial 10 B u t 4X y ll WN Hier einige Beispiele der Darstellung des Textes Test T Test Test F Lassen Sie uns nun weitere M glichkeiten dieses Hauptobjektes kennenlernen Erstellen wir ein neues Objekt Text und f gen dort 2 Zeilen ein Dies ist eine sehr sehr sehr lange Textzeile Diese zweite Zeile ist k rzer Aktivieren Sie den Rahmen des Objekts und ziehen diesen mit der Maus auf eine Gr e von 9 cm x 3 cm Sie sehen das Objekt ist in der Lage auch mehrzeilige Texte darzustellen und nicht nur einzeilige Jetzt verkleinern S e das Objekt auf eine Breite von 5 cm Die lange Zeile passt jetzt nicht mehr in das Objekt deshalb wird der Text der Breite automatisch angepasst Hier arbeitet die Objekteigenschaft WordWrap oder auch Zeilenumbruch Sollte diese ausgeschaltet werden im Inspektor oder m Objektkontextmen so werden die W rter einfach abgeschnitten Jetzt testen wir das Ausrichten des Textes innerhalb des Objekts Die Buttons dazu befinden sich in der Symbolleiste Text und erlauben eine unabh ngige Ausrichtung des Textes sowohl horizontal als auch vertikal Achten Sie auf den Button Blocksatz dies erlaubt eine Ausrichtung des Textes am rechten und linken Rand des Objekts Dazu muss die Option Zeilenumbruch aktiviert sein 1998 2009 FastReports Inc 20 FastReport 4 6 Benutzerhandbuch This is a
47. mit den Zwischenergebnissen einzusetzen d h eine Zeile einf gen Summe f r Value Wir sehen die Tabelle sieht jetzt viel besser aus am Cen Sarherme MER 00 Ann 1000 1998 2009 FastReports Inc 132 FastReport 4 6 Benutzerhandbuch Diese Methode kann man aber auch nicht immer verwenden da die Werte der Zeilen Spalten auch zu lang sein k nnen und die Trennung nicht im nachhinein manuell eingef gt werden kann Die zweite Methode st die Nutzung der Eigenschaften M inWidth und MaxWidth minimale und maximale Breite der Zellen selbst Beide Eigenschaften s nd nur ber den Objektinspektor erreichbar Standardm ig ist der Wert MinWidth O und MaxWidth 200 Dies ist in den meisten F llen ausreichend Sie k nnen diese jedoch ver ndern falls an die Tabellen besondere Anspr che gestellt werden In unserem Beispiel kann man MinWidth MaxWidth 50 eingeben d h die Breite der Zelle soll in jedem Fall 50 Pixel betragen Ist die Zelle kleiner so wird sie auf diese Breite gedehnt Ist sie gr er so richtet sie sich nach MaxWidth aus und der Text wird mit einzelnen W rtern bertragen Was so aussieht Grand Total Jetzt die dritte Methode in welcher man selbstst ndig die ben tigten Ma e einstellt Hierf r deaktivieren wir die Eigenschaft Gr e automatisch m Objekteditor AutoS ze im Inspektor Jetzt k nnen die Ma e der Elemente in der Tabelle manuell
48. mit der Datenquelle m Fenster ReportlDaten Auf das Blatt legen wir das Objekt Diagram al Die Ma e des Objektes setzen wir auf 18x8 cm Um die Einstellungen des Objektes ver ndern zu k nnen rufen wir den Editor mit einem Doppelklick der Maus auf 1998 2009 FastReports Inc 152 FastReport 4 6 Benutzerhandbuch R BETEA Sie Ui Chart Axisvisible True BackColor H Default HBack all iTEhartw ali HBottom xis TChartAxis HBottamall iTEhartw ali Chart3DFercent 15 Depth xis T hartbepth xis lGradient O lLeft xis hart xis lLeftall T hart all lLegend TChartLegend Monochrome _ False HRight xis TCharb xis Title T hartTikle Topdxis TCharb xis vie 3D True Eyes 3bdpkiors TVies3sboptiors view 3DWalls True Die Zahlen in der Grafik bedeuten Bitte Diagranmmserie ausw hlen oder eine neue hinzuf gen 1 Diagrammstruktur Das Diagramm kann eine oder mehrere Serien series enthalten 2 Objektinspektor Dieser zeigt die Eigenschaften des gew hlten 1 Elementes an Auf diese Weise k nnen die Feineinstellungen der Eigenschaften vorgenommen werden 3 das Panell der Vern pfung der Daten und der Serie zug nglich nach Auswahl einer Serie m Fenster 1 Beim ersten Start des Editors sieht das Fenster w e oben dargestellt aus Das erste was gemacht werden muss st das Zuf gen einer oder mehrerer Serien in unserem Beispiel nur eine Klicke
49. und der Wert wird beim Druck des Bandes in den Baum eingef gt Die Hierarchie der Elemente im Baum entspricht der der B nder im Report Das hei t im Baum werden Haupt und untergeordnete Elemente vorhanden sein die den Haupt und Untergeordneten B ndern m Report entsprechen z B ein Report mit zwei Ebenen oder mit Gruppen Betrachten wir die Arbeit mit dem Baum am Beispiel des Reportes mit Gruppen welchen wir vorhin hatten GroupHeader SroupHeaderi Group Custho Stellen wir die Eigenschaft des Bandes GroupHeaderl OutlineText gleich lt Group Company gt Beim Start sehen wir folgendes ga e HGA AAS ljos S Blaja u g 4 43 ro Kausi Dive Shoppe Unisco Sight Diver 1015 25 05 1900 Cayman Divers World Unlimite 1028 07 07 1956 Tom Sawyer Diving Centre Blue Jack Aqua Center 1129 06 10 1943 YIP Divers Club 1 15 11 1994 Ocean Paradise Fantastiqgue Aquakica 1315 26 01 1335 De 1093 01 06 1989 Blue Sports Makai SCUBA Club 1016 02 06 1958 aan a 1084 11 05 1989 Jamaica SCUBA Lentre Island Finders 1116 21 03 1993 Adventure Undersea 1034 13 08 1958 Beim Klick auf ein beliebiges Element des Baumes werden wir auf die entsprechende Seite des Reportes geleitet Das Element wird oben im Fenster angezeigt F gen wir eine zweite Ebene in den Reporttree ein Hierf r m ssen wir die Eigenschaft des Bandes MasterData OutlineText gleich lt Group OrderNo gt stellen Der Baum sieht nun wie folgt aus 1998 2009 FastR
50. ver ndert werden Dazu ziehen Sie die Maus ber die einzelnen Elemente der Mauszeiger ndert dabei seine Form und erlaubt die H he und Breite zu ndern Hier ein Beispiel dazu 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 133 ea Mame Total om sum som om sm sm Beachten S e dass das Deaktivieren der Eigenschaft Gr e automatisch dazu f hrt dass die Ma e der Zellen nicht mehr automatisch angepasst werden Falls Sie die Breite der Zelle zu klein einstellen so wird der Text einfach abgeschnitten 11 1 en p1 G f paa zum a T TOT Sollte dies passieren erh hen Sie die Ma e der betroffenen Zellen 7 7 Farbliche Hervorhebung der Werte Oft ist es notwendig bestimmte Werte in einer anderen Farbe der Schrift oder des Hintergrunds darzustellen Wir hatten schon eine hnliche Aufgabe betrachtet am Beispiel des Reportes mit Gruppen Damals verwendeten wir das Hervorheben unter bestimmten Bedingungen des Objektes Text Dies wollen wir auch jetzt anwenden Betrachten wir das Hervorheben an unserem Beispiel Gehen wir davon aus das ein Wert ber 3000 in roter Schrift dargestellt werden muss Wir klicken auf das Objekt das die Tabellenzelle darstellt und dr cken auf den Button auf den Instrumentenpanell Es ffnet s ch der Editor der Hervorhebung und hier tr gt man folgende Bedingung ein 1998 2009 FastReports Inc 134 FastReport 4 6 Benutzerhandbuc
51. wird das Format korrekt eingef gt Hervorheben Diese Besonderheit des Objektes Text erlaubt es ein Objekt farblich hervorzuheben und dies an eine bestimmte Bedingung zu kn pfen Die Bedingung kann ein beliebiger Ausdruck sein Betrachten wir die Hervorhebung am Beispiel Es soll die Summe der Bestellungen gr n hervorgehoben werden wenn diese ber 5000 liegt Wir w hlen das Feld Group ItemsTotal und klicken auf den Button Hervorheben auf der Symbolleiste des Designers Im Editor der Hervorhebung geben wir die Bedingung ein bei welcher das Objekt hervorgehoben werden soll und geben die Parameter ein Schrift Fon Hervorheben Bedingung Schrift Fett F kursiv u _ Unterstrichen I Farts Hintergrund Transparent Farbe Andere Wir erhalten folgendes 1023 01 07 88 54 674 00 1076 16 12 94 517 781 00 1123 24 08 93 513 945 00 1163 06 07 94 0 59 47195 1176 26 07 94 54 178 85 1269 15 12 94 41 400 00 Total 51 450 50 Beachten Sie die angegebene Bedingung Value gt 5000 Value ist die Bedeutung 1998 2009 FastReports Inc Formatierung der Werte 77 des DB Feldes mit welchem das Objekt verkn pft ist Man k nnte auch lt Group ItemsTotal gt gt 5000 eingeben es w rde zum selben Ergebnis f hren Im Endeffekt kann man alle erlaubten Ausdr cke des FastReport verwenden 4 4 Hervorhebung der Zeilen nacheinander Mithilfe der Hervorhebung kann
52. wird in diesem Ereignis die Summe in die Liste eingef gt Das Ereignis GroupHeaderl OnBeforePrint funktioniert beim ersten Durchgang nicht berpr fung Engine FinalPass Beim zweiten Durchgang wenn die Liste List mit Werten gef llt ist wird dieses Eeignis den Wert der aktuellen 1998 2009 FastReports Inc 100 FastReport 4 6 Benutzerhandbuch Gruppe anzeigen und in den Text des Objektes Memo 8 eintragen Der Text zeigt die Summe in der Kopfzeile der Gruppe Im fertigen Report sieht es so aus 1023 01 07 88 4 674 00 1076 16 12 94 17 781 00 1123 24 08 93 13 945 00 1169 06 07 94 9 471 95 1176 26 07 94 4 178 85 1269 16 12 94 1 400 00 51450 Wie man sieht ist der Algorithmus relativ einfach Man kann ihn aber noch einfacher gestalten M glichkeit 2 Wir verwenden als Datenfeld zum Speichern der Summen die Liste der Reportvariablen Der Bezug auf diese Variablen l uft mit den Funktionen Get und Set Dadurch m ssen wir nicht neue Objekte erstellen und der Speicher muss nicht gel scht werden Das Script s eht dann so aus PascalS cript procedure GroupHeaderlOnBeforePrint Sender TfrxComponent begin if Engine FinalPass then Memo8 Text Sum Get lt Group CustNo gt end procedure GroupFooterlOnBeforePrint Sender TfrxComponent begin oSt lt Gro p CustNo gt FloatToStr SUM lt Group ItemsTotal gt MasterDatal end begin end C Script void GroupHeaderlO
53. zur Sortierung anhand von CustNo Die Anfrage zeigt die Daten so an CustNo Company ne OrderNo SaleDate 1221 Kauai Dive Shoppe 1023 01 07 1988 1221 Kauai Dive Shoppe 1123 24 08 1993 1231 Unisco 1060 28 02 1989 1351 Sight Diver 1003 12 04 1988 1351 Sight Diver 1052 06 01 1989 1351 Sight Diver 1055 04 02 1989 Wie kann man mithilfe dieser Daten einen Mehrebenen Report erstellen In FastReport gibt es daf r ein spezielles Band Gruppenkopf Beim Band wird eine Bedingung eingegeben die Bedeutung des DB Feldes oder ein Ausdruck bei dessen nderung das Band ausgef hrt wird Hier ein Beispiel Erstellen wir ein neues Projekt in Delphi Auf die Seite legen wir die Komponenten TQuery TfrxReport TirxDBDataSet und stellen diese auf folgende Weise ein Queryl DatabaseName DBDEMOS SOL select from customer orders where orders CustNo customer CustNo order by customer CustNo IrxDBDataSetl DataSet Query UserName Group 1998 2009 FastReports Inc FastReport 4 6 Benutzerhandbuch Jetzt gehen wir in den Designer und verkn pfen unsere Datenquelle mit dem Report F gen wir nun zwei neue B nder in den Report ein Gruppenkopf und Daten 1 Ebene Im Editor des Bandes Gruppenkopf geben wir folgende Bedingung ein ins Datenfeld Group CustNo srupperwechsel bei Datenfeld Ausdruck Optionen _ Gruppe zusammenhalten _ Neue Seite beginnen F Im Baum zeigen
54. 3 Steuern der Vererbung Vorhin haben wir die Erstellung des Nachfolgereports von Anfang an betrachtet Was jedoch wenn wir schon einen Report haben und dieser sich auf den Bas sreport beziehen soll Dazu laden w r den Report der zum Nachfolgereport werden soll und gehen ins Men ReportlOptionen Im Tab Vererbung befinden sich die Steuerungselemente der Vererbung 1998 2009 FastReports Inc Reportnachfolge 195 Reporteinstellungen Allgemein Yererbung Beschreibung Yererbungseinstellungen Dieser Report ist ererbt von Basisreport O1 Sirmnple list fra w hle die Option Nicht ndern Basisreport abl sen O Yon Basisreport erben E 01 5imple I l 100 Fr3 list Fr3 es Et E WorkjFast Reportfr4 DemosjMain C Wir m ssen die Option Von Basisreport erben w hlen und den Report aus der Liste aussuchen So kann man auch den Weg zu den Reportvorlagen eingeben Sie m ssen jedoch vorsichtig sein denn die Vorlagen die einen anderen Weg verwendet haben werden vielleicht nicht geladen Nach dem Klick auf OK wird FastReport die beiden Reporte nun verbinden Dabei kann folgende Warnmeldung auftauchen Vererbungsfehler Basisreport und vererbter Report enthalten doppelte Objekte Wie soll erfahren werden Duplikate l schen Duplikate umbenennen Dies passiert wenn in den Reporten Objekte mit gleichen Namen enthalten sind Diese k
55. 4 usw die einzelnen Zellen dar Um solch einen Report erstellen zu k nnen ben tigen wir nur einen Datensatz die Anfrage oder Tabelle welcher drei Felder und folgende Daten enth lt a l al a 2 a2 a 3 a3 a 4 a4 b l b1 b 2 b2 b 3 b3 b 4 b4 Wie man sieht enth lt das erste Feld die Zeilennummer das zweite die Spaltennummer und das dritte den Inhalt der berkreuzung Zeilen und Spaltennummer Beim Erstellen des Reports konstruiert FastReport die Tabelle im Speicher und f llt diese mit Daten Sollten die eingegebenen Zeilen Spaltennummern nicht vorhanden sein so wird die Tabelle dynamisch vergr ert Die Spalten k nnen mehr als nur eine Ebene haben Betrachten wir folgendes Beispiel Hier besteht die Spaltennummer Index aus zwei Ebenen Dieser Report ben tigt folgende Daten 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 123 71 a 10 l al0 1 a 10 2 al0 2 a 20 l a20 1 a 20 2 a20 2 b 10 l b10 1 b 10 2 b10 2 b 20 l b20 1 b 20 2 b20 2 Hier enth lt das erste Feld wie vorhin die Zeilenbezeichnung das zweite und dritte Feld den Spaltenindex Das letzte Feld enh lt den Inhalt der Zellen Um zu verstehen wie FastReport eine Tabelle mit komplexen Spaltenbezeichnungen erstellt betrachten wir folgende Grafik Unsere Tabelle sah vor dem Bearbeiten ungef hr so aus W hrend der Bearbeitung verbindet FastReport die Spaltenk pfe und mit den Werten der entsprechenden Ebene
56. 5 1060 1123 Unisco Sight Diver Kund Nr 1351 1221 1351 1351 1231 1221 Verkaufsdatum 12 04 1988 01 07 1988 06 01 1989 04 02 1989 28 02 1989 24 08 1993 Wie man sieht enth lt die zweite Tabelle die gesamte Liste aller Bestellungen von allen Unternehmen Um eine Liste mit Bestellungen zu erhalten die nur ein Unternehmen gemacht hat muss man aus der ersten Tabelle d e gew nschte Kund Nr ausw hlen Der Report s eht nun wie folgt aus 1221 1023 1123 1231 1060 1351 1003 1052 1055 Kauai Dive Shoppe 01 07 1988 24 08 1993 Unisco 28 02 1989 Sight Diver 12 04 1988 06 01 1989 04 02 1989 Starten wir die Reporterstellung Erstellen wir ein neues Projekt in Delphi Auf die Seite legen wir zwei Komponenten TTable die Komponente TDataSource zwei Komponenten TfrxDBDataSet und eine TfrxReport folgt ein Tablel DatabaseName DBDEMOs TableName Customer db Table2 DatabaseName DBDEMOSs TableName Orders db DataSourcel Die Komponenten stellen wir wie 1998 2009 FastReports Inc 52 FastReport 4 6 Benutzerhandbuch DataSet Tablel frxDBDataSetl DataSet Tablel UserName Customers frxDBDataSet DataSet Table2 UserName Orders Im Designer des Reports verkn pfen wir die Datenquellen im Fenster ReportlDaten und legen zwei B nder auf die Seite MasteData Daten 1 Ebenen und DetailDa
57. 65 6 AGGREGAHUNKIONEN suisses een 66 7 Ergebnisse der Seite und des Reportes eua2 2 22a20000nannnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnn nun 69 8 Einf gen der Aggregatfunktionen uuuru auu00nnanunnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnnnnn 70 Chapter IV Formatierung der Werte 73 1 VaAIUES formating sen 73 2 Individuele Formatierung u een 74 3 2 10 fe ant 1 1 PRSARNREREIINE N SEELEN MENENELD SEEN UERBEILEENDESEEREE EUREN SEOENLT EEE AEORHEICD SENB UERNELUENDESEEREE ENBERSEEREENDEN 76 4 Hervorhebung der Zeilen nacheinander uu zu2000020000n02an00nnnannonnnnnnnnnunnunnnnnnnnn nun 77 Chapter V Unterreporte 80 1 UNIETTEDONTE 20 ee ae E 80 2 Die Ausf hrung der Unterreporte nebeneinander zurrnnan00n2nn000nnannunnnnnnunn nun 80 3 Beschr nkungen bei der Nutzung der Unterreporte usssnunanunnnnnnnnnnnnnunnnnnnnnnnnnnnnn 81 A Option PrintOnP areni ne nee 82 Chapter VI Script 84 1 Erste SCM E aaa een 84 2 2SCHIPESTUKIUN an nennen 87 3 gt SCHDL Hell World uncut une nen haus anne ame nen nu nun TanE Henn 89 4 Benutzung von Objekten im Script z2a200000 2an0000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nun 90 5 Zugriff auf Variablen aus der Liste der Reportvariablen uuususnnuunennnnnnennnnnnnnn anne 91 6 Zugnl auf DE Felder en ee ee ee seen 92 7 Die Verwendung von Aggregatfunktionen im Script
58. 69 15 12 94 p1 400 00 Total 51 450 50 Number 6 00 Um das ganze korrekt anzeigen zu k nnen muss jeder Ausdruck individuell formatiert werden Hierf r gibt es so genannte Format Tags Diese werden vor der abschlie enden eckigen Klammer eingef gt In unserem Beispiel deaktivieren wir die Formatierung des Objektes im Format Editor w hlen wir die Kategorie Text ohne Format Jetzt ndern wir das Format der ersten Variablen die zweite ist dann nicht formatiert und wird wie gew nscht als ganze Zahl angezeigt Den Text des Objekts ndern wir auf folgende Weise Summe SUM lt Group ItemsTotal gt MasterDatal n 2 2m Anzahl COUNT MasterDatal vergewissern wir uns dass der Report nun richtig ausgef hrt wird 1998 2009 FastReports Inc Formatierung der Werte 75 1269 16 12 94 p1 400 00 Total 51 450 850 Mumber 6 Jetzt zur Nutzung der Tags Die Syntax ist die folgende expression tag Beachten Sie dass die Leerstelle zwischen dem Ausdruck und dem Zeichen ist zwingend Der Tag selber kann folgendes Aussehen haben nFormatZeile Format Zahl dFormatZeile Format Datum Zeit bFalse True Format Wahrheitswert Die FormatZeile ist in jedem Fall ein Argument f r die Funktion mit deren Hilfe man die Formatierung ausf hrt F r das Format Zahl ist es die Delphi Funktion Format und f r das Format Datum Zeit die Funktion FormatDateTime Die m glichen Bedeutungen der Format
59. AB SEEN Eee ee NEE E EAUEE SERIES ESSEN EERCNENNNE EEE EERNEREBNEGAEAENE 223 Export in das XML Formal 2 essen aaa see RE Eee Eee 225 EXPOR INS CSV FOrMal nennen an ee EE ea ke ASEE EEEE SEE Teer 226 Export in das HIML Format ee ea Be ee 226 Export inem TEXLIOHMal esseede aeara a Eae ern 228 Export in Formate Jpeg BMP Gif Tiff s uu 4 424040 200000 na nnmnnn nnnnnnnnnnnnnnnnnn nennen nnnm 229 6 Versand des Reportes ber E Mail uuueau220200220n00000nnnnn0nonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 230 7 Vorschl ge zur Reporterstellung uurn2a20000 an000nnnn00nnnnnunnnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnen 232 1998 2009 FastReports Inc FastReport 4 6 Benutzerhandbuch 1998 2009 FastReports Inc Designer FastReport 4 6 Benutzerhandbuch Die Komponente beinhaltet einen integrierten Designer welcher n Design time mit einem Doppelklick der linken Maustaste ber die Komponente TfrxReport aufgerufen wird Der Designer erlaubt dem Nutzer die bequeme Bearbeitung des u eren Erscheinungsbildes des Reports und eine sofortige Vorschau Das Interface des Designers ist den aktuellen Standards angepasst unter Nutzung der Symbolleisten Deren Anordnung kann den Bed rfnissen des Nutzers angepasst werden Die Informationen der Anordnungen werden gespeichert und bei jedem Neustart w ederhergestellt Auch alle anderen Ver nderungen des Designers werden gespeichert Der Desig
60. Button L schen Die verbundenen Felder m ssen den gleichen Typ haben und Schl ssel besitzen 11 1 3 TfrxADOQuery Die Komponente ist f r SQL Anfragen an der Datenbank bestimmt und besitzt folgende Eigenschaften Eigenschaft Beschreibung Database Name der Verbindung zu Datenbank Komponentenname TfrxADODatabase FieldAl ases Erlaubt die Eingabe eigener Feldnamen 1998 2009 FastReports Inc Zugangskomponenten zu den Daten 183 SQL Abfrage Benutzerdefinierter Name des Datensets IsnoreDupParams Wenn True so werden die Namen der Abfrageparameter nicht m Editor der Parameter verdoppelt Die Eigenschaften Database FieldAliases Filter Filtered Master sind den oben beschriebenen Komponenteneigenschaften TfrxADOTable hnlich Die Eigenschaft SQL besitzt einen eigenen Editor um SQL Anfragen zu starten ER Te select Erom customer Die Eigenschaft Params besitzt ebenfalls einen eigenen Editor Sie ist zug nglich wenn der Text die Anfrage folgender Parameter enth lt 1998 2009 FastReports Inc 184 FastReport 4 6 Benutzerhandbuch Parameter Editor Datentyp Wert Der Parameter dem Master Datenset zugeteilt sein oder einen konkreten Wert haben Als Wert kann sowohl eine Konstante als auch einen Link zur Variablen oder Objekteigenschaft haben Sollte der Parameter aus dem Master Datenset stammen so muss die Eigenschaft TfrxADOQuery Master eingest
61. Crossl AddValue Den 2001 1 Cross1 AddValue Den 2001 2 4100 Im Bearbeiter st es notwendig die ben tigten Daten mit Hilfe der Methode TfrxCrossV ew AddValue einzuf gen Diese Methode besitzt drei Parameter und jedes ist eine Reihe des Types Variant Der erste Parameter ist der Wert der Zeile der zweite der Wert der Spalte und der dritte stellt den Wert der Zellen dar Beachten Sie dass die Anzahl der Werte in jeder Reihe der Einstellungen des Objektes entsprechen muss In unserem Beispiel besitzt das Objekt eine Ebene im Kopf der Zeilen zwei Ebenen im Kopf der Spalten und eine Ebene in den Zellen Entsprechend f gen wir in AddValue einen Wert f r die Zeilen zwei Werte f r die Spalten und einen Wert f r die Zellen hinzu Starten wir den Report sehen wir nun folgendes Am rsoolieoo s100 1700 zol ann em ofo 2000 Te00f11200 3700 3700 14900 Die Methode AddValue kann man genauso verwenden f r das Objekt Datenbank Cross tab Objekt Dadurch kann man in die Kreuztabelle Daten eintragen die nicht in der verkn pften Datenquelle vorhanden sind Sind die Daten vorhanden so werden diese 1998 2009 FastReports Inc 144 FastReport 4 6 Benutzerhandbuch 7 11 hinzuaddiert Hinzuf gen von Objekten in die Tabelle In die Tabelle k nnen zus tzliche Objekte eingef gt werden Wozu braucht man das Man kann z B bestimmte Werte in den Zellen damit graf
62. Dadurch musste man den Kern von FastReport nicht an irgendwelchen Bibliotheken binden um auf Datenbank zugreifen zu k nnen FastReport ist in der Lage sowohl mit BDE IB_Objects welches nicht mit TdataSet genutzt werden kann zu arbeiten als auch mit jeder anderen Bibliothek Daten k nnen aber auch gleich aus der nicht mit der DB verbundenen Quelle bezogen werden z B aus der Datei Die Komponente TfrxDBDataset ist f r die Arbeit mit Datenquellen vorgesehen welche mit TDataSet BDE ADO IBX und die meisten anderen Bibliotheken kompatibel sind F r das Arbeiten mit IB_Objects ist die Komponente TfrxIBODataSet vorgesehen und f r die restlichen Quellen wie z B Dateien die Komponente TfrxUserDataSet Die Nutzung der Komponente TirxDBDataset ist sehr einfach Um diese mit der 1998 2009 FastReports Inc 26 FastReport 4 6 Benutzerhandbuch 2 9 Datenquelle zu verbinden stellen Sie die Eigenschaft DataSet ein wird unmittelbar an die Tabelle oder Anfrage verkn pft oder DataSource wird mit der Komponente TDataSource verbunden Beide M glichkeiten sind gleich die erste erlaubt jedoch die Umgehung der Komponente TDataSource Um die Komponente und die damit verbundenen Daten im Report erreichen zu k nnen muss man angeben welche Quellen im Report verwendet werden sollen Deshalb w hlen Sie im Designer von FastReport den Punkt ReportlDaten aus und kennzeichnen die gew nschten Datensets Datas
63. Database der Komponente TfrxADOComponents Jetzt m ssen wir nur noch die Tabelle w hlen TableName Customer Um das Band Daten 1 Ebene mit der Tabelle zu verkn pfen klicken Sie doppelt darauf und w hlen indem sich ffnenden Fenster unsere Tabelle Ziehen Sie die ben tigten Felder aus dem Fenster Datentree auf die Seite Unser Report m sste danach ungef hr so aussehen 1998 2009 FastReports Inc Zugangskomponenten zu den Daten 187 ReportTitle FeportTitle1 ADOTable1 Company ADOTable1 Phone ADOTable1 FAX PageFooter Pagefo oterl Um den erhaltenen Report betrachten zu k nnen klicken Sie auf den Button Vorschau L auf der Instrumentenleiste 11 4 Report mit Parameterabfragen Betrachten wir die Erstellung eines Reports bei welchem vor dem start eine Parameterabfrage im Dialogfenster erfolgt Dazu machen Sie folgendes Erstellen Sie einen neuen Report Gehen auf die Seite 2Saten und f gen dort ein neues Objekt Anfrage ADO Rufen S e dessen Editor auf und f gen folgenden Text der Anfrage hinzu select from Customer where CustNo gt pl F gen sie in den Report eine neuen Dialog hinzu Legen auf die Form die Komoponenten Label Edit Button Stellen Sie die Eigenschaften der Komponente wie folgt ein Labell Caption Ausw hlen wenn CustNo gr er als Edit 1998 2009 FastReports Inc 188 FastReport 4 6 Ben
64. Editor aufzurufen Klicken Sie nun auf den Button 33 im Editor und es erscheint der Query Builder W hlen Sie die Tabelle Customer aus und ziehen diese auf die Arbeitsfl che man kann diese auch durch den Doppelklick ausw hlen Als n chstes werden nun H kchen an die Felder CustNo Company und Phone gesetzt 1998 2009 FastReports Inc 208 FastReport 4 6 Benutzerhandbuch Collunn Yisible 23 Fast Query Builder Designer SQL Result customer c WE pi Custo Float Company CWwideString C Addri wideString C Addr2 widestrirng C city Owidestring C State Widestring C Zip wideString C Country widestring Phone twidestring BiFa WyideString C TaxR ate Float C Contact Wwidestring where Sort LusthNo Company Phone Function Group 131 biolife T country a crosstest I currency quoting E customer a customer _guery T employee E items T MSsysdccess bjects T MSysdaccess ML H MSysACEs T Mays IMEs Columns LA MSysIMEXSpecs a MSysobjects I MSysQueries I MSysrelatiornships T nextcust I nextikem I nextord I orders T parts T unicode T vendors Mehr braucht man nicht um ein Abfrage zu erstellen Der Text der Abfrage wird im Tab SQL angezeigt und die Daten die die Abfrage liefert im Tab Result Klicken Sie auf 4 um den Query Builder zu schlie en Wir kehren zur ck zum Editor der Abfrage und sehen den gene
65. Ereignis wird einmal f r jede Seite der Reportschablone aufgerufen nicht zu verwechseln mit den Seiten des fertigen Reports In unserem Fall unabh ngig der Seiten im fertigen Report wird das Ereignis nur einmal aufgerufen da die Reportschablone aus nur einer Seite besteht Als n chstes beginnt der Druck der Datenb nder Das geschieht auf folgende Weise 1 Ereignis OnBeforePrint des Bandes wird aufgerufen 2 die Ereignisse OnBeforePrint der auf dem Band liegenden Objekte werden aufgerufen 1998 2009 FastReports Inc 94 FastReport 4 6 Benutzerhandbuch 6 10 3 alle Objekte werden mit Daten gef llt in unserem Fall mit Bedeutungen der DB Felder Company und Addr1 4 die Objekte werden auf dem Band positioniert falls dazwischen dehnbare sind ebenfalls wird die H he des Bandes berechnet und es wird gedehnt falls es dehnbar ist 5 das Ereignis OnAfterCalcHeight des Bandes wird aufgerufen 6 falls das Band nicht auf eine Seite passt wird eine neue erstellt 7 das Band und alle seine Objekte werden auf dem fertigen Report ausgef hrt 8 das Ereignis OnAfterPrint aller Objekte des Bandes wird aufgerufen 9 das Ereignis OnAfterPrint des Bandes wird aufgerufen Die B nder werden ausgef hrt solange es Daten in der verkn pften Datenquelle gibt Danach endet das Formieren des Reports in unserem Fall und das Ereignis OnAfterPrint der Reportseite wird aufgerufen Als letztes wird das Ereignis OnsStopRep
66. NEN Company 0 address 0000000 Customers Company Customers Addrl Das Prinzip der Objektverteilung ist dasselbe wie auch im Standardreport Der Unterschied besteht darin dass die Objekte fest im Netz verankert sind F r diese kann man keine andere Schriftgr e oder Farbe w hlen Jedoch k nnen bestimmte Eigenschaften der Schrift ver ndert werden W hlen Sie das Objekt Text an und klicken auf im Instrumentenpanell 1998 2009 FastReports Inc 164 FastReport 4 6 Benutzerhandbuch 9 1 Fr Fett kursiv i Unterstricher Hochgestellt Tiefgestellt Eng weit 12 cpi I 15 cpi Wie man sieht k nnen hier die Eigenschaften eingegeben werden die f r das Drucken auf Nadeldruckern speziefisch sind Diese Eigenschaften besitzt die Seite und alle Matrixobjekte ausgenommen die B nder Achtung Im Designer und der Vorschau werden nur die Eigenschaften Fett Kursiv Unterstrichen Zum Drucken werden jedoch alle Eigenschaften verwendet Ver ndern wir das Aussehen des Reportes und geben f r die K pfe Fett Der Report ist nun fertig und kann in der Vorschau betrachtet werden Customer list Company Address Action Club Action Diver Supply Adventure Undersea American SCUBA Supply Aquatic Drama PO Box 5451 F Blue Spar Box 3 PO Box 744 1739 Atlantic Avenue Jzl Everglades Way Cross tab in dot matrix Die Anzahl der Objekte im Mat
67. OTable TfrxADOQuery TfrxADODataBase Diese Objekte erf llen dieselben Aufgaben wie die entsprechenden Komponenten in Delphi TDBLookupComboBox TADOTable TADOQuery TADOConnection ET TfrxDBLookupComboBox Steuerungselement zur Auswahl eines Wertes aus einem Verzeichnis T TfrxBDETable Steuerungselement des Zuganges zur DB Tabelle Tii TfrxBDEQuery Steuerungselement zur Ausf hrung von SQL Anfragen TfrxBDEDataBase Steuerungselement der Verkn pfung zur Datenbank Let us examine each component 11 1 1 TfrxDBLookupComboBox Dieses Steuerungselement st f r die Auswahl eines Wertes aus der Verzeichnisstabelle vorgesehen Dabei wird statt des ausgew hlten Wertes sein Identifikator im Verzeichnis eingef gt Das Element hat folgende Eigenschaften Eigenschaft Beschreibung Datenquelle die mit dem Steuerungselement verbunden ist ListField Feldname n der Datenbank welcher m Steuerungselement angezeigt wird 1998 2009 FastReports Inc 180 FastReport 4 6 Benutzerhandbuch KeyField Name des Schl sselfeldes in der Datenbank welcher den ausgew hlten Eintrag identifiziert KeyValue Wert des Schl sselfeldes das n der Liste ausgew hlt worden ist Text Wert des DB Feldes welcher n der Liste angezeigt wird AutoOpenDataSet IlIst die Eigenschaft gleich True so wird die verkn pfte Datenquelle automatisch ge ffnet nach dem Ereignis On Activate des Dialoges Um das Steueru
68. Ok gestellt Einf gen von Parametern und deren Transfer in den Report Machen wir unser Beispiel komplizierter um zu zeigen auf welche Weise die in der Dialogform enthaltenen Werte n den Report bertragen werden Dazu ver ndern wir unsere Dialogform folgenderma en Auf der Reportseite f gen wir das Objekt Text mit folgendem Text ein You ve entered Editl Text Starten wir den Report und vergewissern uns dass der eingef gte Parameter im Report angezeigt wird Analog k nnen auch andere Elemente der Dialogform bearbeitet werden Jedes Objekt besitzt einen einzigartigen Namen innerhalb des Reports und kann deshalb an einer beliebigen Stelle im Report verwendet werden 1998 2009 FastReports Inc Dialogformen 173 10 4 Interaktion der Steuerungselemente Wenn man Scripte verwendet kann man die Logik der Arbeitsweise der Dialogform leicht nachvollziehen z B die Interaktion der Steuerungselemente Schauen wir uns ein Beispiel an Modifizieren wir die Dialogform auf folgende Weise Ex Nun klicken wir doppelt auf das Objekt CheckBox dabei wird ein Bearbeiter des Ereignisses OnClick erstellt und schreiben folgenden Script PascalS cript procedure CheckBoxlOnClick Sender T frxComponent begin Buttonl Enabled not CheckBoxl Checked end C Script void CheckBox1OnClick TfrxComponent Sender Buttonl Enabled CheckBoxl Checked Wie man sieht unterscheidet sich de
69. R ate F contact contact F LastInvoiceDate LastInvoiceDate Beachten S e dass das Pseudonym der Quelle auch ohne den Editor ge ndert werden kann Hierf r ndert man die Eigenschaft UserName der Komponente IrxDBDatasetl Jetzt muss auch der Report selbst berichtigt werden da sich die Namen der Felder ge ndert haben Um die Bezeichnung der Felder im Objekt zu ndern nutzt man am besten die vierte M glichkeit s h Kapitel Report Kundenliste Bewegen Se die Maus auf das Objekt Text bis der Button der Drop Down Liste auf der rechten Seite erscheint Klicken Sie diesen an und w hlen das ben tigte Feld aus der Liste Die Bedeutung der Bezeichnungen der Datenquelle und der Felder m sste jetzt klar sein Man muss hinzuf gen das die Pseudonyme am Anfang der Arbeit mit den Reporten gemacht werden sollten um nachfolgende Korrekturen der Bezeichnungen zu vermeiden Variablen Au er der Verwendung von Pseudonymen gibt es eine weitere M glichkeit die Bezeichnungen der DB Felder zu ndern Indem man die im Report enthaltenen Variablen benutzt kann man die Bezeichnungen der Felder ver ndern aber auch andere Ausdr cke Um mit Variablen arbeiten zu k nnen w hlen Sie in der Men leiste 1998 2009 FastReports Inc 32 FastReport 4 6 Benutzerhandbuch Reportl Variablen oder klicken auf den Button Variablen auf der Symbolleiste Die Liste der Variablen besitzt in FastReport eine zwei
70. RightMargin Tag TitleBeforeHeader TopMarain ackPicture intergrundbild 2 V Erzeuge Feld v M Erzeuge Beschriftung Nach Name sortieren 118 11 0 85 FAX i Customers FAX I je E i OLE vl A aa gt gt a Die Zahlen bedeuten 1 Arbeitsfl che des Designers 1998 2009 FastReports Inc Designer 3 2 Men leiste 3 Symbolleiste 4 Objektleiste 5 Tabs des Codeeditors und Data 6 Fenster Reporttree 7 Fenster Objektinspektor 8 Fenster Datenbaum Aus diesem Fenster k nnen Elemente auf das Blatt gezogen werden 9 Lineal Beim R berziehen des Lineals auf das Blatt entsteht eine Linie an der Objekte befestigt werden k nnen 10 Statusleiste 1 1 Tastatursteuerung Alt Pfeile Markiertes Objekt haftet s ch an das n chste Objekt n ausgesuchter Richtung 1998 2009 FastReports Inc 4 FastReport 4 6 Benutzerhandbuch 1 2 Maussteuerung Linke Maustaste Objektauswahl Einf gen eines neuen Objektes Verschieben und Gr en nderung des Objektes Objekte Der Ma stab der hervorgehobenen Objekte wird durch das Ziehen des roten Quadrates in der rechten unteren Ecke der Gruppe ver ndert Rechte Maustaste Das Kontextmen des Objekts Objekte ber welchem sich der Mauszeiger befindet Doppe
71. Str HeaderValues 1 11 Memo Color clRed Das Resultat am from Cen poi Tas canere o Toro ef E Kl ren wir die Arbeitsweise der Scripte Der Bearbeiter des Ereignisses 1998 2009 FastReports Inc 138 FastReport 4 6 Benutzerhandbuch OnPrintCell wird vor dem Druck der Zelle welche in der Tabelle ist aufgerufen Beim Druck der Zellen der Spaltenk pfe der Tabelle werden die Bearbeiter OnPrintColumnHeader oder OnPrintRowHeader aufgerufen Dazu wird in den Bearbeiter OnPrintCell ein Link zum Objekt Text erstellt Dieser stellt die Zellen der Tabelle Parameter Memo und die Adresse der Zellen in zwei Varianten dar Zeilen Spalten Zellennummer die letzte aktuell falls Sie n der Tabelle Zellen mit mehreren Ebenen haben in Parametern RowIndex ColumnIndex Celllndex entsprechend Die zweite Variante der Adresse sind die Parameter RowValues und ColumnValues Das Parameter Values stellt den Inhalt der Zelle dar Um eine Adresse zu spezifizieren k nnen Sie sowohl die erste Variante RowlIndex ColumnIndex als auch die zweite Variante RowValues ColumnValues verwenden Diese ist in unserem Beispiel besser Wir wollten in unserem Fall die dritte Spalte hervorheben deswegen analys eren w r am besten die erste Variante Da die Nummerierung der Spalten und Zeilen bei O beginnt hilft die berpr fung ColumnIndex 2 uns die dritte Spalte zu ermitte
72. Summe jeder Gruppe ermittelt und in irgendeinem Datenfeld gespeichert beim zweiten Durchgang wird diese aus dem Datenfeld geholt und im Gruppenkopf dargestellt Demonstrieren wir die L sung dieser Aufgabe auf zwei Arten Als erstes erstellen wir ein neues Projekt in Delphi und legen auf die Seite die Komponenten TQuery TfrxReport TirxDBDataSet Die Einstellungen sind wie folgt Queryl DatabaseName DBDEMOS SOL select from customer orders where orders CustNo customer CustNo order by customer CustNo orders OrderNo IrxDBDataSetl DataSet Query UserName Group Jetzt gehen wir n den Designer und verkn pfen unsere Datenquelle mit dem Report In den Einstellungen des Reports Men punkt ReportlEinstellungen aktivieren wir Zweipass Zwei B nder werden eingef gt Gruppenkopf und Daten 1 Ebene Im Editor des Bandes Gruppenkopf f gen wir die Bedingung Datenfeld Group CustNo ein Das Datenband verkn pfen w r mit der Datenquelle und ordnen die Objekte folgenderma en an GroupHeader SaroupHe aderi Group OrderNo Group SaleDatee Group lternsTotal GroupFooter ar upF ooteri SUMs Group tems Total gt MasterDatal L Das markierte Objekt in der Grafik der Name Memo8 benutzen wir um die Summe anzuzeigen 1998 2009 FastReports Inc 98 FastReport 4 6 Benutzerhandbuch M glichkeit 1 Wir verwenden als Datenfeld f r die Aufbewah
73. abellen konstruieren zu k nnen m ssen Sie die Komponente TfrxCrossObject u aus dem Satz der FastReport Komponenten verwenden Legen Sie diese einfach auf die Seite man muss nichts einstellen In die Liste uses Ihres Projektes wird das Modul frxCross hinzugef gt dieses besitzt alle ben tigten Funktionalit ten Gehen wir in den Reportdesigner Als erstes verkn pfen wir die Datenquelle im Men ReportlDaten Auf das Blatt legen wir nun das Objekt Datenbank Cross tab Objekt 3 R a i 4 i E J Alle Einstellungen werden mit dem Editor des Objektes gemacht Diesen rufen wir ber den Doppelklick auf 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 125 Cross tab Editor Quelldater Cross tab Struktur m m e e m m m m m m m m m m m m m m m m m m m m Feige Titel Zeige R nder Stil ausw hlen Salary Spaltenkapf Year v Zeilenkopf O Nam 0 o Spaltengesamtsumme Grand Total oo o v Zeilengesamtsumme sr e automatisch 6 Umrahmung der Zellen _ Druckrichtung erst nach unten dann gegen be Kopf auf neuer Seite wiederholen _ zellen Seite an Seite _ verbinde gleiche Zellen Die Zahlen bedeuten 1 Drop Down Leste der vorhandenen Datenquellen 2 die Liste der Felder in der Datenquelle Diese k nnen nach 3 4 5 r bergezogen werden 3 die Liste der Felder die die Kopfzeile darstellen we
74. ach jedem Band verlagert sich die aktuelle Position nach unten Stellt FastReport nun fest dass der Platz f r das n chste Band nicht ausreicht dessen H he ist gr er als die H he des restlichen Platzes auf der Seite dann wird eine neue Seite gestartet Die B nder werden auf dieser fortgef hrt und zwar so lange wie es Eintr ge in den Daten gibt Unser Report enth lt in diesem Fall ein Objekt mit viel Text deswegen ist die Anzahl der B nder hoch Falls nun das Band gro ist und nicht mehr auf diese Seite passt wird es auf die n chste Seite bertragen Es bleibt nun ungenutzter Platz auf der Seite s h 1998 2009 FastReports Inc 40 FastReport 4 6 Benutzerhandbuch folgende Grafik Um Platz zu sparren nutzen wir die M glichkeit den Inhalt der B nder aufzuteilen Dazu aktivieren wir die Option Aufteilung erlauben AllowSplit im Band MasterData Man sieht das der freie Platz weniger geworden ist ZZ O HE Wie arbeitet die Aufteilung des Bandes In FastReport gibt es mehrere Objekte die diese M glichkeit unterst tzen und zwar Text Rahmen und R ichEdit Diese k nnen getrennt werden andere Objekte nicht Wenn FastReport Objekte aufteilen will geht es wie folgt vor zeigt die Objekte an die nicht aufteilbar sind und ganz auf den freien Platz passen zeigt teilweise zerlegbare Objekte an Text wird so angezeigt das alle Zeilen in das Objekt passen e
75. ains all orders made by customers Table is linked to the ADOTablez Customers table by master detail relationship 1998 2009 FastReports Inc Reportnachfolg e Reportnachfolge 191 12 1 Bei der Arbeit mit Reporten f llt auf dass in den Reporten immer wieder dieselben Daten auftauchen z B Angaben zum Unternehmen Warenzeichen usw Stellen Sie sich jetzt vor es kommt zu einer nderung z B die E mail Adresse ndert sich man m sste nun jeden Report einzeln ffnen und die E mail Adresse korrigieren Um solche S tuationen zu vermeiden verwenden wir d e Reportnachfolge Was genau ist das Gehen wir davon aus dass wir in all unseren Reporten bestimmte Elemente immer verwenden Dies k nnen der Firmenname das Firmenlogo usw sein und sind in jedem Report enthalten Solche gemeinsamen Elemente kann man in einem Basisreport zusammenfassen FastReport gibt Ihnen die M glichkeit Reporte auf Grundlage des Bas sreports zu erstellen Dabei wird der neue Report alle Elemente des Bas sreports enthalten und zus tzlich die eigenen Der Vorteil ist Sie ndern in Zukunft nur den Bas sreport Alle anderen Reporte die sich darauf beziehen werden automatisch die nderungen bernehmen Dieses Verhalten wird durch die Nachfolge bestimmt d h beim Start des Nachfolgreports wird zuerst der Basisreport geladen Erstellung des Reports Erstellen wir einen einfachen Report welcher sich auf einen Basisrepo
76. andardm ig aktiviert und hat eine sehr n tzliche Funktion sie verhindert dass sich die Grafik beim ndern der Gr e des Objekts verzerrt Diese Option arbeitet nur in Verbindung mit der Option Dehnen Bei jedem ndern der Gr e bleibt deshalb der Kreis rund und wird nicht oval Hinzu kommt dass die gedehnte Grafik nicht das gesamte Objekt einnimmt sondern nur den Teil der ben tigt wird um die Grafik in den richtigen Proportionen darzustellen Deaktiviert man diese Option wird die Grafik auf die gesamte Objektgr e gedehnt und falls die Ma e des Objekts nicht denen der Grafik entsprechen wird diese verzerrt dargestellt Eine weitere n tzliche Eigenschaft ist FileLink welche ber den Inspektor zu erreichen ist Hier kann man den Dateinamen angeben z B c picture bmp die Grafik wird dann bei Starten des Reports hochgeladen Ebenso kann man dort eine Variable einsetzen z B picture_file Beim Starten des Reports erkennt FastReport diese Variable es muss der Dateiname sein und l dt die Grafik hoch Report mit Grafiken Das Objekt Grafik kann wie viele andere Objekte in FastReport auch Daten aus Datenbanken darstellen Die Verkn pfung des Objektes zum ben tigten DB Feld erfolgt mithilfe der Eigenschaften DataSet und DataField m Objektinspektor Im Gegensatz zum Objekt Text ist dies die einzige M glichkeit Verkn pfungen herzustellen Demonstrieren w r das oben erw hnte anhand eines Beispiels Wir e
77. ange is Indo F acific and East Africa to Somoa 0 Red Emperor amp Called seaperch in Australia Inhabitsthe areas amundlagoon coral reet and sandy botore Es ist nicht genau das was wir wollten Besser w re es wenn die Rahmenlinien der benachbarten Objekte sich ebenfalls strecken w rden FastReport kann auch dieses 1998 2009 FastReports Inc Reporterstellung 45 2 19 Problem l sen Um solche Reporte erstellen zu k nnen muss bei den Objekten die gedehnt werden sollen die Eigenschaft Auf Maximalh he dehnen oder StretchMode smMaxHeight im Objektinspektor aktiviert werden Dabei berechnet der Kern von FastReport die Maximalh he des Bandes und zieht dann die Objekte mit der aktivierten Eigenschaft bis zum unteren Rand des Bandes Da auch der Rahmen des Objektes gezogen wird sieht der Report danach wie folgt aus ag Clown Triggerfish Also known as the big spotted triggertish Inh ab its outer reef areas and feeds upon crustaceans and malluste by cmushing them with poauwerfulteeth They are voradous eates and divers eportseeing the clown tnggerfish dewour beds of pearl oyde E Do noteatthe fish According to an 1878 acount the poisonous fesh act primarily upon the nerwous tizue ofthe stomach occasioning wiolentsp ams of that organ and shorthr aftenwards all he musdes of the body The frame becomes rocked with spasms the tongue thickened the eye fixed the breathing laborious and the patient
78. anlar Tha Aaah n rA mlel fir Ta n mt au U u This is the largest of all the wrasse It is found in FastReport hat jedoch nur die hm gegebenen Anweisungen befolgt Das Feld Notes beinhaltet Text dessen Gr e variabel ist Unser Objekt Text der die 1998 2009 FastReports Inc 38 FastReport 4 6 Benutzerhandbuch Informationen des Feldes anzeigt besitzt jedoch eine feste Gr e Deswegen passen nicht alle Zeilen in das Objekt und werden nicht vollst ndig angezeigt Was k nnte man jetzt machen Man kann selbstverst ndlich die Gr e des Objektes oder die der Schrift ver ndern Dies jedoch w rde zur Platzverschwendung auf dem Blatt f hren weil manche Fische eine lange Beschreibung haben und manche nur eine kurze FastReport besitzt f r diesen Fall M glichkeiten dieses Problem zu l sen Die Rede geht ber die Eigenschaften des Bandes die eigene Gr e den enthaltenen Objekten anzupassen Hierf r muss die Eigenschaft Dehnen aktiviert werden Dies ist jedoch nicht alles Ein Objekt mit viel Text sollte ebenfalls in der Lage sein sich zu dehnen das Objekt Text kann das Das Objekt kann automatisch seine H he und Breite anpassen um den gesamten enthaltenen Text aufnehmen zu k nnen Hierf r sind die Eigenschaften Breite automatisch AutoWidth und Dehnen StretchMode da Die Eigenschaft Breite automatisch w hlt die Breite des Objektes so aus dass alle
79. ans a a a a AE 35 15 Muhi Text ANZeigE einni a a EE EEEa A E Eaa EEEE 37 16 Daten TENNET sirsa E E A EE A HE EEEBERDE SENDER SER GEESEUERE 39 17 Textumfluss bei Objekten anusnnnnnunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnmnnn nennum nnmnnn nnmnnn 41 18 Datendruck in Form einer Tabelle uu 2220 220000a200nanu0nannunnnnnnnnnnunnnnnnnnnnunnnnnunnnnnnn 43 19 ElIKeNENGrUCK sirara e e 45 20 CHIO BaNG sorire E E 47 21 Verschieben von Objekten un enesnnuni teile nennen nnmnnn nennen nnmnnn 49 22 Report mit zwei Datenebenen master detail uuuunuauesnannonnanunnnnnnnnanunnunnunnnnnnnnnnennnnn 50 1998 2009 FastReports Inc Table of contents Il 23 Kopf und Fu zeilen der Datenb nder ua222a20000n2nnn0000nnnnnnnnonnnnnnnnnnnnnnnnnnn nenna 54 24 Mehrseitige Reporte nsession ee 55 25 Reporte ohne Nutzung von Datenbanken sssnnunsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnm nnna 57 Chapter Ill Sortierung Ergebnisse 59 1 Report mit Gruppen staunen nina nen nnmnnn mennun nenne nnmnnn nnmnnn nennen 59 2 Weitere Besonderheiten der Gruppen ss sssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnmnnn nnmnnn 62 3 Seitennummer zur cksetzen usaa20000n nnn000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnen 64 4 Drill Down Gruppen u nee wanna nenne 64 5 ZEIIENNUMMEHIETUNG ascsssasssens nee a erinnere
80. as Band Daten 2 Ebene jedesmal beim Erstellen der fogenden Bandgruppe die mit dem Band Daten 1 Ebene verkn pft ist Die Fu zeile wird nach dem letzten Band ausgef hrt Durch Nutzung der Eigenschaft FooterAfterBach im Kontextmen Fu nach jeder Zeile kann man die Fu zeile nach jeder Datenzeile ausf hren Dies ist n tzlich bei Reporten des Typs Master Detail Das folgende Beispiel mit der aktivierten Eigenschaft FooterAfterEach beim Band Daten 1 Ebene wird wie folgt aussehen 1998 2009 FastReports Inc Reporterstellung 55 masterheader masterdata detailheader deta ldata detaildata detailfooter masterfooter masterdata detailheader detaildata detaildata detailfooter mastefooter 2 24 Mehrseitige Reporte FastReport ist in der Lage Reporte mit mehreren Seiten zu erstellen Jede Seite kann eigene Ma e Ausrichtung verschiedene Objekte und B nder enthalten Bei der Berichterstellung werden erst alle B nder der ersten Seite ausgef hrt dann die der zweiten Seite usw Wenn wir einen neuen Report im Designer erstellen enth lt er standardm ig eine Seite Sie k nnen eine neue Seite durch klicken auf den Button auf der Symbolleiste Standard ffnen oder indem Sie auf DateilNeue Seite gehen Jetzt zieht man im Designer einen neuen Tab 3 Code Data Pagel Page FU Ua BBLLELELELELELELETETELTLELTEELTELELELELELTEETELELELELEE Das Ausw hlen ist einfach
81. c 140 FastReport 4 6 Benutzerhandbuch Mit Hilfe der Bearbeiter der Ereignisse OnCalcWidth und OnCalcHeight kann man die Breite und H he der Zeilen Spalten steuern Zeigen wir das an einem Beispiel wir vergr ern die Breite der Spalte welche 11 Monat 1999 entspricht Hierf r erstellen wir Bearbeiter des Ereignisses OnCalcWidth Pascal script procedure Cross1lOnCalcWidth ColumnIndex Integer ColumnValues Variant var Width Extended begin if VarToStr ColumnValues 0O 1999 and VarToStr ColumnValues 1 11 then width 100 end C Script void CrosslOnCalcWidth int ColumnIndexs var ant ColumnValues Extended amp Width if VarToStr ColumnValues 0 1999 amp VarToStr ColumnValues 1 11 width 100 Das Resultat Um die Spalte zu verbergen reicht es aus Width 0 einzustellen Beachten Sie dass die Summen nicht neu berechnet werden da die Matrix schon mit Werten gef llt worden ist 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 141 7 9 Farbliche Hervorhebung der Werte The user can adjust width and height of the table s rows and columns using the OnCalcWi dth and OnCalcHeight events handlers Let us show how to increase width of the column which corresponds to the 11th month of 1999 by the following example To do this create the OnCalcWidth event s handler Pascal scrip
82. cell Datei WYSIWYG eine hundertprozentige bereinstimmung des u eren der Datei beim Export Wird d e Option deaktiviert so w rd eine Optimierung durchgef hrt bei welcher die Anzahl der Spalten und Zeilen in der resultierenden Date reduziert wird Hintergrund der Export der gew hlten Hintergrundfarbe Excell nach Export ffnen die Datei wird gleich nach dem Export mit Excell ge ffnet Besonderheit des Exportes RichText Objekte werden w e einfacher Text exportiert die bertragung von Grafiken wird nicht unterst tzt 1998 2009 FastReports Inc 226 FastReport 4 6 Benutzerhandbuch 14 5 6 14 5 7 Export ins CSV Format Die CSV Datei enth lt Werte in Form von Tabellen und diese sind so angeordnet dass jeder Wert n der Spalte vom Wert der folgenden Spalte durch Trennzeichen getrennt ist und jede neue Reihe beginnt in einer neuen Zeile Dieses Format kann in verschiedene Tabelleneditoren importiert werden Art des Exportes Tabellar sch Beim Export in das Format CSV wird ein Fenster mit den Einstellungen der zu exportierenden Datei angezeigt Exportieren als C5V Seitenbereich Alle O Aktuelle Seite Seitennummern undjoder Seitenbereiche durch komma getrennt eingeben z 6 1 3 5 12 Exporteigenschaften _ CEM Zeichensatz Trennzeichen _ Mach Export ffnen Exporteinstellungen OEM Zeichensatz Auswahl des OEM Zeichensatzes der CSV Datei
83. ch eine Spalte mit der Zwischensumme eines jeden Jahres eingef gt hat Diese Option ist ber den Editor des Cross tab Objekts erreichbar Man markiert das Element Year in der Spalte und setzt entfernt das H kchen bei Zwischensumme Zwischensieime Fa Ebenfalls kann man erw hnen dass das Zwischenergebnis beim untersten Element der Spalte fehlt auch falls es das einzige Element ist In unserem Beispiel sind die Zwischenergebnisse nach jedem Monat nicht n tig Betrachten wir eine weitere M glc hkeit der Darstellung der Zwischenergebnisse 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 131 7 6 In unserem Beispiel w re es besser statt Summe die berschrift Summe f r 2000 Dies ist einfach markieren Sie das gew nschte Objekt und schreiben Sie folgenden Text rein Summe f r Value Bei der Erstellung wird der Ausdruck Value durch den Wert aus der dar berliegenden Kopfzeile ersetzt e Grand Total Zellengr e In der vorhergehenden Grafik s eht man dass FastReport automatisch die Breite der Zellen anpasst und zwar so das die l ngsten Zeilen reinpassen In manchen F llen ist das nicht erw nscht da bei sehr langen Zeilen das Aussehen der Tabelle darunter leidet Was kann man in solch einen Fall machen Betrachten wir drei Beispiele der Steuerung der Gr enanpassung der Zellen Die erste Variante ist es einen Bruch der Zeile in den Text des Objektes
84. d Methoden der Engine verwendet kann man wahrhaft exotische Reporttypen erstellen Betrachten wir d e Eigenschaften und Methoden des Objekts Eigenschaft Beschreibung CurColumn Integer Die Nummer der aktuellen Spalte im Multispalten Report An diese Eigenschaft kann man einen Wert binden CurX Extended Die aktuelle Verschiebung der Koordinaten auf der X Achse An diese Eigenschaft kann man einen Wert binden CurY Extended Die aktuelle Verschiebung der Koordinaten auf der Y Achse An diese Eigenschaft kann man einen Wert binden DoublePass Boolean Standardm ig True wenn der Report Zweipass aktiviert hat Analog Report EngineOptions DoublePass FinalPass Boolean Standardm ig True wenn der zweite Durchgang eines Reports ausgef hrt wird 1998 2009 FastReports Inc 104 FastReport 4 6 Benutzerhandbuch PageHeight Die H he der zu druckenden Region in Pixel PageWidth Die Breite der zu druckenden Region in Pixel StartDate TDateTime Die Zeit des Startens des Reports Analog der Systemvariable lt Date gt StartT me TDateTime Die Zeit des Startes des Reports Analog der Systemvariable lt T me gt TotalPages Integer Anzahl der Seiten m Report Analog der Systemvar ablen lt TotalPages gt Im diese Variable nutzen zu k nnen muss der Report Zweipass aktiviert haben SecondScriptcal Boolean Standardm ig True wenn beim bertragen der l Objekte das Ereignis des Objekts wiederholt aufgeru
85. d das Passwort ein falls n tig Eine neue Verbindung kann ebenfalls erstellt werden indem man auf das Tab Data geht und in den Report die Komponente ADO Datenbank hinzuf gt 13 3 Assistent f r neue Tabellen Dieser Assistent erlaubt in einen bestehenden Report eine neue Datenquelle einzuf gen und zwar eine Tabelle Achtung zuerst muss eine Verkn pfung zur Datenbank im Men ReportlDaten hergestellt werden 1998 2009 FastReports Inc Assistenten 203 Verbindunges Assistent Tabelle Yerbindungstyp ausw hlen ACO Tabelle wt Tabelenname ausw hlen _ Datensatzfilter Im Fenster des Ass stenten m ssen S e den Namen der Tabelle ausw hlen Ebenfalls k nnen Bedingungen f r das Filtern eingegeben werden z B CustNo gt 2000 and CustNo lt 3000 Eine neue Tabelle kann ebenfalls erstellt werden indem man auf das Tab Data geht und die Komponente ADO Tabelle in den Report einf gt 13 4 Assistent f r neue Abfragen Dieser Assistent erlaubt in einen bestehenden Report eine neue Datenquelle einzuf gen und zwar eine SQL Abfrage Achtung zuerst muss eine Verkn pfung zur Datenbank im Men ReportlDaten hergestellt werden 1998 2009 FastReports Inc 204 FastReport 4 6 Benutzerhandbuch Verbindunes Assistent Abfrage Yerbindungstyp ausw hlen ADO Abfrage w SQL Abfrage select rom customers Im Fenster des Assiste
86. das Format A4 und ist 210x297 mm gro Die Parameter PageWidth PageHeight bestimmen die Gr e der Seite auf der der Druck erfolgt Diese st n der Regel kleiner als die eigentliche Seite Die Ma e der bedruckbaren Fl che der Seite werden ber die Eigenschaften LeftMargin TopMargs n RightMargin BottomMarsin gesteuert Die Eingabe der Ma e der bedruckbaren Fl che in Pixel erfolgt ber die Eigenschaften Engine PageWidth Engine PageHeight Das Parameter FreeSpace bestimmt d e H he der freien Fl che der Seite Enth lt die Seite das Band Seitenfu Page Footer so wird dessen H he beim Berechnen der H he durch FreeSpace ber cksichtigt Dieses Parameter n Pixel st die Funktion Engine FreeSpace Man muss hinzuf gen dass nach dem Anzeigen des n chsten Bandes der freie Platz auf der Seite abnimmt Auch dies ber cksichtigt FreeSpace beim Berechnen Wie erfolgt das Formieren der Seiten eines fertigen Reports Der Kern von FastReport f gt der Seite B nder hinzu solange es gen gend Platz f r das Band gibt 1998 2009 FastReports Inc Script 107 Reicht der Platz nicht aus wird das Band Seitenfu gedruckt falls vorhanden und eine neue Seite wird erstellt Wie oben erw hnt reduziert sich nach dem n chsten Band die freie Fl che Au erdem wird das folgende Band von der gegenw rtigen Position angezeigt die durch Koordinaten auf der X Achse und Y Achse definiert wird Die Steuerung er
87. dem eigentlichen Report eine Begr ung anzeigt indem wir eine Dialogform verwenden Starten wir ein neues Projekt in Delphi und legen folgende Komponenten auf die Seite TfrxReport TfrxDialogControls Durch einen Doppelklick auf die Komponente TfrxReport rufen wir den FastReport Designer auf und f gen in den Report eine Dialogform ein In die Form f gen wir die Objekte TfrxLabelControl TirxButtonControl ein ER Die Objekteigenschaften werden folgenderma en eingestellt TfrxLabelControl Caption Hello World TfrxButtonControl Caption OK Default True ModalResult mrOk Jetzt stellen wir die Eigenschaft der Dialogform BorderStyle bsDialog ein Wie man sehen kann haben die Steuerungselemente und die Dialogform denselben Satz der Eigenschaften wie auch die entsprechenden Elemente in Delphi 1998 2009 FastReports Inc 172 FastReport 4 6 Benutzerhandbuch 10 3 Nachdem wir die Einstellungen eingestellt haben kehren wir auf die Reportseite zur ck und f gen dort ein Objekt Text ein mit einem beliebigen Satz Starten wir nun den Report und sehen unsere Dialogform Hello YyYorld Wenn man auf OK geht wird der Report erstellt und angezeigt Schlie t man das Fenster mit X so wird der Report nicht erstellt So arbeitet der Algor thmus von FastReport ein Report wird nur durch klick auf OK erstellt Deshalb haben wir am Anfang die Eigenschaft ModalResult des Buttons gleich mr
88. den Report Triggerfish Slow Tr ggerfish 71 0 ength cm O30 napper CC D umber ategor 0 ed Emperor mz pez pak z X ength cm Wir sehen dass m ersten Fall das Objekt einen langen Text enth lt und deshalb auf zwe Zeilen verteilt wurde Das darunter liegende Objekt welches an das Feld Bio Length cm gebunden ist wurde nach unten verlagert Das geschah weil alle Objekte standardm ig die Eigenschaft Verschieben ShiftMode smAlways im Objektdesigner aktiviert haben Solche Objekte verschieben sich nach unten wenn ber ihnen ein dehnbares Objekt ist Objekt Text mit der aktivierten Eigenschaft Dehnen Die H he um welche das Objekt verschoben wird ist abh ngig von der St rke der Dehnung des oberen Objektes In unserem Fall ist dies jedoch nicht annehmbar da das Objekt Bio Length cm ebenfalls verschoben werden muss In FastReport gibt es ein spezielles Band hierf r das Child Band Dieses wird an das Hauptband angef gt und immer nach diesem ausgef hrt Machen wir das in unserem Report Bio Specie Bio Category Bio Comm Child hildi io Tengt Um das Band MasterData mit dem Child Band zu verbinden stellen wir im Objektinspektor die Eigenschaft Child ChildI ein Jetzt wird beim Drucken immer ein Child Band an das Hauptband angef gt 1998 2009 FastReports Inc Reporterstellung 49
89. der Zellenma e Diese Eigenschaft vergr ert d e Zelle auf d e gew nschten Ma e Die Eigenschaft AutoSize muss gleich True sein 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 149 NextCross Hinweis zum n chstem Cross tab Objekt wird rechts neben den Tabellendaten angezeigt NextCrossGap der Abstand zwischen zwei Tabellen 1998 2009 FastReports Inc Grafiken Diagramme Grafiken Diagramme 151 FastReport erlaubt es in den Report Diagramme einzuf gen Man verwendet daf r die Komponente TfrxChartObject aus den Komponenten von FastReport Die Komponente basiert auf der Bibliothek TeeChart welche im Komplekt Delphi enthalten ist Ebenfalls kann die Bibliothek TeeChartPro verwendet werden diese muss separat besorgt werden Betrachten wir die Erstellung eines einfachen Diagramms am Beispiel Dazu ben tigen wir die Tabelle country aus dem Komplekt der Demonstrationsdatenbank DBDEMOS Die Tabelle enth lt Daten ber ein Land dessen Fl che und Bev lkerung Name Area Population Argentina 2 771815 32 300 003 Bolivia 1 098 575 7 300 000 Erstellen wir ein neues Projekt in Delphi Wir legen auf die Form die Komponenten TTable TfrxDBDataSet TfrxReport und stellen diese wie folgt ein Tablel DatabaseName DBDEMOs TableName coutry db IrxDBDataSetl DataSet Tablel UserName Country Wir ffnen den Reportdesigner und verkn pfen hn
90. e das verlinkte Objekt und bertragen es nach vorne mit dem Befehl BearbeitenlNach vorne setzen 2 18 Datendruck in Form einer Tabelle Oft ist es notwendig den Report in Form einer Tabelle mit Umrandung darzustellen Ein Beispiel hierf r ist die Preisliste Um einen solchen Report in FastReport zu erstellen muss man lediglich die Umrandung der Objekte auf dem Band MasterData einschalten Betrachten wir ein paar Beispiele am einen Report mit Text Erstellen wir einen Report mit folgendem Aussehen Bio specie Bio Common Mame Bio Length Legen Sie die Objekte auf dem Band Seite an Seite und verkleineren die H he des Bandes auf ein Minimum Die erste und einfachste Tabellenart ist die mit einem vollst ndigen Rahmen Dazu m ssen bei jedem Objekt alle Rahmenlinien aktiviert werden 0020 Clown Triggerfish Sl 0030 Fed Emperor 0050 Die n chste Art der Umrandung sind nur horizontale oder vertikale Linien Man aktiviert dazu die ben tigten Linien Sol 20 Clown Triggerfish Su Sol Su Red Emperor ai gosi Giant Maori Wrasse 229 Sol Blue Angelfish a0 SU SU Lunartall Rockcod ol Um die u ere Umrandung der Tabelle zu machen muss man leicht das Erscheinungsbild des Reports ndern 1998 2009 FastReports Inc FastReport 4 6 Benutzerhandbuch FageHeader FageHeader1 r q a Bio Specie Bio Common Mame Bio Length ReportGSummary Rep ortSummaryl Wie ma
91. e Breite und die Position jeder Spalte an In unserem Fall reichen 2 Spalten aus die restlichen Einstellungen wird FastReport automatisch einstellen Die Begrenzungen der Spalten werden durch eine d nne vertikale Linie angezeigt Number Bio Specie Category i Bio Category r Il n u H Mame Pla Commor Mame Length cm Bio Length Das Erstellen des Reports wird auf folgende Weise durchgef hrt FastReport wird das Band Masterdata solange ausf hren solange es freien Platz auf der Seite gibt Dann wird nicht wie sonst eine neue Seite erstellt sondern eine neue Spalte auf dieser Seite und das Band wird dort oben fortgef hrt Jetzt werden alle Objekte an die Spaltebreite 1998 2009 FastReports Inc Reporterstellung 47 2 20 angepasst Dies geschieht solange bis die angegeben Anzahl der Spalten erreicht ist dann wird eine neue Seite erstellt und FastReport beginnt wieder mit der Anzeige der Daten ab der ersten Spalte Unser Report mit den zwei Spalten s eht dann so aus Mumber gg z20 Murmber 30140 Category Triggerfish Category Cod Mame Clown Triggerfish Mame Lingcod Length cm 50 Length cm 150 Number 300 SU Number 30150 Category Snapper Category Sculpir Mame Fed Emperor Mame Cabezon Length cm B0 Length cm gg Es gibt eine weitere M glichkeit die Spaltenanzahl anzugeben dies ist die Eigenschaft Columns bei alle Datenb ndern Hier kann man die Spa
92. ebenen Struktur Die erste Ebene sind Kategorien die zweite die Variablen selbst Die Einteilung in Kategorien wurde f r den Fall vorgenommen dass d e Liste der Variablen sehr gro ist In der Liste muss mindestens eine Kategorie enthalten sein sprich die Variablen k nnen nicht auf der obersten Ebene sein Au erdem werden Kategorien nur zur logischen Ordnung der Variablen verwendet und kommen nicht in den Report Deshalb achten Sie bei der Vergabe der Namen darauf das diese einzigartig sind Zwei gleiche Variablen in verschiedenen Kategorien sind nicht m glich Demonstrieren wir die Verwendung der Variablen am Beispiel Gehen wir davon aus das es zwei Datenquellen gibt Die Erste Kunden mit den Feldern CustNo u Name und zweite Auftr ge mit OrderNo und Date Wir k nnen mit den Feldern folgende Liste der Variablen erstellen Kunden Kundennummer Kundenname Auftr ge Auftragsnummer Auftragsdatum Kunden und Auftr ge sind zwei Kategorien ffnen wir nun den Variablen Editor und erstellen mithilfe der Buttons Kategorie Variable und Bearbeiten die ben tigte Struktur Um den DB Feldern die Variablen zuzuordnen w hlen Sie eine Variable auf der rechten Seite aus und klicken doppelt darauf Der Ausdruck erscheint nun unten im Fenster hier kann der Ausdruck auch manuell bearbeitet werden Die Kategorien m ssen nicht verbunden werden 1998 2009 FastReports Inc Reporterstellung 33
93. einen Wert in die Tabelle ein Betrachten w r am Beispiel w e man den Hintergrund der dritten Spalte hervorheben kann in unserem Beispiel sind es die Daten des November 1999 Wir markieren die Kreuztabelle und erstellen den Bearbeiter des Ereignisses OnPrintCell Pascal script procedure Cross1lOnPrintCell Memo TfrxMemoView RowIndex ColumnIndex CelllIndex Integer RowValues ColumnValues Value Variant begin if ColumnIndex 2 then Memo Color clRed end C Script void CrosslOnPrintCell TfrxMemoView Memo int RowiIndexs int ColumnIndexs int CellIndexs Variant RowValues Variant ColumnValues Var ant Value if S a ColumnIndex Memo Color clRed Wir erhalten folgendes Ergebnis 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 137 an from Cen poi Tas arerin o roo om W Um den Spaltenkopf hervorzuheben erstellen wir einen Bearbeiter des Ereignisses OnPrintColumnHeader Pascal script procedure Cross1lOnPrintColumnHeader Memo TfrxMemoView HeaderIndexes HeaderValues Value Variant begin if VarToStr HeaderValues 0 1999 and VarToStr HeaderValues 1 11 then Memo C0lor i amp lReqd end C Script void Cross1lOnPrintColumnHeader TfrxMemoView Memo Variant HeaderiIndexes Variant HeaderValues Variant Value if VarToStr HeaderValues 0 1999 amp amp VarTo
94. ektinspektor Falls die Gruppe nun nicht ganz auf die Seite passt so wird sie auf die n chste Seite bertragen Siehe Beispiel 1005 20 04 50 1059 24 02 09 1072 11 04 09 1050 05 05 59 1105 21 07 92 1150 06 05 94 1266 15 12 94 1200 25 12 94 1305 20 01 95 1006 06 11 94 1079 03 05 59 1998 2009 FastReports Inc 64 FastReport 4 6 Benutzerhandbuch 3 3 3 4 Manche Seiten haben zwar dadurch noch freien Platz so wird jedoch die Gruppe zusammengehalten Jetzt zu der Eigenschaft Neue Seite StartNewPage Diese erlaubt es dem Gruppenkopf jede Gruppe auf einer separaten Seite darzustellen Dies verbraucht zwar viel Platz ist aber manchmal notwendig Seitennummer zur cksetzen Die Gruppe hat die Eigenschaft Seitennummern zur cksetzen ResetPageNumbers im Kontextmen diese setzt die Seitenzahl nach dem Drucken zur ck Wozu braucht man das Gehen wir davon aus dass wir einen Report erstellt haben der Gruppen enth lt Der Gruppenkopf enth lt den Kundennamen die Gruppe und die Bestellungen des Kunden Der gedruckte Report soll nun dem Kunden bergeben werden jeder erh lt seine Seiten Nun bekommt einer z B die Seiten 50 51 52 und m chte wissen wo die restlichen Seiten geblieben sind Um solche Situationen zu vermeiden m ssen die Seiten jedes Kunden einzeln nummeriert werden d h innerhalb eines Reports wird jede Gruppe durchnummeriert Beachten S e beim Einstellen de
95. elche nicht mit den vorhandenen M glichkeiten des Kerns von FastReport bearbeitet werden k nnen Zum Beispiel das Verbergen von Daten in Abh ngigkeit von bestimmten Bedingungen Scripte werden ebenfalls verwendet zur Steuerung von Dialogformen die Komponenten des Reportes sind Scripte k nnen in einer der Sprachen geschrieben werden die die Scriptengine FastScript unterst tzt Bis zum heutigen Tag s nd es folgende PascalScript C Script BasicScript JScript Die Scriptengine FastScript besitzt folgende Eigenschaften ein sStandardsprachset Variablen Konstanten Prozeduren Funktionen Verschachtelungen m glich mit var ablen st ndigen standardm igen Parametern alle Standardoperatoren incl case try finally except with Typen ganz gebrochen logisch symbolisch Zeilen mehrdimensionale Reihen Mehrzahl Variante Klassen Methoden Ereignisse Eigenschaften Indizes und M glichkeiten der standardm i gen Voreinstellung die Erkl rungen der Typen records classes fehlen im Script es gibt keine Aufzeichnungen records Anzeiger pointers Mengen sets jedoch kann man den Operator IN a in a c d verwenden es gibt keinen Typ shortstring Sprunganwei sung GOTO berpr fung der Typenvereinbarkeit Zugang zu jedem Objekt des Reportes S e k nnen Scripte m FastReport Designer erstellen Dieser beinhaltet einen Scripteditor mit dem Hervorheben der Syntax Es g bt ebenfa
96. ellt werden Das Datenset muss ein Feld mit einem Namen enthalten welches mit dem Namen des Parameters bereinstimmt Die Eingabe des Typs des Parameters und dessen Wert sind nicht zwingend 11 1 4 TfrxADODataBase Diese Komponente dient der Verkn pfung mit der Datenquelle und die Funktion ist der Komponente Delphi TADOConnection hnlich Die Komponente besitzt folgende Eigenschaften Eigenschaft Beschreibung Wenn True dann wird die verbindung aktiviert Verbindungszeile zur Datenbank 1998 2009 FastReports Inc Zugangskomponenten zu den Daten 185 LoginPrompt Bestimmt ob eine Passwortanfrage erfolgen soll vor der Verbindung zur Datenbank Bestimmt ob eine Passwortanfrage erfolgen soll vor der Verbindung zur Datenbank Ist LoginPromt False so muss der Benutzername und das Passwort eingegeben werden 11 2 Reporterstellung Betrachten wir das Erstellen eines einfachen Reportes der Zugangskomponenten zu den Daten enth lt Als Daten verwenden wir die Demonstrationsdaten die in FastReport enthalten sind FR Demos Main demo mdb Am Anfang erstellen wir ein Projekt mit dem wir experimentieren werden Wir starten ein neues Projekt in Delphi und f gen die Komponenten TfrxReport TfrxDesigner TfrxDialogControls TirxADOComponents TADOConnection ein IE Form E m fx Schlie en Sie danach das Fenster mit OK stellen die Eigenschaften der folgenden Komponenten ein ADOConnectionl LoginProm
97. emo TfrxMemoView begin Band TfrxReportTitle Create Pagel Band Height 20 Memo TfrxMemoView Create Band Memo SetBounds 10 0 100 20 Memo Text This memo is created in code end C Script TfrxReportTitle Band TfrxMemoView Memo Band TfrxReportTitle Create Pagel Band Height 20 Memo TfrxMemoView Create Band Memo SetBounds 10 0 100 2U Memo Text This memo is created in code Wir starten den Report This memo is created in code Beachten Sie das die Objekte des Reports nicht zerst rt werden m ssen Dies ist 1998 2009 FastReports Inc 120 FastReport 4 6 Benutzerhandbuch nicht notwendig da FastReport diese automatisch zerst rt nachdem der Report fertig ist 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 122 FastReport 4 6 Benutzerhandbuch Dieser Art des Report hat eine Tabellenstruktur d h er besteht aus Zeilen und Spalten wobei man nicht genau we wieviele Zeilen und Spalten enthalten sein werden Deswegen w chst der Report nicht nur nach unten wie die schon betrachteten Reporttypen sondern auch zur Seite Ein typisches Beispiel eines solchen Reportes s eht so aus Schauen wir uns die Elemente der Tabelle an In der Grafik sehen wir eine Tabelle mit zwei Zeilen und vier Spalten Hier stellen a und b die Zeilenbezeichnungen 1 2 3 4 die Spaltenbezeichnungen und al a4 b1 b
98. en 2zu20002aan00nannn0nnnnnnunnnnnnnnnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnnn 128 4 SOrlieren der Welle ans a aa aa 129 5 Tabelle mit zusammengesetzten Kopfzeilen u uuusun22an00nnnannonnnnnnnnnnnnunnnnnnnnnnnnnn 129 6 Zelenog ee En E 131 7 Farbliche Hervorhebung der Werte 002u20002a0000nnan000nnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnunnnnnnnnn nun 133 8 Steuerung der Kreuztabelle aus dem Script euu2 22ua20000nnnnn0nonnnnnnnnonnnnnnnnnnn nun 135 9 Farbliche Hervorhebung der Werte uu 02220002an000nnnn00nnnnnnunnnnnnunnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnen 141 10 Manuelles Ausf llen der Tabelle uusu uu000022200000an000nannn0nnnnnnunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 142 11 Hinzuf gen von Objekten in die Tabelle eauru022u0000002nnn000nnnnnnnunnnnnnnnnnnnnnnnnnnnnn 144 12 Weitere n tzliche Einstellungen za222 22222000000nnn000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 146 Chapter VIII Grafiken Diagramme 151 1 Begrenzung der Anzahl der Werte im Diagramm auuu00n 0000nnnnnnennnnnn nun nun nenn nun 155 2 Weitere n tzliche Einstellungen eu aan 156 3 Chart with specified values 222 uu2u20000020nn000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 157 4 F llen des Diagrammes aus dem Script uusssnnannonnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnunnnunnnnnnnnen 158 5 Drucken von Diagrammen ers
99. en uns dass das Script richtig funktioniert Action Club Michael Spurling 513 0 0 0239 Action Ower Supply Marianne Miles 22 44 500211 Adventure Undersea Gloria Gonzales 011 34 09054 American SCUBA Supply Lynn Gincirpini 213 654 0092 Aquatic Drama Gillian Ower p13 442 7654 Sie k nnen einen Bearbeiter f r mehrere Ereignisse verschiedener Objekte bestimmen In diesem Fall Parameter Sender bestimmt das Objekt welches das Ereignis initialisiert hat analog dem Parameter Sender in den Ereignissen Delphi Um dem Ereignis den Namen eines schon bestehenden Bearbeiters zu geben kann dieser manuell im Objektinspektor eingetragen werden oder man kann ihn in der Drop Down Liste ausw hlen ebenfalls analog der Umgebung Delphi Mermnal TfrxMenovier a Properties Events On fterData OnAfterPrint OnBeforeFrint OnpreMasterDatal OnBeforePrint Der Link zum Bearbeiter kann leicht entfernt werden W hlen Sie die Eigenschaft aus und klicken auf Entf 1998 2009 FastReports Inc Script 97 6 11 Drucken der Endsumme der Gruppe im Gruppenkopf Dieser oft durchgef hrte Schritt ben tigt die Verwendung eines Scriptes In einem Standardreport st die Summe erst zug nglich nachdem alle Eintr ge der Gruppe bearbeitet wurden Um diese im Gruppenkopf darzustellen bevor die Gruppe bearbeitet wird verwendet man folgenden Algorithmus der Report muss Zweipass akt viert haben beim ersten Durchgang wird die
100. eports Inc 112 FastReport 4 6 Benutzerhandbuch Kauai Dive Shoppe A 1076 F 1123 1169 1176 1269 1023 Unisco 1160 1302 1275 1202 1173 E Wie man sieht ist nun die Navigation ber die Bestellnummern m glich Die Hierarchie der Elemente im Baum entspricht der Hierarchie der Elemente im Report Schauen wir uns die Erstellung eines analogen Baumes mit Hilfe eines Scriptes und ohne die Nutzung der Eigenschaft OutlineText Bereinigen wir die Eigenschaften OutlineText beider B nder und erstellen zwe Bearbeiter der Ereignisse GroupHeaderl OnBeforePrint und MasterDatal OnBeforePrint PascalS cript procedure GroupHeaderlOnBeforePrint Sender TfrxComponent begin Dutline LevelRoot Outline AddItem lt Group Company gt end procedure MasterDatalOnBeforePrint Sender TfrxComponent begin Outline AddItem lt Group OrderNo gt Outline LevelUp end begin end C Script void GroupHeaderlOnBeforePrint TfrxComponent Sender Outline LevelRoot Outline AddItem lt Group Company gt void MasterDatalOnBeforePrint TfrxComponent Sender Outline AddItem lt Group OrderNo gt Outline LevelUp 1998 2009 FastReports Inc Script 113 Starten wir den Report und vergewissern uns dass dieser analog dem vorherigen Report ist in dem der Baum automatisch erstellt wurde Sehen wir uns nun die Erstellung des Baumes an Die Meth
101. eports enth lt Diese sind mit einem Schloss markiert 1998 2009 FastReports Inc Reportnachfolge 193 ReportTitle ReportTiklei Our company Br email emal werma ll com Was bedeutet dies Diese Objekte k nnen nicht entfernt oder ver ndert werden Ebenfalls k nnen sie auch nicht auf ein anderes Band verschoben werden Alles andere kann bearbeitet werden Text Farbe Ma e Beachten S e jedoch wenn man eine nderung vornimmt z B Schriftfarbe bei einem Objekt mit einem Schlo so wird die nderung in diesem Report gespeichert Weitere nderungen im Basisreport werden nicht mehr f r das Objekt bernommen Wenn z B ein Objekt im Bas sreport wei ist und Sie ndern die Farbe im Nachfolgereport in rot so wird bei einer nderung der Farbe m Basisreport n gr n der Nachfolgereport trotzdem ein rotes Objekt enthalten H tten Sie die Farbe im Nachfolgereport nicht ver ndert so w re die nderung im Basisreport bernommen worden Dies gilt auch f r nderungen des Textes der Ma e und all der anderen Eigenschaften des Objektes Kehren wir nun wieder zu unserem Report zur ck Was w r noch machen m ssen ist den Seitekopf hinzuf gen und das Band mit den Daten ReportTitle FeportTitle 1 Our company L Eur email enal email comn FageHeader e Customer Phone Customers Company Customers Phone Der Report ist nun fertig 12 2 nderungen des Basisreports Betrachten
102. er automatisch so dass sich oben die B nder mit den berschriften danach die Datenb nder und darunter die Fu b nder befinden Jetzt verteilen wir Objekte In das Band Header f gen wir das Objekt Systemtext ein und in dessen Editor w hlen wir die Systemvariable DATE aus zur Erinnerung man kann das Datum auch mithilfe von gew hnlichem Text einf gen wenn man in dessen Editor den Text DATE einf gt In das Band ReportTitle f gen wir das Objekt Text ein der Hello enth lt Das Band PageFooter enth lt bereits jetzt schon das von uns gew nschte Objekt mit der Seitenzahl 1998 2009 FastReports Inc 24 FastReport 4 6 Benutzerhandbuch ReportTitle ReportTitlei 3 Hello L PageHeader FageHeaderi DATE PageFooter PageFooter 1 f Page Wenn wir den Report nun starten sehen wir dass die Objekte die gew nschte Anordnung haben Hello Also f r die richtige Anordnung der Objekte sind B nder verantwortlich Abh ngig von der Bandart kann sich das Objekt oben oder unten auf der Seite auf der ersten oder letzten Seite befinden Die B nder welche am meisten verwendet werden arbeiten auf folgende Weise 1998 2009 FastReports Inc Reporterstellung 25 2 7 2 8 Band Seitenkopf erscheint oben auf jeder Seite Band Seitenfu erscheint unten auf jeder Seite Band
103. erdarstellungen verwendet die zur Verwendung in Windows vorgesehen sind Es ist das Standardformat der Dateien f r Computer die Windows besitzen GIF Graphics Interchange Format Unabh ngig von der Hardware unterst tzt das GIF Format den Transfer von Bitmap Dateien in Netzwerken Dies erlaubt die hohe Komprimierung der Dateien welche viele gleichartige Inhalte besitzen Logos Aufschriften Pl ne TIFF TIF Target Image File Format ein unabh ngiges Format Eines der am weitverbreitesteten und zuverl ssigsten Formate in Polygrafie und im Faks mile bertragung von Informationen Art des Exportes Rendering Beim Export in eines der oben genannten Grafikformate wird ein Fenster mit den Optionen der Darstellung ge ffnet Exporteinstellungen Seitenbereich Alle Aktuelle Seite Seiten Seitennummern undlader Seitenbereiche durch komma getrennt eingeben z B 1 3 5 12 Einzelne Dateien Eildeinstellunger Schwarzi weiss _ Seiten zuschneiden JFES Qualit t bo Aufl sung dpi 1998 2009 FastReports Inc 230 FastReport 4 6 Benutzerhandbuch Exporteinstellungen Einzelne Dateien ist die Option aktiviert so wird jede Seite des Reports in eine separate Datei exportiert Der Name der Datei wird der gew nschte sein mit dem Zusatz der Unterstreichung und Seitenzahl Schwarz Weiss die Darstellung in Schwarz Weiss Seiten zuschneiden nach dem E
104. es Exportes ber E Mail es wird nur der plain der Autentifizierng auf SMTP Servern unterst tzt Wird die Authentifizierung nicht verlangt so m ssen die Felder Login und Kennwort n den Einstellungen nicht ausgef llt werden Vorschl ge zur Reporterstellung Es ist wichtig zu erw hnen dass die Qualit t des Exportes sehr stark von der Art der Erstellung der Maske abh ngig ist FastReport besitzt umfangreiche M glichkeiten zur Manipulation der Objekte bei der Herstellung der Reportmaske Dadurch besitzt man viele Vorteile bei der schnellen Generierung der Reporte und dem Druck dieser Das gedruckte Dokument wird genauso aussehen wie auf dem Monitor was auch das eigentliche Ziel des Reportgenerators FastReport ist Auf der anderen Seite dieser Freiheit 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 233 bei der Erstellung ist das komplizierte Exportieren des erhaltenen Dokumentes in verschiedene Formate Diese besitzen eigene oftmals gro e Beschr nkungen n der Darstellung der Daten In diesem Kapitel werden Vorschl ge gegeben bei der Erstellung der Reporte welche zum Export vorgesehen s nd Viele Formate verwenden tabellarische Darstellungen der Daten Vor allem sind es die Formate HTML XLS XML RTF und CSV Die berschneidungen und Schichtung der Zellen sind in diesen Formaten nicht zul ssig insbesondere HTML und RTF Im Gegensatz zu den Freiheiten beim Prozess der Maskeners
105. esigners ver ndert werden Am Gitter Beim Verschieben und ndern der Gr en der ausrichten Objekte werden die Koordinaten Ma st be sprungweise an die Abst nde des Gitters angepasst jag An Gitter anpassen Ver ndert die Ma st be Standorte der markierten Objekte so dass sie sich an das Gitter anpassen Bestimmt den Ma stab der Seite Gruppiert die markierten Objekte Gruppierung Die Gruppierung der markierten Objekte aufheben aufheben 1 3 3 Symbolleiste Text Kein Stil F Arial 0 BZ U HTA PS Kein Stil Stil Erlaubt die Auswahl des Stils Um diese zu bestimmen rufen Sie den Men punkt ReportlStile auf Arial Schrift Erlaubt die Wahl der Schrift Merkt sich die 5 zuletzt aufgerufenen 10 Schriftgr e Ver ndert die Gr e der Schrift Kann auch eingegeben werden B Fett Formatiert markierten Text Zahlen fett hebt die Formatierung auf wenn diese bereits fett formatiert ist 1998 2009 FastReports Inc Designer 7 Kursiv Formatiert markierten Text Zahlen kursiv hebt die Formatierung auf wenn diese bereits kursiv formatiert ist U Unterstrichen Unterstreicht markierten Text Zahlen hebt die Formatierung auf wenn diese bereits unterstrichen formatiert ist Schrifteinstellungen k nnen hier ver ndert werden n Auswahl der Farben der Schrift 57 Zeigt einen Dialog mit den Attributen der Hervorhebung des aus
106. estartet usw Hier kann man die Bedeutung des Parameters flags in Aggregatfunktionen aufzeigen In manchen Reporten ist ein Teil der B nder oder auch alle verborgen Wir wollen jedoch dass bei der Auswertung der Funktion alle Datenb nder ber cksichtigt werden In unserem Beispiel k nnen wir die Eigenschaft Visible bei dem Datenband deaktivieren Dieser wird nun nicht auf dem Bildschirm angezeigt Soll die Summe auch die Werte der verborgenen B nder enthalten so m ssen wir einen dritten Parameter in den Aufruf der Funktion einsetzen SUM lt Group ItemsTotal gt MasterDatal 1 Wir erhalten folgenden Report 1998 2009 FastReports Inc Sortierung Ergebnisse 69 51450 5 056436 261575 0 Bei dem Parameter flags 2 wird der kumulierte Wert nicht zur ckgesetzt Es wird eine Gesamtsumme gebildet Modifizieren wir den Aufruf der Funktion SUM lt Group ItemsTotal gt MasterDatal 3 Die 3 ist eine Kombination von 1 und 2 d h es werden auch die verborgenen B nder bearbeitet und es wird eine Gesamtsumme gebildet Im Endeffekt 51450 5 137094 4 3906 0 2 3 7 Ergebnisse der Seite und des Reportes Oft muss man im Report das Ergebnis der Seite oder des gesamten Reports darstellen Dies wird ebenfalls mithilfe der Aggregatfunktionen gemacht Sehen wir uns folgendes Beispiel an 1998 2009 FastReports Inc 70 FastReport 4 6 Benutzerhandbuch Grou
107. ets f r Report ausw hlen s ADORUEry I Bio Country Cross Customers i customers Customers Items Orders w Orders Farts Sales Report Kundenliste Unser zweiter Report wird wesentlich komplexer als der erste denn er wird Daten aus der Tabelle DB enthalten und zwar die Kundenliste einer Firma Hierf r nutzen wir die Demonstrationsdatenbank welche in Delphi enthalten ist DBDEMOS Erstellen wir ein neues Projekt in Delphi Auf die Seite legen wir TTable und stellen die Eigenschaften ein DatabaseName DBDEMOSs TableName Customer db Um mit die Tabelle aus FastReport arbeiten zu k nnen f gen wir die Komponente TfrxDBDataSet hinzu und stellen die Eigenschaft ein DataSet Tablel Jetzt legen wir auf die Form die Bas skomponente von FastReport TfirxReport auf Gehen wir in den Designer und klicken den Button Neuer Report FastReport erstellt nun automatisch eine leere Schablone mit den B ndern ReportTitle 1998 2009 FastReports Inc Reporterstellung 27 MasterData und PageFooter Um die Tabelle in FastReport sehen zu k nnen muss man deren Nutzung erlauben Wir w hlen den Men punkt ReportlDaten aus und markieren unsere Tabelle diese hat nun als einzige in der Liste ein H kchen Danach schlie en wir das Dialogfenster die Tabelle und deren Felder werden nun im Fenster Daten angezeigt Beginnen wir mit dem Erstellen des Reports In das Band
108. fen wird passiert beim bertragen des Objektes Text mit der aktivierten Eigenschaft SuppressRepeated Methoden Methode Beschreibung procedure AddAnchor const Text F gt einen Anker in die Liste der Anker Bud ein Genaueres folgt sp ter procedure NewColumn Erstellt eine neue Spalte im Multispalten Report Nach der letzten Spalte wird automatisch die Seite getrennt Erstellt eine neue Seite Seitentrennung procedure ShowBand Band TfrxBand Zeigt das Band mit dem eingegebenen Namen an Nach der Ausf hrung des Bandes verschiebt sich automatisch die Position CurY function FreeSpace Extended Zeigt die H he des restlichen freien Platzes auf der Seite an in Pixel function GetAnchorPage const Zeigt die Seitennummer an auf der sich Iren Bern Sarg der eingegebene Anker befindet 1998 2009 FastReports Inc Script 105 6 13 3 Objekt Outline Dieses Objekt stellt ein Steuerungselement Reporttree im Vorschaufenster dar g g UGA AAS ou Qu B Action Club 1014 1029 1035 1129 E Action Diver Supply 1039 E Adventure Undersea Order No 1014 BE 1017 Fart 1037 7612 Krypt 1074 1099 Order Mo 1029 BF 1117 Part 1137 1325 Regul N 5313 safet 1294 Mt gt Dieses Element zeigt die Baumstruktur des fertigen Berichtes an Beim Klick auf einen Knoten wechselt man auf die Reportseite mit der dieser verbunden ist Um den Baum darzustellen klickt man ent
109. folgt ber die Eigenschaften Engine CurX Engine CurY Nach dem Druck des n chsten Bandes erh ht CurY automatisch die H he entsprechend der des Bandes Nach dem Erstellen der neuen Seite ist CurY 0 CurX ver ndert sich nur bei Multispalten Reporten Die Eigenschaften Engine CurX Engine CurY sind nicht nur zum Lesen verf gbar sondern auch zum Schreiben Die B nder k nnen dadurch manuell verschoben werden indem man eines der Ereignisse nutzt Betrachten wir folgendes Beispiel Customers Company Kustomers Contact Customers Phone Man kann ihn folgenderma en drucken Action Club Michael Spurling o 13 0570 0239 Action Ower Supply Marianne Miles 22 44 500211 Adventure Undersea Gloria Gonzales 111 34 09054 American SCUBA Supply Lynn Cincirpini 213 654 0092 Aquatic Drama Gillian Owen p13 442 7654 Blue Glass Happiness Christine Taylor 213 555 1954 Die st das Resultat eines Scripts zugeteilt dem Ereignis OnBeforePrint des Bandes Pascals cript procedure MasterDatalOnBeforePrint Sender TfrxComponent begin Engine CurX Engine CurX D end C Script void MasterDatalOnBeforePrint TfrxComponent Sender Engine CurX Engine CurX 5 Durch Manipulation der Eigenschaft CurY kann man die B nder bereinander darstellen 1998 2009 FastReports Inc 108 FastReport 4 6 Benutzerhandbuch Das verantwortliche Script PascalS cript procedure MasterDatalOnBef
110. ge ffnet Besonderheit des Exportes damit der Export einwandfrei funktionieren kann ist das Vorhandensein von Excell auf dem PC unbedingt notwendig RichText Objekte werden wie einfacher Text exportiert die bertragung von Grafiken wird unterst tzt 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 225 14 5 5 Export in das XML Format XML Extensible Markup Language XML ist f r die Aufbewahrung von strukturierten Daten vorgesehen aber auch zum Austausch der Daten zwischen verschiedenen Programmen FastReport verwendet das Format XML zum bertragen der Daten in den Tabelleneditor Excell 03 und lterer Versionen Art des Exportes Tabellar sch Beim Export in das Format XML wird ein Fenster mit den Einstellungen der zu exportierenden Datei angezeigt Excel Export Seitenbereich Alle Aktuelle Seite Seitennummern undlader Seitenbereiche durch komma getrennt eingeben 2 5 1 3 5 12 Exporteinstellungen _ weiter WYSIWYG Seitenumbr che Hintergrund Excel nach Export ffnen Exporteinstellungen Weiter ununterbrochener Export Die Seiten und Tabellen werden exportiert ohne unterbrochen zu werden und der Ausblendung der Spaltenbezeichnungen diese werden nur auf der ersten und letzten Seite angezeigt Die Option ist sinnvoll bei gro en Dokumenten die zur weiteren Bearbeitung vorgesehen sind Seitenumbr che aktiviert Seitenumbr che in der Ex
111. genden Objekte berlagert Es w rde z B wie folgt aussehen Order Mo 1014 This s Teih Um die Objekte unter dem Objekt Unterreport darzustellen nutzen Sie das 1998 2009 FastReports Inc 82 FastReport 4 6 Benutzerhandbuch 5 4 Child Band Company Customers Company Child hildi That s right Dies gilt auch wenn man mehrere Unterreporte untereinander liegen sollen Option PrintOnParent Das Objekt Unterreport hat eine sehr n tzliche Eigenschaft und zwar PrintOnParent Diese ist standardm ig gleich False Normalerweise wird ein Unterreport in Form verschiedener B nder auf den Hauptreport dargestellt Das Band des Hauptreports welches das Objekt Unterreport enth lt hat jedoch keine Beziehung zu den B ndern des Unterreports Wird die Option PrintOnParent aktiviert so werden die B nder des Unterreports in dem Band welches das Objekt Unterreport enth lt eingef gt Man kann solch ein Band dehnbar machen und es kann neben dem Unterreport ein auf die gesamte H he des Bandes gedehntes Objekt gelegen werden 1998 2009 FastReports Inc Script 84 FastReport 4 6 Benutzerhandbuch 6 1 Script st ein in einer Sprache des h heren Niveaus geschriebenes Programm das ein Teil eines Reports ist Beim Start eines Reports wird ebenfalls auch Scripte gestartet Scripte erlauben eine Bearbeitung der Daten w
112. gesetzt 1998 2009 FastReports Inc 12 FastReport 4 6 Benutzerhandbuch Eine andere Anwendungsm glichkeit ist das Ausf hren von Berechnungen im ersten Durchgang und das Anzeigen der Resultate im zweiten Zum Beispiel wenn man in der Kopfzeile einer Gruppe eine Summe anzeigen lassen m chte die normalerweise erst am Ende der Gruppe berechnet und angezeigt wird Diese Arten der Berechnung sind mit der Nutzung der eingebauten Sprache FR verbunden Das H kchen bei Drucken wenn leer erlaubt es einen Report zu erstellen der keine Datenzeilen enth lt Wird diese Option deaktiviert so werden leere Reporte nicht erstellt Das Feld Passwort erlaubt die Eingabe des Passwortes welches beim ffnen des Reports abgefragt wird Die Steuerungselemente der zweiten Seite erlauben den Zugriff auf die Optionen der Vererbung Reporteinstellungen Allgemein Yererbung Beschreibung Yererbungseinstellungen Dieser Report ist ererbt von Basisreport O1 Sirmnple list fra w hle die Option Nicht ndern Basisreport abl sen O Yon Basisreport erben 35333 01 Simpie 1 fr3 10 FR3 100 Fr3 list Fr3 Ausf hrlicher ber die Vererbung werden wir uns in im Kapitel Vererbung der Reporte besch ftigen Hier sieht man von welchem Report der Aktuelle ererbt ist der Bas s Report kann abgetrennt werden dadurch wird der Report selbstst ndig nicht vererbt und auch kann ein Ausgew hlter beerbt
113. gew hlten Objektes Text auf gt Erlaubt die Textdrehung Richtet den Text links aus Ausrichtung Zentriert den Text zentriert Ausrichtung rechts Richtet den Text rechts aus Blocksatz Richtet den Text gleichm ig am linken und rechten Rand aus Ausrichtung oben J Richtet den Text am oberen Rand aus Ausrichtung mitte Richtet den Text gleichm ig am oberen und unteren Rand aus Ausrichtung unten Richtet den Text am unteren Rand aus 1 3 4 Symbolleiste Rahmen WE Leoben F gthinzwentfemt die Linie oben OB F gt hinzu entfernt die Linie unten E F gt hinzu entfernt die Linie links F gt hinzu entfernt die Linie rechts Alle F gt alle Rahmenlinien hinzu Rahmenlinien 1998 2009 FastReports Inc 8 FastReport 4 6 Benutzerhandbuch 8 Kein Rahmen Entfernt alle Rahmenlinien Aktiviert entfernt Schatten Ranmensi eraubecie Want des Rahmens 1 3 5 Symbolleiste Ausrichtungspalette E24 Ted mo a all Te Jausichung zenmen U ausrichung mine DT ee atsana nom O E IT 1998 2009 FastReports Inc Designer 9 1 4 Designer Optionen Um die Designeroptionen ver ndern zu k nnen nutzen Sie AnsichtlOptionen Desiener ptionen sitber TYp ar lle E Zentimeter cf sitter anzeigen Zoll zul _ Am Sitter ausrichten O Pixel Punkt Dialogformular Punkt Schriftarten Code Editor ar le 10 Memo Editor Gr
114. h Value gt 3000 I u I rn eenen Un nn nn nn nn nn nn nn J 2 E Salary Year Month Mear ame Grand Total ucita Total Name 0 o0 Eni 00 0 00 Schrift E _ Fett Kursiv T _ unterstrichen r Hintergrund xig Transparent u 2 Andere M Farbe E paas faia Mehr braucht man nicht Schlie en wir den Editor mit OK und starten den Report for 1999 or Z00 oo nof 3sool1snf1an 270m ofen on Ba I zum an Catherine 3000 3100 er m Em a m 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 135 Falls n tig kann man auf diese Weise die Spalten Zeilensummen hervorheben 7 8 _ Steuerung der Kreuztabelle aus dem Script Falls die visuellen M glichkeiten der Tabelleneinstellungen nicht ausreichen kann man das Script nutzen um Feineinstellungen des Tabellen u eren vorzunehmen Das Cross tab Objekt besitzt folgende Ereignisse OnAfterPrint Ereignis wird nach dem Druck der Tabelle aufgerufen OnBeforePrint Ereignis wird vor dem Druck der Tabelle aufgerufen OnCalcHeight Ereignis wird vor dem Berechnen der Zeilenh he der Tabelle aufgerufen Der Bearbeiter des Ereignisses gibt die eingegebene H he wieder oder 0 um die Zeile zu verbergen OnCalcWidth Ereignis wird vor dem Berechnen der Spaltenbreite der Tabelle aufgerufen Der Bearbe
115. h FageFooter Banda Der Script des Ereignisses ist folgender PascalS cript procedure PagelOnManualBuild Sender TfrxComponent var DataSet TfrxDataset begin DataSet MasterDatal Dataset DataSet r irst while not DataSet Eof do begin Engine ShowBand MasterDatal DataSet Next end end C Script void PagelOnManualBuild TfrxComponent Sender TfrxDataSet Dataset DataSet MasterDatal DataSet DataSet First while DataSet Eof Engine ShowBand MasterDatal DataSet Next Wenn wir den Report nun starten sehen wir das das Resultat sich nicht vom Standardreport unterscheidet Beachten Sie wie der Link zu Dataset funktioniert In unserem Beispiel haben wir das Band mit der Datenquelle verlinkt deswegen wird die 1998 2009 FastReports Inc Script 119 Zeile DataSet MasterDatal DataSet uns mit der Datenquelle verbinden Den Link zu der ben tigten Datenquelle kann man auch so erhalten Dataset Report GetDataSet Customers Selbstverst ndlich muss die uns interessierende Quelle in dem Report hinzugef gt werden in ReportlDaten 6 18 Das Erstellen von Objekten im Script Durch Nutzung des Scripts kann man dem Report neue Objekte hinzuf gen Zeigen wir das an einem kleinen Beispiel Wir erstellen einen neuen Report und f gen in die Hauptprozedur des Scripts folgendes ein PascalS cript var Band TfrxReportTitle M
116. h unten dann gegen ber aktiviert Salar Employee 1994 2000 2001 2002 Grand Total Ann 3 300 00p 2 00 00 100 00p 1 700 00p 10 800 00p Ben 3 900 00p 2 100 00p 1 800 00p 7 800 00p Catherine 6 100 00p 3 200 00p 9 300 00p Den 3 999 0 p 12 099 000p rand Total 43 300 00p 11 999 00p ODOR 3 s0000p 39 999 00p 2 Druckrichtung erst nach unten dann gegen ber deaktiviert 1998 2009 FastReports Inc 148 FastReport 4 6 Benutzerhandbuch Salar y 1999 2000 2001 2002 Grand Total Employee Ann 3 300 00p 2700 00p 5 100 00 1 700 00p 10 800 00p Ben 3 900 00 p 2 100 00p 1 800 00p 7 800 00p Catherine 6 100 00p 3 200 00p 9 300 00p Den 3 999 000p 12 099 000p rand Total 43 5300 00p 11 999 00p Jun nos 39 999 00p Die Option Kopf auf neuer Seite wiederholen bestimmt ob die K pfe der Tabelle auf jeder neuen Seite der Tabelle gedruckt werden sollen Die Option Zellen Seite an Seite wird verwendet wenn in der Zelle mehrere Ebenen vorhanden sind Die Option bestimmt ob die Zellen nebeneinander gedruckt werden sollen in einer Zeile oder untereinander Die Option Verbinde gleiche Zellen erlaubt zwei oder mehr Zellen in einer Zeile zusammenzufassen wenn sie dieselben Werte haben Hier ein Beispiel Weitere Einstellungen sind im Objektinspektor enthalten AddWidth AddHeight der freie Platz der hinzugef gt wird beim Berechnen
117. hten wir weitere Tabelleneinstellungen die uns n tzlich sein k nnen Alle diese Einstellungen s nd im Editor des Objektes erreichbar Zeige Titel Zeige R nder Spaltenkaopf Zeilenkopf Spaltengesamtsumme Zeilengesamtsumme sr e automatisch Umrahmung der zellen Oruckrichtung erst nach unten dann gegen be Kopf auf neuer Seite wiederholen zellen Seite an Seite _ verbinde gleiche Zellen Die obere Gruppe der Einstellungen zeigt oder verbirgt verschiedene Elemente der Tabelle Die Option Gr e automatisch haben wir schon kennen gelernt Diese deaktiviert die automatische Anpassung der Tabelle und erlaubt die manuelle Einstellung 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 147 Die Option Umrandung der Zellen f gt u ere Rahmenlinien den Zellen hinzu Man kann damit einen Rahmen um den kompletten Zellenblock machen nicht um die Tabelle Hier ein Beispiel alle Rahmenlinien bis auf den u eren Rahmen sind deaktiviert Salary Year Mame 1999 2000 2001 2002 Grand Total Ann 200 3100 1700 10800 Ben 2100 1800 rog Catherine a200 g a00 Den 3999 8100 12099 Grand Total 13300 11999 11200 3500 19g Die Option Druckrichtung erst nach unten dann gegen ber steuert die Verteilung einer gro en Tabelle auf mehrere Seiten Hier ein Beispiel einmal mit der akt vierten Option und einmal ohne beachten Sie die Nummerierung der Seiten 1 Druckrichtung erst nac
118. i vorhanden damit diese korrekt angezeigt wird Wo es diese Schriften nicht gibt erh ht sich die Gr e der ausgehenden Datei enorm Hintergrund der Export der Grafiken die die Seite in PDF enth lt erh ht die Gr e der 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 221 Date erheblich Druckoptimiert die Grafiken werden in hoher Aufl sung dargestellt um beim Druck korrekt angezeigt zu werden Diese Option ist sinnvoll wenn das Dokument Grafiken enth lt und deren Druck unbedingt notwendig ist Die Gr e der ausgehenden Datei wird auch hier erh ht Lesezeichen diese Option ist aktiv wenn der Report den Reporttree enth lt Beinhaltet die M glichkeit des Exportes des Trees in das PDF Dokument Nach Export ffnen die PDF Datei wird gleich nach dem Export mit dem Programm der Betrachtung der PDF Dateien z B Adobe Acrobat Reader ge ffnet Besonderheit des Exportes RichText Objekte werden wie Grafiken exportiert 14 5 2 Export in das Format Open Dokument OpenDocument Format ODF Abk rzung f r OASIS Open Document Format for Office Application ist ein offenes Dateienformat zur Speicherung und den Austausch von Office Dokumenten einschlie lich von Textdokumenten z B Notizen Berichten oder B chern elektronischen Tabellen Grafiken Datenbanken Pr sentationen Dieser Standard wurde im Unternehmen OASIS entwickelt und basiert auf dem XML Format Die
119. iagonale Linie Z O Rechteck I Abgerundetes Rechteck CD Ellipse A Dreieck lt gt Raute rennen micht Duplex dmMon GA EndlessHeight C Fals Endlesswidth C Fals Jetzt erstellen wir ein Script das die n tige Anzahl der Rechtecke einf gt und diese in der gew nschten Farbe anzeigt W hlen Sie die Zelle an und erstellen einen Bearbeiter des Ereignisses OnBeforePrint OnAfterPrint On eforefrint MERE OnPreviewClic B 2 14 Im Bearbeiter schreiben wir folgendes beachten Sie Objektbezeichnungen die Objekte in der Tabelle haben genau die Namen procedure DBCross1cCell0OnBeforePrint Sender TfrxComponent begin Value aktueller Wert der Zelle if Value lt 100 then 1998 2009 FastReports Inc 146 FastReport 4 6 Benutzerhandbuch begin das ist das erste Objekt DECr ss Object 1 Color 1s elM rson 7 7 or das ist das zweite Objekt DBCrosslObject2 Color clWhite das ist das dritte Objekt DBCross1lObject3 Color clWhite end else if Value lt 3000 then begin DBCrosslObject1 Color SO0OCCFF gelb DBCr68s16bJect 2 Celeor i FRUOITEEF DBECr ss1l0b jeetE3 Coler t clWnite end else begin DECrosslOBJecet L Colosr i SIE 7 gr n DBCrsssrobJjeet2 Color i 3055 DBCross10bJject3 Color i 3005C98 end end Wenn wir den Report nun starten sehen wir die am Anfang gezeigte Tabelle 7 12 Weitere n tzliche Einstellungen Betrac
120. ide Tabellen besitzen das Feld CustNo ber welches sie verbunden werden Durch das R berziehen des Feldes CustNo von der einen Tabelle in die andere erstellen wir die Verkn pfung 1998 2009 FastReports Inc 210 FastReport 4 6 Benutzerhandbuch RIESE L arte EEk BH alx7y SOL Result E customer c WE Company widestrirg C Addr idestring C Addr2 idestring C city widestring State widestring C Zip wideString Country OideString Phone wideString C FAx widestring TaxRate Float Contact Owidestring Collumr o yisible where orders o JE A OrderNo Flaat F ee Salebate DateTime Shipbate DateTime Empo Integer ShipToClontact Wide C ShipTo ddr1 widestr C ShipTo ddrz wideStr C ShipTotity twideStrin C ShipToState Widestri C ShipTozip WideStrirg C ship Tolauntry wide Funckion Group 1 biolife T country T crosstest T currency _guoking Th customer Ta customer _query Th emplovee Ta items Ta MSysAccessObjects Ta MSys ccessamML 1 M5SysACEs Th MSysIMEs Columns LA MSysIMEXSpecs T MSys bjects Ta MaysQueries Ta MSysrelationships T nextcust T nextikern Ta nextord orders a parts T unicode Th vendors Jetzt m ssen die Felder markiert werden die die Abfrage enthalten sollen Diese sollen anhand des Feldes CustNo sortiert werden Setzen S
121. ie dazu H kchen an die Felder in beide Tabellen und auch das Feld Custno in der Tabelle Customer Im Fenster unten erscheinen nun die von uns ausgew hlten Felder und es muss die Art der Sortierung f r das Feld CustNo ausgew hlt werden Collurri _usc lo Yisible Function Die Abfrage ist nun fertig und sieht wie folgt aus ar up 1998 2009 FastReports Inc Assistenten R Pe aaktop SOL SELECT c 0 c CcustNo FROM customer INHER JOUIN orders o 0H ORDER BY c c custMo ic CustMoso custMo 211 1998 2009 FastReports Inc Betrachten Drucken Export des Reports Betrachten Drucken Export des Reports 213 Der fertige Report kann auf dem Bildschirm betrachtet ber einen Drucker gedruckt oder in ein unterst tzendes Format exportiert werden Das alles kann im Vorschaufenster machen L Preview EB Die Zahlen bedeuten 1 Seiten des fertigen Reportes 2 Instrumentenleiste 3 Statusleiste 4 Seitenpanell Hier wird entweder der Reporttree angezeigt wie in der Grafik oder Vorschau der Seiten Die Instrumentenleiste besitzt folgende Buttons a g h4 AeH gias gA leE a Druckt den Report Tastaturbefehl Strg P a o Speichert einen Report fp3 1998 2009 FastReports Inc 214 FastReport 4 6 Benutzerhandbuch Export des Reportes in ein unterst tztes Forma
122. ieren wir diese Damit der Text aus dem Objekt Bio Notes in das untere Objekt r berfliest muss man beim Objekt Bio Notes die Eigenschaft FlowTo einstellen Diese Eigenschaft ist Objektinspektor enthalten und ist eine Drop Down Liste Aus dieser Liste w hlt man nun den Namen des unteren Objekts Das Ergebnis sieht w e folgt aus Fishes Clown Triggerfish Also known as the big spotted triggerfish Inhabits outer reef areas and feeds upon crustaceans and mollusks by crushing them with powerful teeth They are voracious eaters and divers report seeing the clown tr ggerfish devour beds of pearl oysters Do not eat this fish According to an 10970 account the poisonous flesh acts primarily upon the newous tissue ofthe stomach occasioning violent spasms of that organ and shortly afterwards all the muscles ofthe body The frame becomes rocked with spasms the tongue thickened the eye fixed the breathing laborious and the patient expires in a paroxysm of extreme suffering Bei der Erstellung des Reports wird wenn der Text nicht komplett ins obere Objekt passt der Rest des Textes ins untere bertragen Da die Objekte um die Grafik angeordnet sind wird der Text um die Grafik flie en Achtung um korrekt funktionieren zu k nnen muss das Hauptobjekt vor dem 1998 2009 FastReports Inc Reporterstellung 43 verlinkten eingef gt werden Wenn Ihr Report nicht richtig funktioniert markieren Si
123. ine Ebene h her mit Hilfe von Outline LevelUp Das Ereignis der Seite OnManualBuild Normalerweise bernimmt die Erstellung des Reports der Kern von FastReport Dieser f hrt die B nder in einer bestimmten Reihenfolge aus und zwar solange es Daten gibt und bildet dadurch den fertigen Report Manchmal ist es notwendig einen Report zu erstellen welcher nicht die Standardform besitzt und deswegen nicht vom Kern FastReport gebildet werden kann In diesem Fall kann man die M glichkeit nutzen den Report manuell zu erstellen durch Nutzung des auf der Seite enthaltenen Ereignisses OnManualBuild Wenn man den Bearbeiter dieses Ereignisses definiert so bergibt FastReport die Steuerung bei der Erstellung ihm Gleichzeitig stellt der Kern die auf der Seite enthaltenen B nder Gruppenkopf Spaltenkopf Fu Seitenfu Spaltenfu und Background dar Der Kern bearbeitet die Bildung neuer Seiten Spalten Die Aufgabe des Bearbeiters des Ereignisses OnManualBuild ist die Ausf hrung der Datenb nder und deren K pfe und F e in einer bestimmten Reihenfolge Der S nn des Bearbeiters OnManualBuild besteht dar n dem Kern von FastReport die Befehle zu Ausf hrung bestimmter B nder zu geben Alles andere erledigt der Kern selbstst ndig die Bildung einer neuen Seite wenn die aktuelle endet die Ausf hrung von Scripten usw Demonstrieren w r das Ganze am Beispiel deines einfachen Bearbeiters Der Report enth l
124. isch hervorheben Zwar kann man dazu auch das Hervorheben unter bestimmten Bedingungen verwenden aber das reicht nicht immer aus Betrachten wir ein Beispiel Jeder Wert in den Zellen soll zus tzlich einen kleinen Balken erhalten welcher die H he des Gehaltes anzeigt Wir erhalten folgendes zum 2500 mm A D0 mam 3100 m 1700 10500 zum 900 mm 2100 m 1500 Yoll mmm Gill mam 5200 m m a300 m manm 5999 mmm 6100 m 12099 13300 11999 11200 3500 39999 In rot werden Werte unter 100 angezeigt in gelb die weniger 3000 und in gr n die Werte ber 3000 Fangen wir mit der Erstellung des Reports an Legen wir das Objekt Datenbank Cross tab Objekt auf das Blatt und stellen es wie folgt ein Cross tab Struktur Salary t Summe oo po oo Jetzt stellen wir das Erscheinungsbild ein Hierzu w hlen wir eine Farbe f r die K pfe ndern die englischen Bezeichnungen n deutsche Gehalt Mitarbeiter Jahr Summe und deaktivieren die Eigenschaft Gr e automatisch AutoSize Als Resultat erhalten w r folgende Tabelle 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 145 Nun f gen wir die Elemente in die Tabelle ein die den Balken darstellen sollen W hlen Sie Zeichnen Rechteck im Objektenpanell aus und legen diesen in die Zelle Ne Diagonale Linie a Diagonale Linie Diagonale Linie D
125. ist Add FloatToStr SUM lt Group ItemsTotal gt MasterDatal 4 An dem Namen der Prozedur kann man sehen welches Ereignis w r verwendet haben Report OnStartReport Report OnStopReport Pagel OnBeforePrint GroupHeaderl OnBeforePrint GroupFooterl OnBeforePrint Was die beiden ersten Ereignisse angeht so werden diese am Anfang und am Ende eines Reports aufgerufen Um die Bearbeiter f r diese Ereignisse zu erstellen markieren wir das Objekt Report im Fenster Reporttree Die Eigenschaften erscheinen dadurch im Objektinspektor Den Rest erledigen wir wie gewohnt indem wir auf den Tab Ereignisse des Inspektors gehen und die Bearbeiter erstellen Wieso haben wir f r die Erstellung der Liste List nicht die Hauptprozedur benutzt sondern haben es im Ereignis OnStartReport gemacht Weil das erstellte Objekt nach dem Vollenden des Reports befreit werden muss Logischerweise ist es besser die Objekte im Ereignis OnStartReport zu erstellen und im OnsStopReport zu befreien In anderen F llen wenn der Speicher nicht befreit werden muss kann man die Hauptprozedur verwenden um Variablen zu initialisieren Das Erstellen und das Befreien des Objektes List haben w r gekl rt Lassen S e uns nun die Arbeitsweise des Scripts betrachten Am Anfang der Seite wird der Z hler der laufenden Gruppe Variable auf O gesetzt und wird um 1 erh ht nach jeder neuen Gruppe im Ereignis GroupFooter1 OnBeforePrint Ebenfalls
126. ite wechseln ndert s ch die Arbeitsfl che Hier k nnen nun Objekte eingef gt werden die die Steuerungselemente darstellen Ld FastReport Untitled fr3 ee Bearbeiten Report Ansicht Hilfe Dsusa a anule anja ejm mm AA E e e eala I Taa 07 BZU T AX M all I k Code Data Pagei DialogPagei 100 63 ee en gt 00 HJ Report T Data l ia 3 Pagel E DialogPage1 OK BPIORL RHEIN HoRB NE gt Ur 10 1 Steuerungselemente Die Steuerungselemente der Dialogseiten werden durch die Verwendung der Komponente TfrxDialogControls 3 verkn pft aus dem Komponentenset FastReport Es reicht aus die Komponente auf eine beliebige Seite des Projektes zu legen oder n die Liste uses frxDCtrl einzuf gen Es werden dann folgende Steuerungslemente hinzugef gt 1998 2009 FastReports Inc 170 FastReport 4 6 Benutzerhandbuch A TfrxLabelControl Dieses Steuerungselement wird verwendet um Hilfstexte auf der Dialogform anzuzeigen TfrxEditControl Mit Hilfe des Steuerungselementes wird eine Textzeile mithilfe der Tastatur eingef gt TfrxMemoControl Mit Hilfe des Steuerungselementes werden mehrere Textzeilen mit Hilfe der Tastatur eingef gt Dieses Element stellt ein H kchen dar im aktivierten deaktivierten Zustand Neben dem H kchen wird e n Hilfstext angezeigt TfrxRad oButtonControl Dieses Element stellt einen Umschalter mit einer abh ngigen Fi
127. iter des Ereignisses gibt die eingegebene Breite w eder oder O um die Spalte zu verbergen OnPrintCell Ereignis wird vor dem Anzeigen der Zellen der Tabelle aufgerufen Der Bearbeiter kann das Format und den Inhalt ndern OnPrintColumnHeader Ereignis wird vor dem Anzeigen der Spaltenk pfe der Tabelle aufgerufen Der Bearbeiter kann das Format und den Inhalt der Spaltenk pfe ndern OnPrintRowHeader Ereignis wird vor dem Anzeigen der Zeilenk pfe der Tabelle aufgerufen Der Bearbeiter kann das Format und den Inhalt der Zeilenk pfe ndern In den Ereignissen kann man folgende Methoden des Cross tab Objektes verwenden Methode Beschreibung function ColCount Integer Z hlt die Anzahl der Spalten in der Tabelle Z hlt die Anzahl der Zeilen in der Tabelle 1998 2009 FastReports Inc 136 FastReport 4 6 Benutzerhandbuch function IsGrandTotalColumn Index Integer Boolean function IsGrandTotalRow Index Integer Boolean function IsTotalColumn Index Integer Boolean function IsTotalRow Index Integer Boolean procedure AddValue const Rows Columns Cells array of Variant Zeigt True an falls die angegebene Spalte eine Summenspalte ist Zeigt True an falls die angegebene Zeile eine Summenzeile ist Zeigt True an falls die angegebene Spalte eine Spalte mit Zwischensummen ist Zeigt True an falls die angegebene Zeile eine Zeile mit Zwischensummen ist F gt
128. l F gen wir in die Reportseite das Objekt Text ein Der Name soll MyTextObject lauten und als Text soll dort Test stehen Wir schreiben das Script PascalS cript begin MyTextObject Color clRed end C Script MyTextObject Color clRed Starten w r den Report und sehen dass das Objekt rot geworden ist 1998 2009 FastReports Inc Script 91 6 5 Zugriff auf Variablen aus der Liste der Reportvariablen Im Script kann man auf jede Variable zugreifen die n der Liste der Reportvariablen enthalten ist Men punkt ReportlVariablen Der Name der Variablen muss dabei in spitze Klammern gesetzt werden PascalS cript if lt my variable gt 10 then C Script if lt my variable gt 10 Eine alternative Variante ist die Verwendung der Funktion Get PascalS cript if Get my variable 10 then C Script if Get my variable 10 Die nderung des Wertes dieser Variablen kann man nur mithilfe der Prozedur Set PascalS cript Set my variable 10 C Script Set my variable 10 Man muss anmerken dass das Hinzuf gen der Zeilenbedeutung zus tzliche Klammern erfordert PascalS cript Set my variable Zeile C Script Set my variable MtzZeile Analog kann man auch auf Systemvariablen wie Page zugreifen 1998 2009 FastReports Inc 92 FastReport 4 6 Benutzerhandbuch
129. lklick linke Aufruf des Objekteditors Der Doppelklick auf eine leere Maustaste Stelle der Seite ruft das Dialogfenster Seiteneinstellungen auf Scrollen der Seite Shift Linke Ist das Objekt bereits ausgew hlt so wird d e Auswahl Maustaste aufgehoben Die Auswahl der anderen Objekte ist dadurch nicht betroffen Ctrl linke Maustaste Beim Dr cken und Verschieben der Maus wird ein Rahmen gezogen beim Loslassen werden alle Objekte hervorgehoben die n dem Rahmen liegen Alt linke Maustaste Ist das Objekt Text hervorgehoben so wird der Inhalt bearbeitet 1 3 _Symbolleisten 1 3 1 Designersymbolleiste Die Designerleiste ist mit der Objektleiste verbunden und besitzt folgende Buttons Auswahlwerkzeug Standardansicht in dem man mit dem Mauszeiger Objekte anw hlen deren Gr en ver ndern kann USW Y Hand Das Berichtsblatt kann bei gedr ckter Maustaste verschoben werden 1998 2009 FastReports Inc Designer 5 Das einmalige Dr cken der linken Maustaste vergr ert den Ma stab um 100 die rechte Maustaste verkleinert um 100 Durch Dr cken Halten der linken Maustaste wird beim Ziehen der ausgew hlte Bereich vergr ert T Texteditor Das Klicken auf das Objekt Text erlaubt den Inhalt direkt auf der Seite zu bearbeiten Beim Dr cken Halten der linken Maustaste wird beim Ziehen in dem ausgew hlten Bereich das Objekt Text gebildet und dessen Edit
130. lls einen eingebetteten Debugger mit folgenden Funktionen Step Breakpoint Run to cursor Evaluate Erste Schritte Die Tools um mit Scripten zu arbeiten befinden sich im Tab Code des Designers von FastReport So s eht der Bildschirm aus beim Umschalten auf den Tab 1998 2009 FastReports Inc Script 85 R FastReport Untitled fr3 Datei Bearbeiten Report Ansicht Hilfe EEE aM 9 Bu u alla Ill k Code Data Pagei T Data FE Customers i O Daten L Orders Customers 7 Group E Custo Fagel 2 ReportTitel Data TfrxDataPage Eigenschaften Ereignisse TFont E Country 1000 E Phone Data E Fax 1000 E TaxRate El Contact DER E E LastInvoicebDate ua Orders E Group Month not accessible ame StartDay not accessible er Mame des Objekts Erzeuge Feld w Erzeuge Beschriftung Mach Name sortieren Die Zahlen bedeuten 1 Tab Code 2 Fenster des Scripteditors 3 Drop Down Liste der Scriptsprachen 4 Toolbar des Debuggers Script ausf hren F9 Gehe zur Cursorposition Run to cursor Einzelne Anweisung Step into 4 Script beenden El Auswerten Evaluate Haltepunkt umschalten 5 Fenster Watches zur berwachung der Variablen 6 Lesezeichen bookmark und Unterbrechungspunkte breakpoint werden in diesem Feld angezeigt ebenso werden Zeilen die den ausf hrenden
131. llung im Objekt CharSpacing P xelabstand zwischen den Symbolen 1998 2009 FastReports Inc Reporterstellung 21 GapX GapY Pixelabstand des Textes von der linken und oberen Grenze des Objekts LineSpacing Zeilenabstand in Pixel ParagraphGap Abstand der ersten Zeile des Paragraphen in Pixel 2 4 HTML Tags im Objekt Text Ja dieses Objekt versteht einige einfache HTML tags Tags k nnen innerhalb des Textes m Objekt angelegt werden Diese sind von vornherein abgestellt und m ssen erst aktiviert werden dazu klicken Sie im Kontextmen des Objekts auf HTML Tags erlauben oder aktivieren die Eigenschaft AllowHTML Tags im Objektinspektor Hier eine Liste der unterst tzten Tags lt b gt fetter Text lt 1 gt kursiver Text lt u gt unterstrichener Text lt strike gt durchgestrichener Text lt sub gt unterzeiliger Text lt sup gt Text oberhalb der Zeile lt font color gt Schriftfarbe lt nowrap gt der Text wird nicht wie bei WordWrap getrennt sondern komplett bertragen Demonstrieren wir die Anwendungen der Tags an Beispielen text lt b gt fetter Text lt b gt lt i gt kursiver Text lt i gt lt b gt lt i gt fett und kursiv lt b gt lt i gt E mc lt sup gt 2 lt sup gt A lt sub gt 1I lt sub gt B lt sup gt 2 lt sup gt ein gew hnlicher Text lt font color red gt und dieser ist rot lt font gt ein gew hnlicher Text lt font
132. ln Man kann auch anders vorgehen und die Spalte anhand der Daten ermitteln wir ben tigen den 11 Monat 1999 Pascal script procedure Cross1lOnPrintCell Memo TfrxMemoView RowIndex ColumnIndex CelllIndex Integer RowValues ColumnValues Value Variant begin if VarToStr ColumnValues 0 1999 and VarToStr ColumnValues 1 11 then Memo Color clRed end C Script void Cross1lOnPrintCell TfrxMemoView Memo int RowIndexs int ColumnIndexs int CelllIndex Variant RowValues Variant ColumnValues Variant Value if VarToStr ColumnValues 0 1999 amp amp VarToStr ColumnValues 1 11 Memo Color clRed Die Werte die in den Parametern RowValues und ColumnValues sind Reihen des Types Variant mit einer Nullbasis Das Nullelement ist der Wert der obersten Ebene im Tabellenkopf das erste Element der Wert der n chsten Ebene usw In unserem Fall ist ColumnValues 0 die Jahre und ColumnValues 1 die Monate 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 139 Wozu ben tigt man VarToStr Dies garantiert die Fehlerfreiheit bei der Konvertierung der Typen Bei Operationen des Typs Variant versucht FastReport die Zeilen automatisch im Format Zahl darzustellen In unserem Fall w rde das zu einem Fehler f hren wenn die Werte der Spalten Total und Grand Total angezeigt werden sollen Der Bearbeiter des Ereignisses OnPrintColum
133. ltenanzahl des einzelnen Bandes eingeben und nicht f r die ganze Seite wie im folgenden Beispiel Die Daten hier werden nicht von oben nach unten und dann von links nach rechts angezeigt sondern von von links nach rechts und dann von oben nach unten In unserem Beispiel deaktivieren wir die Spalten der Seite die Anzahl auf 1 und stellen 2 bei der Eigenschaft Columns des Bandes ein FastReport zeigt mit einer gestrichelten Linie die Spaltengrenzen an Durch ndern der Eigenschaft ColumnWidth Breite der Spalte erhalten wir die ben tigten Ma e Number Bi Specie Category 10 Category io Common Mame Bi Length L L m L m r 1 J 1 m Length cm Ein auf diese Weise erstellter Bericht unterscheidet sich von dem vorherigen dadurch dass die Daten von links nach rechts und dann erst von oben nach unten angezeigt werden Child B nder Betrachten w r den Fall dass eine Zeile im Report des Types Etikette eine variable Gr e besitzt Um diese Situation in unserem Beispiel zu simulieren verkleinern wir die Gr e des Objektes Bio Common Name auf 2 5 cm und aktivieren wir die Option Dehnen Ebenfalls aktivieren wir diese Option bei dem Band MasterData Um 1998 2009 FastReports Inc 48 FastReport 4 6 Benutzerhandbuch das Prinzip des Dehnens besser darstellen zu k nnen aktivieren wir alle Rahmenlinien Wir erhalten folgen
134. man relativ einfach dem Report ein moderneres Aussehen verpassen indem man z B jede zweite Zeile hervorhebt Machen wir das am Beispiel des Reports Liste welchen wir in dem hervorgehendem Kapitel erstellt haben Am Anfang f gen wir die B nder ReportTitel und Masterdata in das Blatt ein Auf das Datenband legen wir ein Objekt Text und dehnen es auf die komplette Breite des Bandes ReportTitle Bandi Customers AE Dieses Objekt hat die Rolle einer Unterlage und wird die Farbe ndern abh ngig von der Nummer der Datenzeile Heben wir das Objekt hervor und stellen im Editor folgende Bedingung ein lt Line gt mod 2 l Achtung falls Sie die Scriptsprache C Script benutzen s h Kapitel Script m ssen Sie auch die Bedingung in C Script verfassen lt Line gt 2 Wir w hlen die Farbe Grau diese jedoch heller Jetzt k nnen auch die anderen Objekte auf das Datenband gelegt werden 1998 2009 FastReports Inc FastReport 4 6 Benutzerhandbuch ReportTitle Bandi Hustomers Company Fustomers Phone Lustomers FAs Da die eingef gten Objekte auf der Unterlage liegen kann man die nicht so einfach ndern Wenn wir den Report nun starten sehen wir folgendes Action Club Action Ower Supply Adventure Undersea Amercan SCUBA Supply Aquatic Drama Blue Glass Happiness Blue Jack Agua Center Blue Sports o 13 0 0 0239 22 44 5002
135. man zusammenf gen aus Auf einer gedruckten Seite werden zwei Reportseiten dargestellt Auch hier muss man das gew nschte Papierformat aus der Liste Papierformat ausw hlen 1998 2009 FastReports Inc 218 FastReport 4 6 Benutzerhandbuch 14 4 l l Anpassen Anpassen Druckt den Report im gew nschten Format Dabei wird das Erscheinungsbild gezoomt gr er kleiner abh ngig vom Format des Reports und der Seite Eine Reportseite erscheint dann auf einer Blattseite Hier muss ebenfalls das gew nschte Papierformat aus der Liste Papierformat ausw hlt werden Klickt man auf OK startet der Druck Ist das Kontrollk stchen In Datei drucken ausgew hlt so erfolgt eine Anfrage nach dem Dateinamen und die Speicherung in dieser die Datei mit der Endung prn enth lt die Kopie der Informationen die an den Drucker gesendet worden sind Textsuche im Report Mit FastReport kann man m Vorschaufenster eine Textsuche durchf hren Dazu klicken Sie auf den Button 4 auf der Instrumentenleiste Tastaturbefehl Strg F Es erscheint das Fenster der Suche Text suchen Suchtext BEE Suchoptionen Ab Anfang sro iKleinschreibung Hier kann der Text eingegeben werden und die Optionen der Suche Ab Anfang die Suche wird vom Anfang des Dokumentes an durchgef hrt ansonsten auf der aktuellen Seite Gro Kleinschreibung w hlt man es aus so wird die Gro Kleinsschreibung bei de
136. mbol von dem schlie enden Es gibt jedoch eine Beschr nkung Man darf nicht f r das ffnen und das Schlie en der Klammern dasselbe Symbol verwenden z B Man kann mehrere Symbole einf gen z B lt gt Dies w rde wie folgt aussehen all lt myVar gt Verwendung der B nder B nder werden f r die logische Ordnung der Objekte verwendet Indem wir das Band PageHeader verwenden teilen wir FastReport mit dass dieses Objekt auf jedem Blatt des Reports erscheinen soll Analog dazu f hrt des Verwenden des Bandes Fu dazu dass dieser auf jeder Seite des Reports unten erscheint mit allen Objekten die darauf liegen Machen wir ein einfaches Beispiel indem wir einen Report erstellen der die berschrift Hello oben Daten oben rechts und Seitenzahl unten rechts enth lt ffnen Sie den Designer und klicken auf Neuer Report in der Symbolleiste Es erscheint ein Report der schon 3 B nder enth lt ReportTitle MasterData und PageFooter Entfernen wir erstmal das Band MasterData indem wir es anklicken und die Taste Delete verwenden oder ber das Kontextmen Jetzt f gen wir ein neues Band PageHeader hinzu Dazu dr cken wir in der Objektsymbolleiste den Button Band einf gen und w hlen aus der Liste Seitenkopf aus Es wird ein neues Band eingef gt Die vorhandenen B nder werden nach unten verschoben denn der FastReport Designer verteilt die B nd
137. n m Objektinspektor eingestellt Die Komponentideologie ist sehr flexibel man kann relativ leicht neue Komponenten f r verschiedene Zugangs Engines zu den Daten erstellen R FastReport 100 fr3 Datei Bearbeiten Report Ansicht Hilfe s Bud rg fe 2 E32 Y Tahoma BZU HA PIE 3 code Data Pagel I Data IB AD Tablei Use the Text object and Draw category objects to draw a diagram oa ADOTablez Fagel The Customers table ie AD This table contains all information about 20 Tahlei the customer such a5 company name contact phone fax 100 Orders ZustNo Customers Lustho 00 The Orders table Te This table contains all orders made by customers Table is linked to the ADOTablez Customers table by master detail relationship 300 Data TfrxDatafage k Eigenschaften Ereignisse E Fant Je Beschreibung der Komponenten In diesem Kapitel betrachten wir die Verwendung der Zugangskomponenten zu den Daten mit Hilfe von ADO Genauso k nnen die Komponenten BDE IBX DBX FIB und viele andere verwendet werden f r die Arbeit des FastReport mit den Engines der Datenbanken 1998 2009 FastReports Inc Zugangskomponenten zu den Daten 179 Die Komponente ADO wird hinzugef gt bei der Verwendung der Komponente HAD TfrxADOComponents U aus der Palette von FastReport Dabei erscheinen im Objektenpanell folgende Objekte TirxDBLookupComboBox TfrxAD
138. n Pfeilen nach oben und nach unten erlauben es die Serie des Diagrams zu verschieben und geben die Reihenflge der Darstellung vor Falls n tig kann man den Namen der Serie ber einen Klick darauf eingeben In unserem Beispiel mit dem Kreisdiagramm werden die Werte Label f r die Beschriftungen verwendet F r die Erstellung des Diagrames selber werden nur die Werte Pie verwendet Man kann ebenfalls in Color f r jedes St ck des Diagramms die gew nschte Farbe einstellen Beenden wir erstmal die Konfiguration und schlie en den Editor mit dem Button OK Nun starten wir den Report 1998 2009 FastReports Inc Grafiken Diagramme 155 BE 777 515 Argentina BEE i 1135 575 Bolivia 15511 136 Brazil E 376 147 Canada C 756 943 Chile BE 1 1353 307 Colombia BE 114 524 Cuba BE 455 502 Ecuador BE 0 565 El Salwador BE 14 363 Guyana BE 11 424 Jamaica BE i 367 150 Mexico BE 133 000 Nicaragua ED 406 576 Paraguay EI 1 255 215 Peru EE 65 130 United States of America BE 17E 140 Uruguay BE 31 047 Yenezuela Was k nnte man in diesem Report besser machen Als erstes w re es gut die Sortierung absteigen einzustellen Wir ffnen den Editor des Diagramms erneut und w hlen die Serie oben m Fenster aus Nun m ssen wir die Art der Sortierung ausw hlen Sonstige Optionen Sortierfolge Aufsteigend Erste Werte r Ersten Beschriftung 0O X Achse Wenn wir den Report wieder starten sehen
139. n Seite kann die Spaltenanzahl bei mehrspaltigen Reporten angegeben werden Die aktuellen Einstellungen werden im Designer angezeigt 1998 2009 FastReports Inc Designer Seiteneinstellungen Papier weitere Opkionen Spalten A Anzahl Breite cm Positionen Sonstiges Auf vorige Seite drucken R nder spiegeln Endlose Seitenbreite Endlose Seitenh he Seitenh he im Entwurfsmodus vergr ern Duplex Standard vi Die Option Auf vorige Seite drucken startet den Druck der Seite auf freiem Platz der vorherigen Dies wird angewendet wenn die Reportschablone aus mehreren Seiten besteht oder beim Druck von Batch Reporten Die Option R nder spiegeln vertauscht den rechten und linken Rand der Seite um diese besser anzeigen und drucken zu k nnen Die Endlose Seitenbreite und Endlose Seitenh he Optionen passen die Seitengr e der Anzahl der Datens tze auf der Seite an In diesem Fall sehen Sie eine gro e Seite in dem Vorschau Fenster statt mehrerer Seiten Die Option Seitenh he m Entwurfsmodus vergr ern erh ht die Seitenh he Dies ist hilfreich wenn es auf der Seite mehrere B nder gibt Die tats chliche H he wird jedoch nicht ver ndert 15 1998 2009 FastReports Inc Reporterstellun g Reporterstellung 17 2 1 Reportobjekte Eine leere Reportseite in FastReport sieht aus wie eine leeres Blatt Papier
140. n Sie dazu auf den Button S und w hlen aus der Drop Down Liste das Kreisdiagramm Pie 1998 2009 FastReports Inc Grafiken Diagramme 153 TeeChart Gallery Gerez Standard Extended Financial Other su Stats Horizontal 2 1ER u sig m Fast Line Horizontal Line Horizontal Area Nach dem Hinzuf gen der Serie st das Panell 3 aktiviert worden Hier muss eingegeben werden welche Daten bei der Diagrammerstellung verwendet werden sollen Als erstes w hlen w r den Datensatz aus der Drop Down Liste Datensatz Die Felder Label und Pie f llen wir auf folgende Weise diese k nnen ebenfalls ber die Drop Down Listen gew hlt werden 1998 2009 FastReports Inc 154 FastReport 4 6 Benutzerhandbuch R Diagramm Editor il Chart en Fie Series Active CircleBackZolor Circled ColorEachPoint Custom FR adius Custom Radius Darka0 ExplodeEiggest HorizAxis Marks OtherSlice PercentFormat PiePen Pievalues Rotation ngle SeriesTolor ShowInLegend Title UsePatkerns True e H Cefault _ False True T T True T aBoktom xis T5eriesMarks TPieOtherslice EEU EE To TChartPen TChartvaluelist U H Red True IFalse Datenquelle O Dataset Band Quelle Fixe Daten Werbe Label Pie Color optional Sonstige Optionen Sortierfolge ErsteN Werte ErsteN Beschriftung a Achse Die Buttons mit de
141. n sieht haben wir zwei Objekte Text hinzugef gt und haben die u eren Rahmenlinien aktiviert Im Endeffekt wird unser Report wie folgt aussehen 30020 Clown Triggerfish Sl SU0 SU Red Emperor p0 gosi Giant Maori Wrasse 229 goo Blue Angelfish Su S00S0 Lunartail Rockcod ol S00S0 Firefish 30 Alle oben erw hnten Beispiele enthielten B nder mit fixen Gr en Wie soll man jedoch eine Tabelle darstellen in der die B nder gedehnt werden k nnen Hier ein Beispiel dazu F gen wir ein neues Feld n unseren Report ein und zwar den langen Text aus Bio Notes Wie wir bereits wissen muss man die Eigenschaft Dehnen bei dem Objekt und dem Band aktivieren In diesem Fall wird die H he des Bandes abh ngig sein von der Menge des Textes im Objekt Text Wir erhalten folgenden Report Clown Triggerfish a JAls known as the big spotted triggerfish Inhabits outer reef areas and feeds upon crustaceare and malluss by cushing them with pawerulteeth They are voradous eates and divers eportseeing the clovun tnggerfish dewour beds of pearl oyee Do not eatthe fish According to an 1878 account the poisonous fesh act primarily upon the ne mwous tizue ofthe stomach occasioning wiolentsp ams of that organ and shotir atenwards all the musdes of the body The frame becomes rocked with spasms the tongue thickened the eye fixed the breathing laborious and the patient expires in a parosysm of extreme suffering Hot edible R
142. n werden Man muss dazu die Punkte Alle ffnen oder Alle schlie en aus dem Kontextmen der Vorschau ausw hlen 3 5 Zeilennummerierung Betrachten wir nun in unserem Beispiel wie man die einzelnen Zeilen durchnummeriert Wir f gen das Objekt Text ein mit der Systemvariablen Line auf beide B nder einfacher ist es dies durch die Drag amp Drop Methode aus dem Tab Variablen des Fenster Datenbaum zumachen GroupHeader aroupHe aderi Line eraup OrderNo aroup SaleDate Beim Starten sehen wir dass beide Datenebenen durchnummeriert sind 1998 2009 FastReports Inc 66 FastReport 4 6 Benutzerhandbuch 1023 01 07 55 1076 16 12 94 1123 24 00 93 1169 06 07 94 1176 26 07 94 1269 16 12 94 1060 20 02 09 1073 15 04 99 1102 06 06 92 1160 01 06 94 erhalten folgendes Ergebnis 1 1023 01 07 58 2 1076 15 12 94 J 1123 24 09 93 4 1169 06 07 94 5 1176 26 07 94 z 1269 15 12 94 Fi 1060 20 02 09 1073 15 04 09 g 1102 06 06 92 3 6 Aggregatfunktionen In manchen Reporten ben tigen w r eine durchgehende Nummerierung In unserem Beispiel nutzen wir deshalb die Variable Line anstatt Line auf dem Band und In den meisten F llen w ll man bei Gruppenreporten am Ende irgendeine zusammenfassende Information sehen z B die Summe die Anzahl der Elemente usw FastReport enth lt f r diesen Fall so genannte Aggregatfunktionen Mit deren Hilfe kann man die Funk
143. n wir ein Diagramm auf das Blatt und gehen in dessen Editor Als n chstes f gen wir die Serie S ulendiagramm ein und konfigurieren die Eigenschaften Datenquelle Dataset E Fixe Daten werte Label Janyary February Marca Apri i ot Color optional 31 28 31 30 pra Beim Start des Reports sehen wir folgendes Ergebnis 1998 2009 FastReports Inc 158 FastReport 4 6 Benutzerhandbuch E 31 January E 25 February E 31 March E 30 April Jaryary February March April 8 4 F llen des Diagrammes aus dem Script F llen w r das vorhergehende Diagramm mit Daten aus einem Script Dazu lassen wir im Editor die Felder X und Y leer Im Script des Reports schreiben wir folgendes PascalS cript begin Chartl1 SeriesData 0 Sourcel Januar Februar M rz April Chart l Ser1 ssDartz V Ssoure2 t 1313725 al 0T end C Script Chartl1 SeriesData 0 Sourcel Januar Februar M rz April Chert l seriespet21l Sourez2 217223 213230 In diesem Fall erlaubt SeriesData 0 die Eingabe der Parameter der ersten Serie im Diagramm Hat das Diagramm mehrere Serien so kann man diese ber SeriesData Nummer_Serie erreichen 8 5 Drucken von Diagrammen erstellt in Delphi Falls Sie schon ein Diagramm im Code Delphi erstellt haben und dieses in den Report einf gen wollen so ben tigen Sie das Objekt Grafik Plazieren Sie das Objekt an dem gew nschten Platz und schreiben folgenden
144. n wir neue Elemente ein 1998 2009 FastReports Inc 68 FastReport 4 6 Benutzerhandbuch GroupHeader SroupHe aderi Group OrderNo Group SaleDate Group IternsTotal GroupFooker Gro upFooteri SUbMMisGroup ltemsTotal gt MasterDatal L Das Feld ItemsTotal auf dem Datenband wird die Summe der Bestellung anzeigen In den Gruppenfu setzen wir das Objekt Text ein dieses soll die Aggregatfunktion SUM enthalten Es soll die Gesamtsumme aller Bestellungen des Kunden enthalten Wenn wir den Report nun starten und mit einem Taschenrechner die Werte berpr fen so werden wir sehen das alles richtig funktioniert 1023 11 07 00 54 674 00 1076 16 12 94 p17 701 00 1123 24 09 93 p13 945 00 1169 15 07 34 pa 471 95 1176 26 07 94 p4 170 05 1269 15 12 94 p1 400 00 51450 5 Also wie ist nun das Arbeitsprinzip der Aggregatfunktionen Vor der Reporterstellung scannt FastReport den Inhalt der Objekte Text nach Aggregatfunktionen Gefundene Funktionen werden den entsprechenden Datenb ndern zugeordnet hier m Beispiel wird die Funktion SUM mit dem Band MasterDatal verkn pft Bei der Erstellung des Reports werden nun sobald das Datenband auf dem Bildschirm erscheint die Aggregatfunktionen ausgewertet Hier wird Summe des Feldes Group ItemsTotal gebildet Nachdem der Gruppenfu welcher die Summe anzeigt ausgef hrt worden ist wird nun die Funktion f r die n chste Gruppe neu g
145. nBeforePrint TfrxComponent Sender if Engine FinalPass Memo8 Text Sum Get lt Group CustNo gt 1998 2009 FastReports Inc Script 101 6 12 void GroupFooterlOnBeforePrint TfrxComponent Sender Set lt Group CustNo gt FloatToStr SUM lt Group ItemsTotal gt MasterDatal Wie man sieht ist das Script wesentlich einfacher geworden Der Code im Bearbeiter GroupFooterl OnBeforePrint stellt den Wert der Variablen mit dem Namen des Kunden der Gleich der Kundennummer ist dar Man kann ein beliebiges Identifizierungszeichen verwenden das den Kunden eindeutig identifiziert z B seinen Namen lt Group Company gt Gibt es eine solche Variable nicht so wird sie erstellt Gibt es sie so wird deren Wert ge ndert Im Bearbeiter GroupHeader1l OnBeforePrint wird der Wert der Variablen mit der Nummer der aktuellen Gruppe angezeigt Ereignis OnAfterData Dieses Ereignis wird generiert nachdem das Objekt im Report mit den verkn pften Daten gef llt worden ist Das Ereignis ist praktisch um die Werte des DB Feldes oder die Ausdr cke im Objekt zu analysieren Tatsache ist dass sich dieser Wert in der Dienstvariable Value befindet und deren Werte sind nur in diesem Ereignis zug nglich Hat man zwei Objekte Text mit dem Inhalt Tablel Fieldl und lt Table2 Fieldl gt 10 kann man die Werte dieser Ausdr cke bequem analysieren wenn man sich auf die Variable Value bezieht Pascals c
146. nHeader wird beim Druck der Zellen des Spaltenkopfes aufgerufen Die Auswahl der Parameter ist hnlich der Bearbeiter OnPrintCell hier jedoch wird die Adresse der Zelle Parameter HeaderIndexes HeaderValues anders transferiert Der Parameter HeaderValues zeigt dieselben Werte wie die Parameter ColumnValues und RowValues im Bearbeiter OnPrintCell Der Parameter HeaderIndexes ist ebenfalls eine Reihe des Types Variant und enth lt die Adresse der Zelle des Kopfes in einer anderen Form Das Nullelement ist die Reihennummer der obersten Ebene das erste Element die Nummer der n chsten Ebene usw Das Prinzip der Nummerierung der Zellen wird verst ndlich wenn man die Grafik betrachtet HET EEE HE HE BEE ST Ist fr fs lslofrfsfs o o no sojo ao zroo Molioo 3100 o e oj fao aoo o oa o a To z I IT a C TR ses jaa Toro In unserem Beispiel ist es einfacher die Werte HeaderValues zu analysieren aber man kann auch den folgenden Bearbeiter schreiben Pascal script procedure CrosslOnPrintColumnHeader Memo TfrxMemoView HeaderIndexes HeaderValues Value Variant begin if HeaderIndexes 0 0 and HeaderIndexes 1 2 then Memo Color clRed end C Script void Cross1lOnPrintColumnHeader TfrxMemoView Memo Variant HeaderiIndexes Variant HeaderValues Variant Value if HeaderIndexes 0 0 amp amp HeaderIndexes 1 2 Memo Color clRed 1998 2009 FastReports In
147. nd Tabellen werden exportiert ohne unterbrochen zu werden und der Ausblendung der Spaltenbezeichnungen diese werden nur auf der ersten und letzten Seite angezeigt Die Option ist sinnvoll bei gro en Dokumenten die zur weiteren Bearbeitung vorgesehen sind Seiten Kopf Fu Ausf hrungsweisen Text wird wie gew hnlicher Text behandelt Kopf Fu im RTF Dokument werden diese gebildet Nichts Kopf Fu werden ignoriert Nach Export ffnen die Datei wird gleich nach dem Export mit dem voreingestellten Programm z B Microsoft WordPad ge ffnet Besonderheit des Exportes RichText Objekte werden komplett ins Format RTF bertragen das Aussehen und die Gr e der Datei sind stark von der Maske des Reports abh nging Kapitel Vorschl ge zur Reporterstellung Export in Excell Excell eine Anwendung zur Arbeit mit Tabellen Enthalten im Microsoft Office System Art des Exportes Tabellarisch Beim Export in Excell wird ein Fenster mit den Einstellungen der zu exportierenden Datei angezeigt 1998 2009 FastReports Inc 224 FastReport 4 6 Benutzerhandbuch Excel Expori Seitenbereich Alle Aktuelle Seite Seitennummern und oder Seitenbereiche durch komma getrennt eingeben z B 1 3 5 12 Exporteinstellungen Weiter zellen verbinden Bilder WYSIWYG als Text Hintergrund Fast export Seitenumbr che _ Excel nach Export ffnen Exporteinstellungen
148. ner ist ber Delphi in Design time erreichbar Zur Nutzung des Designers im kompillierten Projekt ist es notwendig die Komponente TfrxDesigner aus der Palette der Komponenten von FastReport zu nutzen oder das Modul frxDesign n die Liste zu bernehmen Die Benutzung des Designers in run time gibt dem Nutzer die M glichkeit das u ere Erscheinungsbild des Reportes zu bearbeiten sowie den fertigen Report zu editieren R FastReport Untitled fr3 Datei Bearbeiten Report Ansicht Hilfe D G aala anul 4 a i ki orBzZumAZpP S 5 ll Mh k Code Data Page1 I j I j I I I I j j 2 Paget a Paten variablen FL 11 P E ReportTitlei ILI Daten Memod L Customers 2 6 MasterDatal _ E CustNo DJ Shape i OUR CUSTOMERS E Company A CustomersCompany i _ Addr xj E Addr2 Page1 TfrxReportPage B City Eigenschaften Ereignisse Company Customers Company Phone Customers Phone BackPicture geordnet s BackPicturePrintable V True F BackPicturevisible v True BottomMargin 1 TaxRate Color W cione Contact Columns 0 E LastInyoiceDate DataSet Nicht zugeorc Duplex dmNone EndlessHeight False Endlesswidth False Font TFont Frame TfrxFrame I LargeDesignHeight False LeftMargin 1 MirrorMargins False Name Pagei Orientation poPortrait OutlineText PageClount PaperHeight PaperSize Paper Width PrintIfEmpty Print nPreviousPage ResetPageNumbers
149. ngselement mit dem Verzeichnis zu verkn pfen m ssen Werte in die drei Eigenschaften DataSet ListField und KeyField eingef gt werden Der ausgew hlte Wert st ber d e Eigenschaften Text oder KeyValue erreichbar Mit Hilfe von KeyValue kann man die Anfangsposition des Cursors in der Liste angeben 11 1 2 TfrxADOTable Die Komponente st f r die Organ sation des Zuganges zu der DB Tabelle vorgesehen und enth lt folgende Eigenschaften Eigenschaft Beschreibung Database Name der Verbindung zu Datenbank Komponentenname TfrxADODatabase FieldAl ases Erlaubt die Eingabe eigener Feldnamen Ausdruck zum Filtern der Daten Bestimmt ob der Filter verwendet werden soll Die Komponenteneigenschaften sind denen in Delphi TADOTable hnlich Um die Komponente mit der DB Tabelle zu verkn pfen reicht es aus die Eigenschaften Database und TableName auszuf llen Die Tabelle wird mit Hilfe der Einstellung Active True oder der Methode Open ge ffnet Der Editor der Eigenschaft FieldAliases erlaubt die Auswahl der Felder welche in 1998 2009 FastReports Inc Zugangskomponenten zu den Daten 181 der Tabelle zug nglich sein werden und man kann die Namen der einzelnen Felder oder der gesamten Tabelle eingeben Aliase bearbeiten Dataset Allas Feld Aliase Enter dr cken zum Bearbeiten Benutzername Originalname Custo _usENo Company Company ddr1 ddr1 ddr ddr Zity City State State zip zip
150. nten tragen Sie die SQL Abfrage ein Sie k nne ebenfalls die Abfrage mit dem visuellen Query Builder erstellen indem Sie auf den Button x3 klicken Der visuelle Query Builder wird sp ter im Kapitel beschrieben Eine neue Abfrage kann ebenfalls erstellt werden indem man auf das Tab Data geht und die Komponente ADO Abfrage in den Report einf gt 13 5 Query construction FastReport Versionen Professional Enterprise enth lt einen visuellen Query Builder Dazu verwendet man den FastQueryBuilder welcher auch als separates Produkt in Ihren Anwendungen verwendet werden kann Den Query Builder nutzt man um visuelle Textabfragen in SQL zu erstellen Der Query Builder sieht wie folgt aus 1998 2009 FastReports Inc Assistenten 205 L d Fast Query Builder Designer Eu 2 xv SQL Result 1 biclife FE I country T crosstest a Customer C ee E currency quoting O Th customer Company Cwidestring Customer _query Addri WideString orders o X T employee C Addr2 idestring M F ia dere C city Widestring a f State WwideString a e T MSys ccessObjecks I Mays ccess ML C Zip QideString L Country wideString C shipbate DateTime LS MSysACEs Fhone wideString C Empo Integer Fax pWwideString C shipToContact wide AN pe E Eolis ie w u ShipToAddr1 Widestr E MSysIMErSpecs Ship To ddrz t wideStr E MSysObjects C ShipTotity Widestrin C ShipToState widest
151. ode Outline AddItem f gt dem aktuellen Knoten m Baum einen weiteren untergeordneten hinzu und macht ihn zum aktuellen Ruft man Addltem ein paar mal auf so erh lt man eine Treppe folgender Art Item Item2 Item3 Zur Steuerung des aktuellen Elementes dienen Outline LevelUp und LevelRoot Die erste Methode verschiebt das Element eine Ebene h her Das Script Outline AddItem Iteml Outline AddItem Item2 Outline AddItem Item3 Outline LevelUp Outline AddItem Item4 w rde folgenden Baum erstellen Item Item2 Item3 Item4 Sprich das Element Item4 wird dem Element Item2 untergeordnet Die Methode LevelRoot verschiebt das aktuelle Element in die Wurzel Hier ein Beispiel das Script Outline AddItem Iteml Outline AddItem Item2 Outline AddItem Item3 Outline LevelRoot Outline AddItem Item4 w rde folgenden Baum erstellen Item Item2 Item3 Item4 1998 2009 FastReports Inc 114 FastReport 4 6 Benutzerhandbuch 6 17 Nach diesen Erkl rungen sollte klar sein wie unser Report funktioniert Jedesmal beim Druck des Gruppenkopfes wird die Wurzel zum aktuellen Element und der Unternehmensname eingef gt Danach wird die Liste der Bestellungen gedruckt und jede Bestellung wird als untergeordnetes Element hinzugef gt Damit die Bestellnummern auf einer Ebene liegen und nicht in Form einer Treppe dargestellt werden verschieben Sie diese im Script e
152. ompany Da beide Eigenschaften die Liste darstellen suchen wir uns einfach das gew nschte Feld mit der Maus aus Die dritte Eigenschaft Drag amp Drop des gew nschten Feldes aus dem Fenster Daten in den Report Dies ist die einfachste Vorgehensweise Halten Sie das Feld Phone fest und ziehen es auf das Band Das einzige worauf man hier achten sollte w re es die Option Header erstellen im unteren Teil des Fensters Daten zu deaktivieren Sonst wird zus tzlich auch noch ein Feld in diesem Fall mit der Bezeichnung eingef gt Jetzt zur vierten M glichkeit F gen Sie ein leeres Objekt Text in das Band ein und bewegen die Maus zum Objekt Auf der rechten Seite erkennen Sie nun einen Button mit einem Pfeil nach unten Dieser ffnet eine Drop Down Liste mit den Feldern der Datenbank Hier w hlen wir das Feld Fax aus Diese M glichkeit steht zur Verf gung wenn das Band mit den Daten verkn pft ist Dies wird in den Optionen des Designers 1998 2009 FastReports Inc 28 FastReport 4 6 Benutzerhandbuch ber das Men AnsichtlOptionen Drop Down Feldliste anzeigen gesteuert a Custom ers Fri Cust Mo Company Addr1 addr B City State E Zip E Country E Phone Der Report ist nun fertig ReportTitle ReportTitlei Customer list frDED ata SB frDEData Seti Company frDE DataSsetl Pho frDEDataset ix FAR PageFooter PageFooter i 5
153. ontaktperson frxDBDatasetl Contact_Person Wie man sieht wird f r Verkn pfungen zur DB eine spezielle Syntax verwendet Datensetname Feldname Im Namen des Datensets k nnen wie auch im Feldnamen Leerzeichen enthalten sein Ein Leerzeichen zwischen einem Punkt und der Klammer ist nicht erlaubt In den Text des Objektes kann man nicht nur eine Verkn pfung zum Feld machen Man kann auch Berechnungen mit diesem Feld erstellen L nge in cm lt frxDBDatasSetl Length_in gt 2 54 Beachten Sie die Verwendung der eckigen und spitzen Klammern 1998 2009 FastReports Inc 30 FastReport 4 6 Benutzerhandbuch 2 11 Erinnern wir uns dass die eckigen Klammern f r Ausdr cke verwendet werden falls nichts anderes bestimmt worden ist Anstatt dieser Klammern kann auch ein beliebiges Paar anderer Symbole verwendet werden s h Anzeige von Ausdr cken mithilfe des Objektes Text Spitze Klammern werden innerhalb der Ausdr cke benutzt um Variablen bei FastReport und DB Felder darzustellen Logischerweise sollten wir schreiben Kontaktperson lt frxDBDatasetl Contact_Person gt anstatt Kontaktperson frxDBDataSetl Contact_Person Es stimmen jedoch beide Formen weil FastReport das Weglassen der spitzen Klammern zul sst wenn der Ausdruck nur eine Variable oder ein DB Feld enth lt Sollten im Ausdruck jedoch mehrere Glieder enthalten sein sind die Klammern Pflicht L nge in cm lt frxDBDatasetl
154. or gestartet Format kopieren I Die Taste wird aktiv wenn das Objekt Text ausgew hlt ist Das Klicken mit der linken Maustaste auf das Objekt Text kopiert das Format des vorhergehenden Objektes Text rein 1 3 2 Symbolleiste Standard Dzsuoa a anale saaa e er gt Erstellt einen neuen Report Report ffnen ffnet einen gespeicherten Report Tastaturbefehl Ctrl O Zi Report speichern Speichert einen Report Tastaturbefehl Ctrl S Vorschau Erstellt den Bericht und zeigt die Vorschau Pt Tastaturbefehl Ctrl P F gt eine neue Seite in den Bericht ein Seiteneinstellungen Ruft das Fenster Seiteneinstellungen auf Ruft den Editor der Variablen auf Ausschneiden Ausschneiden der markierten Objekte n den Zwischenspeicher Tastaturbefehl Ctrl X Kopieren Kopiert die markierten Objekte n den Zwischenspeicher Tastaturbefehl Ctrl C Neue Dialogseite F gt eine neue Dialogseite in den Report ein Seite l schen Entfernt die bestehende Seite a 1998 2009 FastReports Inc 6 FastReport 4 6 Benutzerhandbuch Fet Einf gen F gt Objekte aus dem Zwischenspeicher ein Tastaturbefehl Ctrl V w R ckg ngig Macht den letzten Befehl r ckg ngig Tastaturbefehl Ctrl Z Wiederherstellen Macht die Aktion des Befehls R ckg ngig r ckg ngig Tastaturbefehl Ctrl Y Gitter anzeigen I Zeigt die Gitterlinien auf der Seite an Die Abst nde k nnen bei den Optionen des D
155. orePrint Sender TfrxComponent begin Engine CurY Engine CurY 15 end C Script void MasterDatalOnBeforePrint TfrxComponent Sender Engine CurY Engine CurY 15 Die Methode Engine NewPage erlaubt die Trennung der Seite an der gew nschten Stelle Der Druck erfolgt auf der n chsten Seite In unserem Beispiel trennen wir die Seite nach der zweiten Zeile PascalS cript procedure MasterDatalOnAfterPrint Sender TfrxComponent begin if lt Line gt 2 then Engine NewPage end C Script void MasterDatalOnAfterPrint TfrxComponent Sender if lt Line gt 2 Engine NewPage Beachten Sie dass wir es jetzt im Ereignis OnAfterPrint machen sprich nachdem das Band schon erstellt worden ist Die Systemvariable Line f gt die korrekte Nummer des Eintrags ein Die Methode Engine NewColumn trennt die Spalten im Multispalten Report Nach der letzten Spalte wird eine neue Seite erstellt 1998 2009 FastReports Inc Script 109 6 15 Anker Anker anchors ist eines der Elemente des Hyperlink Systems welches es erlaubt durch einen Klick auf ein Objekt im fertigen Report im Vorschaufenster auf das verbunde Element zu wechseln Anker ist ein spezielles Zeichen welches ber die Methode Engine AddAnchor gesetzt wird Der Anker hat einen Namen und ihm entspricht die Nummer und die Position auf der Seite Um zu einem Anker mit dem angegebenen Namen zu wechseln kann man in die
156. ort des Objekts Report aufgerufen Auf diese Weise wird durch Benutzung der Ereignisse verschiedener Objekte praktisch jeder Moment beim Erstellen des Reports kontrolliert Der Schl ssel zum richtigen Verwenden der Ereignisse ist das Verstehen all dieser neuen Punkte des Prozesses der Reporterstellung So k nnen v ele Handlungen nur ausgef hrt werden indem man das Ereignis OnBeforePrint verwendet Alle nderungen die im Objekt vorgenommen werden werden sofort angezeigt Hier kann aber nicht analysiert werden auf welcher Seite das Band angezeigt wird wenn dieses dehnbar ist Die Berechnung dazu findet erst bei Punkt 4 statt Dies kann mit dem Ereignis OnAfterCalcHeight oder OnAfterPrint im Punkt 8 gemacht werden aber im letzten Fall wird das Band schon gedruckt sein und die Bearbeitung der Objekte wird keine Auswirkungen haben Deswegen m ssen S e genau wissen wann welches Ereignis aufgerufen wird und genau die benutzen die ben tigt werden Beispiel der Nutzung des Ereignisses OnBeforePrint Demonstrieren wir das oben genannte an einem Beispiel Erstellen wir einen Report und zwar eine Kundenliste die nur Unternehmen enthalten soll deren Name mit A beginnt Erstellen wir ein neues Projekt in Delphi und legen auf die Seite die Komponenten TTable TfrxDBData8et TfrxReport und stellen diese wie folgt ein Tablel DatabaseName DBDEMOs TableName customer db frxDBDataSetl DataSet Tablel UserName Customers
157. ousPage m Objektinspektor so werden die Objekte der zweiten Seite n cht auf eine neue Seite bertragen sondern auf die vorhergehende 1998 2009 FastReports Inc Reporterstellung 57 2 25 Reporte ohne Nutzung von Datenbanken Manchmal ist es notwendig statische Daten mehrmals auszuf hren Betrachten wir als Beispiel den Druck von Visitenkarten oder Postkarten Dazu haben die B nder die Eigenschaft RowCount und die Seite PageCount Durch diese Eigenschaften kann man die Anzahl der B nder Seiten festlegen die nicht mit Daten verkn pft sind Anhand der Grafiken kann man dies gut erkennen Die Eigenschaft Rowcount des Bandes ist auf 14 gesetzt dies f hrt dazu dass das Band 14 mal ausgef hrt wird 1998 2009 FastReports Inc Sortierung Ergebnisse Sortierung Ergebnisse 59 3 1 Report mit Gruppen Im vorherigen Beispiel haben wir einen zwei ebenen Report erstellt mit Daten aus zwei Tabellen FastReport erlaubt die Erstellung eines analogen Reports auf Basis nur eines Datensatzes Hierf r ist es notwendig eine Anfrage mit SQL zu starten Diese gibt uns die Daten beider Tabellen wieder sortiert nach bestimmten Bedingungen In unserem Fall die bereinstimmungen der Felder CustNo in beiden Tabellen Die SQL Abfrage kann folgenderweise aussehen select from customer orders where orders CustNo customer CustNo order by customer CustNo Die Zeile order by ben tigt man
158. pHeader SroupHeaderi aroup Custho sroup OrderNo Group SaleDate Group tems Total GroupFooter arouprF ooter SUM isiroup tems Total gt MasterDatal L ReportSummary Rep ortSummaryl Total SUMs Group tems Total gt MasterData1 L PageFooter PageFookter 1 Total this page SUM lt Group ItemsTotal gt MasterDatat Wir haben das Band Reportzusammenfassung und ein Objekt Text eingef gt Hier wird nun die Summe in den B ndern Reportzusammenfassung und Seitenfu dargestellt 1040 04 09 1988 3 632 00p 1140 12 12 1993 1 240 00p 4 872 00p 1149 14 03 1994 12 S00 75p 1145 15 10 1909 YO o0p 1049 13 12 1909 1 509 05p 1145 17 01 1994 4 229 80p 19 728 20p Total 2922666 1 Totalth s page 3200720 3 8 Einf gen der Aggregatfunktionen Bis jetzt haben wir die Aggregatfunktionen per Hand in das Objekt Text eingef gt Betrachten wir nun ein paar weitere bequemere M glichkeiten eine Aggregatfunktion einzuf gen 1998 2009 FastReports Inc Sortierung Ergebnisse 71 Als Erstes kann man um eine Aggregatfunktion auszuf hren das Objekt Systemtext verwenden Eigentlich ist es dasselbe Objekt Text hat aber einen speziellen Editor um das Einf gen der Systemvar ablen und Aggregatfunktionen einfacher zu machen System Memo O Systemvariable ggregakwert Funktion Datenband Dataset Da
159. pfzeilen besitzt zwei und mehr berschriften Die Tabelle enth lt folgende Daten Name Year Month Days Salary Ann 1999 2 3 1000 Ben 2002 1 5 2000 Es sind zwei Felder hinzugekommen Month und Days Diese enthalten die 1998 2009 FastReports Inc 130 FastReport 4 6 Benutzerhandbuch Monatsnummer und die Tage an denen gearbeitet worden ist Mit diesen Daten kann man schon einige Reporte erstellen z B das Gehalt der Mitarbeiter f r die Jahre mit der Monatseinteilung Welches Aussehen soll unser Report besitzen Er soll hnlich dem Report aus dem vorherigen Beispiel sein aber zus tzlich eine Monatseinteilung der Jahre besitzen Deswegen stellen wir das Cross tab Objekt auf die selbe Weise ein und f gen in den Spaltenkopf das Feld Month hinzu Duelldater ross bab Struktur J SimpleCross ne ZuiischensteimeZ Fl A Z A EEEE Mame F A Z cc a Falls gew nscht kann man die Farben ndern und die englischen Ausdr cke Grand total und Total durch Summe ersetzen Wir erhalten folgenden Report EREINA EREHEAN IEMETA EN EEE Am foo foafoa a300 1300 rao zroof renmlsenml s100 1700 1roof Hanan sen aozo fao fao fao oleoa zooo arm carere aooe ero fe o I If To o oa 1 de osana eo of a0 Grana Tori 1000 5100 6400 1200 13700 5299 3800 3200 12200 ao 5600 1600 112003700 3700 10899 Beachten Sie dass FastReport automatis
160. pt False ITxADOComponentsl DefaultDatabase ADOConnection F r den Button Design bestimmen Sie folgenden Bearbeiter procedure TForml ButtonlClick Sender TObject begin frxReportl1 DesignReport end Danach kompilieren und starten Sie das Projekt Das ist alles um End User Reportdesigner zu erstellen 1998 2009 FastReports Inc 186 FastReport 4 6 Benutzerhandbuch 11 3 Beim Klick auf den Button Design ffnet sich der Designer welcher einen leeren Report enth lt Betrachten wir nun die Erstellung einfacher Reporte Erstellen wir einen Report des Typs Liste Dieser Report wird Daten aus einer DB Tabelle enthalten Um den Report zu erstellen f hren Sie folgende Schritte aus Klicken Sie auf den Button NeuerReport i auf der Instrumentenleiste FastReport erstellt nun eine leere Reportseite die Code Data und Pagel enth lt Gehen Sie auf den Tab Data und legen auf die Seite die Komponente Tabelle ADO iR Code Data Pagel Ei un Zn m E ADOTable AD s itle Er MasterbDatal a la o FageFooterl A Memo1 ADOTablei Ab Tablei TFrxADOTable w Froperties Events CloseDataSou True z Database ADOConnection1 M enm Lim 200 Beachten Sie dass bei der Komponente die Eigenschaft Database gef llt ist diese zeigt unsere Datenquelle an Das passiert weil wir diese angegeben haben in der Eigenschaft Default
161. pt erstellt der aus einem Block 1998 2009 FastReports Inc 90 FastReport 4 6 Benutzerhandbuch 6 4 besteht begin end Auf diese Weise hat unser Script eine sehr einfache Struktur es besteht nur aus der Hauptprozedur s h vorheriges Kapitel Scriptstruktur Die Hauptprozedur wird beim Start des Reports ausgef hrt In unserem Fall zeigt sie das Fenster an und wird nach dem Schlie en beendet Nach dem Beenden der Hauptprozedur beginnt die Erstellung des Reports Benutzung von Objekten im Script Mit dem Script kann man sich an jedes Objekt m Report wenden Wenn der Report z B die Seite Pagel und ein Objekt Memol enth lt so kann man diese m Script verwenden indem man deren Namen benutzt PascalS cript Memol Color clRed C Script Memol Color clRed Die Liste der Objekte m Report die aus dem Script erreichbar sind wird im Fenster des Reporttree angezeigt Welche Eigenschaften der Objekte sind m Script zug nglich Die Antwort ist einfach und zwar die die im Objektinspektor sichtbar sind Im unteren Teil des Fensters wird ein Hilfstext zu der gew hlten Eigenschaft angezeigt Beide Fenster Reporttree und Inspektor sind w hrend der Arbeit mit dem Script zug nglich Um eine ausf hrliche Auskunft ber die Methoden und Eigenschaften der Objekte zu erhalten verwenden Sie die FastReport Hilfe die im Satz enthalten ist Demonstrieren wir das ganze an einem kleinen Beispie
162. pte der vier unterst tzenden Sprachen Struktur PascalScript language PascalScript optional program MyProgram 7 7 optional der Teil uses muss vor allen anderen Teilen stehen uses unitl pas unit2 pas var der Teil der Variablen kann an einer beliebigen Stelle stehen i J Integer const ff der Teil konstant pi 3 14159 procedure pl Prozeduren und Funktionen var i Integer procedure p2 verschachtelte Prozedur begin end begin end begin Hauptprozedur end Struktur C Script 1998 2009 FastReports Inc 88 FastReport 4 6 Benutzerhandbuch language C Script optional der Teil include muss vor allen anderen Teilen stehen include unitl cpp unit2 cpp int i j 0 der Teil der Variablen kann an einer beliebigen Stelle stehen DEFINE pi 3 14159 der Teil konstant void pl Funktionen keine verschachtelten Prozeduren Hauptprozedur Struktur JScript language JScript optional der Teil import muss vor allen anderen Teilen stehen import unitl1 js unit2 js var i j 0 der Teil der Variablen kann an einer beliebigen Stelle stehen function pl Funktionen IH Hauptprozedur pi for i 0 1 lt 10 i I Struktur BasicScript language BasicScript 7 optional der Teil imports muss vor allen anderen Teilen stehen imports unitl vb unit2 vb Dim i
163. r Suche beachtet Klicken Sie nun auf OK wird die Textsuche durchgef hrt und das erste gefundene Element angezeigt 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 219 14 5 Company Address Action Club F Box 5451 F Action Diver Supply Blue Spar Box 3 Adventure Undersea PO Box dd Um die Suche fortzuf hren dr cken Sie auf F3 Es wird das n chste Element angezeigt Export der Reporte FastReport erlaubt den Export des fertigen Reports in verschiedene Formate zur weiteren Bearbeitung Archivierung dem Versand per E mail usw Im Moment werden 13 Formate unterst tzt PDF ODS ODT Excel XML RTF HTML text CSV BMP Jpeg Tiff und Gif Es besteht die M glichkeit den Report in all diesen Formaten per E mail zu versenden Um den Export auszuw hlen klicken Sie auf auf der Instrumentenleiste R Vorschau HEHE ABGEA S os 9 A FOF Datei z HTML Datei RTF Datei Excel Tabelle OLE Excel Tabelle HL BMF Bild JPEG Bild TIFF Bild eMail Cow Datei iaif Bild Textdatei OpenDocument Tabellendokument OpenDocument Text F r den Export verwendet FastReport eine der 3 M glichkeiten Schicht f r Schicht die Objekte im Bericht werden nacheinander in die Datei bertragen Der Export ist dem Original hnlich Tabellar sch beim bertragen der Objekte wird eine Zwischenmatrix verwendet in 1998 2009
164. r Code nicht von dem in Delphi verwendeten Starten wir den Report und sehen dass der Button darauf reagiert ob das H kchen da ist oder nicht 10 5 Verschiedene Dialogformen Schauen wir uns an wie ein Report mit zwei Dialogformen arbeitet Erstellen wir einen Report mit zwei Dialogformen und einer Seite 1998 2009 FastReports Inc 174 FastReport 4 6 Benutzerhandbuch 10 6 Nare Edit1 Text Child name gt Edit2 Text Child2 name gt Edit3 Text Wir stellen die Eigenschaften ModalResult mrOk und mrCancel entsprechend der Buttons OK und Cancel ein Jetzt starten wir den Report Zuerst sollen wir die Fragen des ersten Dialoges beantworten Name Kinder ja nein danach nach dem klick auf OK die des zweiten Namen der Kinder Klicken wir auf OK des zweiten Dialoges so wird der Report erstellt Dies ist die Arbeitsweise des Kerns von FastReport Die Dialoge werden in der Reihenfolge der Erstellung angezeigt Der folgende Dialog erscheint dabei nur wenn man den vorherigen mit der Eigenschaft ModalResult mrOk mit OK schlie t Wird einer der Dialoge abgelehnt Button Cancel oder mit dem Kreuz oben rechts so wird die Erstellung des Reports beendet Steuerung der Reportformen Im vorherigen Beispiel werden die Dialogformen angezeigt Unabh ngig davon ob wir ein H kchen bei Have children gesetzt haben oder nicht Schauen wir uns an wie man den zweiten Dialog verbergen kann falls kein H
165. r Eigenschaft ResetPageNumbers dass man ebenfalls die Eigenschaft StartNewPage Neue Seite aktivieren muss Dadurch wird jede Gruppe auf einer separaten Seite gedruckt Die Seitenzahl kann man mit den Variablen Page TotalPages des Objektes Text darstellen Drill Down Gruppen Der Gruppenkopf besitzt die Eigenschaft Drill Down Das Aktivieren dieser Eigenschaft macht die Gruppe interaktiv d h dass die Gruppe im Vorschaufenster auf das Klicken mit der Maus reagiert Dadurch kann man durch den Klick auf den Gruppenkopf die Gruppe ffnen zeigt alle Eintr ge an schlie en und damit nur den Kopf anzeigen oder den Fu anzeigen wird ber die Eigenschaft ShowFooterlfDrillDown eingestellt So s eht eine Gruppe mit ge ffnetem Kopf aus 1998 2009 FastReports Inc Sortierung Ergebnisse 65 Company Address Contact Phone Fax Catamaran Dive Club Box 264 Pleasure Point Nicole Dupont 213 223 0941 213 223 2324 Cayman Divers World Unlimited PO Box 541 Joe Bailey 011 5 697044 011 5 697064 Central Underwater Supplies PO Box 37 Maria Evento sh 27 11 4432450 27 11 4433259 Count 3 D Sie k nnen angeben ob die Gruppen beim Starten des Reports ge ffnet oder geschlossen sind Standardm ig sind sie geschlossen und werden ber die Eigenschaft ExpandDrillDown gesteuert Falls die Gruppen ge ffnet sein sollen so stellen Sie die Eigenschaft auf True Genauso k nnen alle Gruppen ge ffnet und geschlosse
166. r zur n chsten Seite Bild runter Springt zum Anfang des Dokumentes Springt zum Ende des Dokumentes 14 2 Maussteuerung Linke Maustaste Klick auf ausgew hlte Objekte im interaktiven Report Scrollen im Modus Hand Taste festhalten und Maus bewegen im Modus Zoom heranzoomen Rechte Maustaste Kontextmen im Modus Zoom herauszoomen Doppelklick Bei Anzeige des Reports auf dem ganzen Bildschirm R ckkehr zur Standardansicht Scrollen der Seite 14 3 Druck des Reports Um den Report auszudrucken klicken Sie auf den Button oder die Tasten Strge P Es erscheint folgendes Fenster 1998 2009 FastReports Inc 216 FastReport 4 6 Benutzerhandbuch Drucken Drucker Mame EPSON Stylus C45 Series ka Eigenschaften Crt _ In Datei drucken Seiken kopien Alle Anzahl der kopien O Aktuelle T Seiten Sortieren Seikennummern C Seitenbereiche durch komma getrennt eingeben z B 1 3 5 12 Eruckoptioren Cruckmodus Druckern lle Seiten o Seiten Standard Reihenfolge Beginne mit erster Seite Duplex Standard Papierformat Schauen wir uns die vorhandenen Einstellungen an In der Gruppe Drucker kann man den Drucker aussuchen dessen Einstellungen bearbeiten und In Datei drucken ausw hlen Drucker Mame 4 EFSON Stylus C45 Series wi Eigenschaften Ort _ In Datei drucken In der Gruppe Seite k nnen die zum Druck bestimmten Sei
167. rafik ein Im Editor des Objekts ffnet automatisch falls nicht f hren Sie einen Doppelklick auf das Objekt aus kann man nun eine Grafik einf gen oder entfernen Laden Sie eine beliebige Grafik hoch und dr cken auf OK Picture Im Kontextmen des Objekts sehen wir folgende Optionen in Klammern die Bezeichnungen des Objektinspektors Gr e automatisch AutoSize Dehnen Stretched standardm ig aktiviert Zentrieren Center Seitenverh ltnis behalten KeepAspectRatio standardm ig aktiviert Wenn wir die Option Gr e automatisch aktivieren nimmt das Objekt die Gr e der Grafik an Diese M glichkeit ist sinnvoll wenn man Grafiken verschiedener Gr en darstellen m chte Standardm ig ist diese Option abgeschaltet Die Option Dehnen ist standardm ig aktiviert und dehnt die enthaltene Grafik im Objekt Wenn Sie die Ma e des Objekts mit der Maus ver ndern wird sich die Gr e der Grafik der des Objekts anpassen Die Deaktivierung dieser Option f hrt dazu dass die Grafik hre urspr nglichen Ma e beh lt Der Unterschied zu Gr e automatisch ist der dass die Gr e des Objektes sich nicht an die der Grafik anpasst sprich das Objekt kann kleiner oder gr er als d e Grafik sein Die Option Zentrieren zentriert die Grafik im Objekt 1998 2009 FastReports Inc Reporterstellung 35 2 14 Die Option Seitenverh ltnis behalten ist st
168. range Blue and Grange rn Orange and White m Speichere aktuellen Stil Um den Text der berschriften zu ndern klicken Sie doppelt auf die Zelle Es erscheint der uns bekannte Texteditor hier w hlen wir den gew nschten Text Danach sieht unser Objekt so aus Name fYear Total Name of o Total oj o Jetzt m ssen wir nur noch das Format eingeben in welchem die Werte angezeigt werden sollen Dazu klicken Sie auf die erste Zelle wo sich Year und Name kreuzen und rufen das Kontextmen mit einem Rechtsklick der Maus Dann w hlen Sie Formatieren Edit Display Format Clear Contents Hier w hlen Sie das ben tigte Format 1998 2009 FastReports Inc 128 FastReport 4 6 Benutzerhandbuch 1 3 Ben ssso o s2 10000 51 0000 s7 800 00 Catherine s6 100 00 s3 20000 feao Den 1 ss90 ioo 812099 00 Die Verwendung von Funktionen In unserem Beispiel haben wir in der Zeile Summe das Gehalt der letzten vier Jahre Au er der Summe kann man folgende Funktionen verwenden MIN Minimaler Wert MAX maximaler Wert AVG Mittelwert COUNT Anzahl der Werte Lassen Sie uns die Funktion Min ausprobieren ffnen wir den Editor des Cross Tab Objektes und klicken auf das Feld Salary im Bereich der Drop Down Liste EEE O Mone Sum Max Average Count W hlen Sie im Men die Funktion MIN aus Jetzt k nnen
169. rastHeport 4 6 Benutzerhandbuch FastReport 4 6 Benutzerhandbuch Table of contents Chapter Designer 2 1 TastalursteueruNg 22 40 ee Basen aa eures 3 2 MausStEUEFUNG eu ee ea een une ee ee 4 3 SV MDOHEISTEN aore E een aaa EE E EE nenne 4 Designersymbolleiste u sen ieienleigieee 4 Symbolleiste Standard ssiri AARAA a aAa ARAA AEREE RARE EEEE EENE 5 Symbolleiste TE sisser RA a a 6 Symbolleiste Rahmen zusam a nk ee 7 Symbolleiste Ausrichtungspalelle sssusa see 8 4 Designer Optionen u u 22 aaa 9 5 HEDOTEINSIENUNGEN sessur E REE EEEa EE 10 6 SelleneinstellUngen vun een a a E ee 13 Chapter II Reporterstellung 17 1 REDOHODJEKIE eins een aan ann Hana en nee een 17 2 HEDOr Hello Worldi een nennen RAAE 18 3 Das OBJEKL TEXT ee 19 4 HTML Tags im Objekt Text uuzu020000000n000nnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnnnnn 21 5 Darstellung von Ausdr cken mithilfe des Objektes Text uuuuuusnnnnnnnnnnnnnnnnnnnnn une 22 6 Verwendung der Bander essucn use sontsun nennen sanieren a nn eRani hu EEn Eure nee ee 23 7 Da atenband r een 25 8 Komponente TfrxDBDataSet iu cin mennun nennum ennnen nenna 25 9 Repon Kundenliste sa A 26 10 Anzeigen der DB Felder mithilfe des Objektes Text uuuuuuuuunnunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 29 11 PSEUGONVME siimi inneren 30 12 VarlaDlen nenne nennen E 31 13 Objekt GratiK sossarna nnneeeaaeeen 33 14 Bopo mi GIaiiken
170. rden 4 die Liste der Felder die die Spalten berschriften darstellen werden 5 die Liste der Felder die die Zellen der Tabellen darstellen werden 6 hier wird die Struktur der zuk nftigen Tabelle angezeigt 7 die Objekteinstellungen Wie man sieht wird hier nur mit der Maus gearbeitet In unserem Fall werden nur die Felder aus Liste 2 in die Listen 3 4 5 r bergezogen Mehr machen wir f rs erste nicht und schlie en den Editor mit OK Jetzt sehen wir dass das Objekt diese Struktur auf der Reportseite annimmt 1998 2009 FastReports Inc 126 FastReport 4 6 Benutzerhandbuch 1 2 Year n n Grand Total 13300 1 Aussehen der Tabelle Fahren wir fort das Objekt n her kennenzulernen Als erstes sollten wir die Farbe der berschriften ndern und die englischen Bezeichnungen ins deutsche bersetzen Dies ist ganz einfach Um die Farbe zu wechseln klicken S e auf Year Name Grand Total und w hlen die ben tigte Farbe mit s4 auf dem Instrumentenpanell aus Folgendes sollte passieren Nam of ol Grand Totai oj ol Man kann auich vorgefertigte Stile verwenden Hierf r gehen Sie in den Objekteditor und klicken auf den Button Stil ausw hlen 1998 2009 FastReports Inc Kreuztabellen Cross tab Objekt 127 Stil ausw hlen white aray Orange Green aan areen and Orange Blue Blue and White aray and O
171. ri LE MSysQueries C ShipTozip wideString _ L MSysRelationships C shipTolountry Owide E enteek T nextikem nextord orders T parts T unicode TE vendors Collunn Yisible Where Sort Function Group Company scending ddr1 Phone FAK OrderMo SaleDate Die Zahlen bedeuten 1 Instrumentenleiste 2 Arbeitsfl che des Designers 3 Liste der verwendbaren Tabellen 4 Parameter der ausgew hlten Tabellenfelder Instrumentenleiste L ffnen SQL Datei i Speichern der Abfrage das Schema wird ebenfalls gespeichert leeren der Arbeitsfl che des Designers 4 Button OK Schlie en des Designers mit anschlie endem Speichern X Schlie en des Designers ohne zu speichern Die Arbeitsfl che des Query Builders und die Liste der Tabellen unterst tzen 1998 2009 FastReports Inc 206 FastReport 4 6 Benutzerhandbuch Drag amp Drop d h um eine Tabelle auf die Arbeitsfl che zu legen zieht man diese einfach mit der Maus r ber Die andere M glichkeit ist die ben tigte Tabelle in der Liste doppelt anzuklicken Um ein Feld in die Abfrage miteinzubeziehen reicht es aus dieses zu markieren WE A _ustho Float Company OwideString Addri yidestring Addrz wideString City Oidestring State Wideskring zip wideString Country Oideskring Phone WideString Fax OWideString TaxRate Float Contact Oideskring Markierte Felder erscheinen in
172. rierten Text dieser 1998 2009 FastReports Inc Assistenten 209 13 5 2 e E a SELECT c custMo C C Company C Phone FROH CuUStOmEE Achtung Falls Sie den Text der Abfrage ver ndern so verlieren sie das Schema die Anordnung der Tabellen im Query Builder und die Verbindungen zwischen diesen Wird der Text der Abfrage nicht manuell ver ndert so k nnen Sie immer im Query Builder das Schema visuell ver ndern Klicken Sie auf OK im Editor und kehren in den Reportdesigner zur ck Jetzt m ssen nur noch das Band MasterDatal mit der Datenquelle verkn pft und die Felder auf dem Band verteilt werden Erstellen einer komplexen Abfrage Im vorherigen Beispiel haben w r einen Report auf den Daten einer Tabelle aufgebaut Betrachten wir nun einen Report der die Daten zweier Tabellen enth lt Fr her haben wir die Arbeit des Reports mit Gruppen Kapitel Report mit Gruppen betrachtet Erstellen wir nun eine Abfrage f r diesen Report mit Hilfe des Query Builders Wir m ssen die Abfrage in SQL verfassen Dieser soll die Daten beider Tabellen anzeigen welche auf bestimmte Weise sortiert sind In unserem Fall durch die Verkn pfung der Felder CustNo n beiden Tabellen Wie im Beispiel vorhin erstellen wir einen neuen Report und legen auf die Seite die Komponente ADO Abfrage Im Editor starten wir nun den Query Builder Nun werden zwei Tabellen auf die Arbeitsfl che gezogen Customers und Orders Be
173. ript if Value gt 3000 then Memol Color clRed C Script if Value gt 3000 Memol Color clRed anstatt etwas wie dies zu schreiben PascalS cript if lt Tablel Fieldl1 gt gt 3000 then Memol Color clRed C Script if lt Tablel rFielal gt gt 3000 Memol Color clRed 1998 2009 FastReports Inc 102 FastReport 4 6 Benutzerhandbuch Dar ber hinaus gibt die Verwendung von Value anstatt eines Ausdrucks die M glichkeit einen universellen Bearbeiter f r das Ereignis OnAfterData zu erstellen und diesen mit mehreren Objekten zu verkn pfen Eins muss noch erw hnt werden enth lt das Objekt mehrere Ausdr cke z B exprl expr2 so wird in die Variable Value der Wert des letzten Ausdruckes bernommen Das Ereignis OnAfterData passt ausgezeichnet um die H he und Breite von Objekten wie z B Text zu berechnen Sprich wenn man im Script des Reports den tats chlichen Wert der H he des Objekts haben m chte dehnbares Objekt und im Objekt Text wird ein Ausdruck verwendet so kann man solch ein Script benutzen im Ereignis OnAfterData PascalS cript var MemoWidth Extended begin MemoWidth TfrxMemoV iew Sender CalcWidth end C Script float MemoW idth MemoWidth TfrxMemoV iew Sender CalcWidth Wenn der Datencode in das Ereignis OnBeforePrint einf gt wird so wird das Resultat die H he des Objektes welches den Ausdruck enth lt und nicht sein We
174. rixreport ist nur auf die beschr nkt die in der Textform dargestellt werden k nnen Dazu geh rt auch das Cross Tab Objekt Betrachten wir die Erstellung solch eines Reports dies geschieht analog dem im Kapitel Tabelle mit zusammengesetzten Kopfzeilen erstellten Report Wir f hren nun dieselben Schritte durch und rufen den Assistenten Dot matrix Report auf Auf die Seite legen wir nun die Komponente Datenbank Cross tab Objekt und konfigurieren die Struktur 1998 2009 FastReports Inc Dot Matrix Reporte 165 Cross tab Editor Quelldater Cross tab Struktur J SimpleCross ka t Summe m m e e e e e e e m e e m pe eee e ee aee m e ee e e e m m e Zeige Titel zeige R nder Spaltenkapf zeilenkopf zeillengesamtsumme Name r le automatisch Umrahmung der Zellen _ Druckrichtung erst nach unten dann gegen be Kopf auf neuer Seite wiederholen _ zellen Seite an Seite _ verbinde gleiche Zellen Wie man sieht zeigt der Editor die Struktur der zuk nftigen Tabelle schon in der Matrixform Den Stil der Zellen kann man im Designer durch den Button ver ndern Die brigen Arbeitsschritte unterscheiden sich nicht von den oben durchgef hrten Auf dem Bildschirm w rde solch ein Report so aussehen 1999 1500 1600 2400 1998 2009 FastReports Inc 166 FastReport 4 6 Benutzerhandbuch 9 2 Dot matrix reports printing Um einen Matri
175. rreport zu erstellen und damit die Ebenen der Verschachtelung zu erh hen unbegrenzt ist Zur Erinnerung ohne die Nutzung des Objekts Unterreport sind die Ebenen auf sechs begrenzt Die Ausf hrung der Unterreporte nebeneinander Sie haben die M glichkeit zwei oder mehr Objekte Unterreport nebeneinander auf dem selben Band anzulegen Dadurch kann man Reporte erstellen die nicht auf eine andere Weise erstellt werden k nnen Wenn z B die Unterreporte die Listen verschiedener L ngen enthalten 1998 2009 FastReports Inc Unterreporte 81 5 3 Wie man sieht bildet FastReport den Hauptreport weiter ann der Stelle an der die l ngste Liste endet Beschr nkungen bei der Nutzung der Unterreporte Da der Unterreport auf der Seite des Hauptreports liegt kann er folgende B nder nicht enthalten ReportTitle ReportFooter Seitenkopf Seitenfu Seitenhintergrund Spaltenkopt fu Genau genommen kann man diese B nder auf die Seite des Unterreports legen diese werden jedoch nicht bearbeitet auf die Seite des Hauptreports kann man weiterhin alles legen Deshalb hat es auch keinen Sinn die Seiteneinstellungen des Unterreports zu ndern bei der Erstellung des Reports werden die Seiteneinstellungen des Hauptreports verwendet Man kann keine Objekte unter das Objekt Unterreport legen Company Customers Company Beim Darstellen des Unterreportes werden die darunter lie
176. rstellen einen Report der Fische und deren Bezeichnungen enthalten soll Auch hier ben tigen wir die Demonstrationsdatenbank DBDEMOS aus dem Delphi Set Erstellen wir ein leeres Projekt in Delphi legen die Komponente TTable auf die Seite und stellen d e Eigenschaften ein DatabaseName DBDEMOSs TableName Biolife db Um mit der Tabelle in FastReport zu arbeiten f gen wir die Komponente TfrxDBDataSet hinzu und stellen die Eigenschaften ein DataSet Tablel UserName Bio Jetzt legen wir auf die Form die Komponente TfrxReport und starten den Designer Her starten wir einen neuen Report und verkn pfen die Tabelle mit dem Report im Fenster ReportlDaten Starten wir mit der Erstellung der Form des Reports Auf das Band Reporttitel 1998 2009 FastReports Inc 36 FastReport 4 6 Benutzerhandbuch legen wir das Objekt Text mit dem Text Fische an Das Band Masterdata verkn pfen wir mit der Datenquelle Doppelklick auf das Band und w hlen Bio aus der Liste Damit die Grafik reinpasst vergr ern wir die H he des Bandes auf 3 cm Auf das Band legen wir das Objekt Text und verkn pfen es mit dem Feld CommonName mit einer der oben erw hnten M glichkeiten Daneben legen wir das Objekt Grafik und verkn pfen dieses mit dem Feld Grafik Hierf r stellen wir im Objektinspektor die Eigenschaften ein DataSet Bio DataField Graphic Zur Erinne
177. rstellt eine neue Seite und zeigt weiter Objekte an wenn ein Objekt nicht zerlegt werden kann wird es auf die folgende Seite bertragen wobei die enthaltenen Objekte verlagert werden der Prozess wird solange fortgef hrt bis alle Objekte des Bandes angezeigt werden Der Algor thmus des Zerlegens wird deutlich wenn man die folgende Grafik betrachtet 1998 2009 FastReports Inc Reporterstellung 41 Before split After split Di 1 Di hi u Bu Man muss anmerken dass der Algorithmus nicht 100 prozentige Qualit t des erhaltenen Reports garantiert Deshalb sollten S e diese Option vorsichtig verwenden Sollten die Objekte auf dem Band auf eine komplizierte Weise angeordnet sein und h tten dazu noch verschiedene Schriftgr en k nnte folgendes passieren D E Qi hl 2 J fi 5 1 2 17 Textumfluss bei Objekten In manchen F llen ist es bei der Reporterstellung notwendig den Text um Objekte oft Grafiken flie en zu lassen Hier eine Demonstration anhand dem Beispiel mit den Fischen F gen wir in den Report ein Objekt Text ein rot umrandet auf der Grafik und 1998 2009 FastReports Inc 42 FastReport 4 6 Benutzerhandbuch verteilen die Objekte auf folgende Weise ReportTitle ReportTiklei Fishes Bio Com mon Name TBio Notes Beim Objekt Bio Notes deaktivieren wir die Option Dehnen bei unteren Objekt aktiv
178. rt sein 6 13 Serviceobjekte Neben den im Report enthaltenen Objekten Seiten B nder Objekte Text usw sind zus tzlich im Script einige Serviceobjekte enthalten Diese sind hilfreich bei der Steuerung der Erstellung eines Reports Zu diesen Objekten geh rt das oben benutzte Objekt Engine Die Liste der Serviceobjekte ist unten aufgef hrt Report Objekt Report Engine Link zur Reportengine Outline Link zum Steuerungselement Reporttree im Vorschaufenster Betrachten wir die Objekte 1998 2009 FastReports Inc Script 103 6 13 1 Objekt Report Stellt einen Link zum laufenden Report dar Die Eigenschaften des Objekts kann man sehen wenn man das Element Report im Fenster Reporttree ausw hlt Methoden Methode Beschreibung function Calc const Expr String Zeigt den Wert des Ausdrucks Expr an nn z B Report Calc 1 2 w rde 3 anzeigen Jeder Ausdruck der aus Sicht von FastReport korrekt st kann als Ausdruck bertragen werden function GetDataSet const Alias Gibt einen Datensatz mit einem SEENT Eee angegebenen Namen zur ck Der Datensatz muss in der Liste der Reportdaten enthalten sein Dialog ReportlDaten 6 13 2 Objekt Engine Dies st ein sehr n tzliches und interessantes Objekt welches einen Link zur Engine der Kern von FastReport welcher die Erstellung des Reports steuert darstellt Indem man die Eigenschaften un
179. rt bezieht Unser Report soll w e folgt aussehen Our company our email emailemail c om Logo Customer Phone Action Club 313 07 0 0239 Action Ower Supply 22 44 500211 Adventure Undersea 111 34 09054 Amercan SCUBA Supply 213 554 0092 Zuerst wird der Basisreport erstellt Dieser soll im Reportkopf das Firmenlogo und die Unternehmensdaten enthalten Nun erstellen w r den neuen Report und f gen dort die Objekte ein 1998 2009 FastReports Inc 192 FastReport 4 6 Benutzerhandbuch ReportTitle ReportTitlei Logo Our company L l r i P our email emailemail orm L l l Speichern wir den Report unter den Namen base fr3 In welchem Ordner Das h ngt davon ab welche Einstellungen Sie vorgenommen haben Standardm ig wird die Schablone in dem Ordner gespeichert der auch die ausf hrende Datei enth lt Den Ordner f r das Speichern der Schablonen kann man in der Komponente TfrxDesigner eingeben ber die Eigenschaft TemplateDir Jetzt erstellen wir den Nachfolgereport Dazu w hlen Sie im Men DateilNeu und gehen im sich ffnenden Fenster auf den Tab Vorlagen Wir suchen unsere Datei base fr3 in der Liste w hlen diese aus und setzen ein H kchen bei Report erben Heues Element Elemente vorlagen FastReport erstellt einen neuen Report der alle Elemente des Bas sr
180. rung beide Eigenschaften sind vom Typ Liste deswegen kann man die Werte mit der Maus aussuchen Damit die Grafik reinpasst ver ndern w r d e Ma st be auf 4 x 2 5 cm ReportTitle ReportTiklei Fishes Bio Common Name Der Report ist nun fertig s h unten 1998 2009 FastReports Inc Reporterstellung 37 2 15 Clown Tr ggerfish Red Emperor Multi Text Anzeige Kehren wir nun zu unserem Beispiel mit den Fischen zur ck In der Tabelle Biolife ist ein Feld Notes welches eine detaillierte Beschreibung f r jeden Fisch enth lt F gen wir dieses Feld nun in unseren Report ein Auf den ersten Blick ist alles recht einfach Wir f gen dem Band mit den Daten das Objekt Text hinzu verkn pfen dieses mit dem Feld und stellen die Ma e des Objektes auf 8x 2 5c m Wir starten den Report und sehen dass das Ergebnis nicht dem entspricht was wir erwartet haben Clown Triggerfish Red Emperor Giant Maori Wrasse Also known as the big spotted triggerfish Inhabits outer reef areas and feeds upon crustaceans and mollusks by crushing them with powerful teeth They are voracious eaters and divers report seeing the clown triggerfish devour beds of pearl oysters Called seaperch in Australia Inhabits the areas around lagoon coral reefs and sandy bottoms The red emperor is a valuable food fish and considered a great sporting fish that fights with tury vuhan h
181. rung der Summen TstringList Die Summe soll in Form von Zeilen gespeichert werden Dabei soll die erste Zeile die Werte der ersten Gruppe darstellen usw Die Gruppennummer soll eine ganzzahl ge Variable sein die sich mit jeder folgenden Gruppe erh ht Unser Script sieht in diesem Fall so aus PascalS cript var List TetringList i Integer procedure frxReport1lOnStartReport Sender TfrxComponent begin List TStringList Create end procedure frxReportlOnStopReport Sender TfrxComponent begin List Free end procedure PagelOnBeforePrint Sender TfrxComponent begin i 0 end procedure GroupHeaderlOnBeforePrint Sender TfrxComponent begin if Engine FinalPass then Memo8 Text Sum List 1 end procedure GroupFooterlOnBeforePrint Sender TfrxComponent begin if not Engine FinalPass then List Add FloatToStr SUM lt Group ItemsTotal gt MasterDatal Ineii end begin end C Script TecringL iet List int 7 void frxReport1lOnStartReport TfrxComponent Sender 1998 2009 FastReports Inc Script 99 List TStringList Create void frxReportlOnStopReport TfrxComponent Sender List Free void PagelOnBeforePrint TfrxComponent Sender void GroupHeaderlOnBeforePrint TfrxComponent Sender if Engine FinalPass Memo8 Text Sun List li void GroupFooterlOnBeforePrint TfrxComponent Sender L
182. s tze angezeigt die die Bedingung Orders CustNo Customer CustNo erf llen sprich f r jeden Kunden werden nur seine Bestellungen angezeigt 1221 1023 01 07 88 1221 1076 16 12 94 1221 1123 24 08 93 1221 1169 06 07 94 1221 1176 25 07 94 1221 1269 16 12 94 1 gt gt EV 17 BE 1231 1060 28 02 89 1231 1073 15 04 89 1231 1102 06 06 92 1231 1160 01 06 94 1998 2009 FastReports Inc 54 FastReport 4 6 Benutzerhandbuch Auf diese Weise kann man Reporte mit bis zu 6 Datenebenen anlegen 2 23 Kopf und Fu zeilen der Datenb nder Datenb nder k nnen eine Kopf und Fu zeile besitzen Die Kopfzeile wird vor dem Datenband ausgef hrt die Fu zeile nach dem letzten Datenband Hier ein Beispiel der Funktionsweise bei einem einfachen Report Header Header header header Br data data gt data Footer Footeri data footer data footer Betrachten wir die Anordnung der Kopf und Fu zeilen bei einem Master Detail Report Header Header1 masterheader masterheader masterdata detailheader masterdata detaildata Footer Footeri detaildata masterfooter detailfooter Header Header masterdata detailheader detailheader detaildata Jetaildata detaildata Footer Footer detailfooter a E Jetailfooter masterfooter Wie man sieht wird die Kopfzeile vor jedem Datenband ausgef hrt F r das Band Daten 1 Ebene wird das einmal am Anfang des Reports gemacht F r d
183. s beim Einf gen neuer Objekte Ist die Option aktiviert so wird jedesmal beim Einf gen eines Objekts der Editor gestartet M chten Sie viele neue Objekte einf gen so ist es besser diese Option abzuschalten Durch das Deaktivieren der Option Bandbezeichnungen anzeigen werden diese ausgeblendet Dadurch wird auf der Seite Platz gespart Die Bandbezeichnung wird in diesem Fall m Band geschrieben Das Deaktivieren der Option Drop Down Feldliste anzeigen stoppt das Anzeigen der Drop Down Liste wenn der Mauszeiger auf das Objekt Text gezogen wird welches mit Daten verbunden ist Dies wird notwendig wenn im Bericht viele kleine Objekte enthalten sind Die Option Freie Bandpositionierung l st die Verbindung der B nder zum Blatt Diese Option ist abgeschaltet und die B nder ordnen sich gem ihrer Bestimmung Der Abstand zwischen den B ndern wird im Feld Abstand zwischen B ndern festgelegt Reporteinstellungen Das Fenster mit den Berichtsoptionen 1st ber das Men ReportlOptionen zu erreichen Der Dialog enth lt 3 Seiten Erste Seite Allgemein 1998 2009 FastReports Inc Designer 11 Reporteinstellungen Allgemein Vererbung Beschreibung Druckereinstellunger p vorgabe 4 kerox Phaser 3435 PCL 6 Samsung ML 1200 Series g Microsoft XPS Document Writer 4 HF LaserJet P1006 Eiiey 1 4 HP LaserJet P1006 4 HF LaserJet 4000 Series PCL 4 HF Color LaserJet
184. sdr cke k nnen ebenso Konstanten Variablen Funktionen und DB Felder enthalten Diese M glichkeiten werden wir im sp teren Verlauf n her betrachten Also erkennt FastReport automatisch Ausdr cke wenn diese in eckigen Klammern stehen Was jedoch ist wenn unser Text eckige Klammern enth lt wir aber nicht wollen das diese als Ausdruck erkannt werden z B wollen wir diesen Text einf gen all 10 FastReport versteht die 1 als Ausdruck und macht folgendes al 10 was uns selbstverst ndlich nicht zufrieden stellt Eine der M glichkeiten das zu vermeiden ist die Ausdruckerkennung zu deaktivieren Einfach die Eigenschaft AllowExpressions im Inspektor oder Ausdr cke erlauben im Kontextmen ausschalten Dadurch werden Ausdr cke im Text ignoriert Manchmal braucht man jedoch Ausdr cke und Text n eckigen Klammern z B all myVar 1998 2009 FastReports Inc Reporterstellung 23 2 6 Das Deaktivieren der Ausdr cke erlaubt das Einf gen der eckigen Klammern verhindert jedoch die Bearbeitung der Ausdr cke In diesem Fall erlaubt FastReport andere Symbole um Ausdr cke zu kennzeichnen Diese Eigenschaft besitzt das Objekt ExpressionDelimiters welches als Standardeinstellung hat In unseren Fall ersetzen wir nun die Klammer durch all lt myVar gt Die Eigenschaft ExpressionDelimiters muss dazu auf lt gt umgestellt werden Das Komma trennt in dabei das ffnende Sy
185. ser Format wurde als erstes durch OpenOffice org entwickelt und am 1 Mai 2006 als internationaler Standard ISO IEC 26300 bernommen FastReport unterst tzt den Export n Tabellen ods Date und Text odt Datei OpenDocument Diese Dateien k nnen mit Hilfe des kostenlosen Paketes OpenOffice ge ffnet werden Art des Exportes Tabellar sch Beim Export erscheint ein Dialog mit den Einstellungen der Parameter der ausgehenden Date penlocument Text Seitenbereich Ale Aktuelle Seite Seitennummern undlader Seitenbereiche durch komma getrennt eingeben 2 5 1 3 5 12 Exporteinstellungen _ weiter WYSIWYG Seitenumbr che Hintergrund _ Mach Export ffnen 1998 2009 FastReports Inc 222 FastReport 4 6 Benutzerhandbuch 14 5 3 Exporteinstellungen Weiter ununterbrochener Export Die Seiten und Tabellen werden exportiert ohne unterbrochen zu werden und der Ausblendung der Spaltenbezeichnungen diese werden nur auf der ersten und letzten Seite angezeigt Die Option ist sinnvoll bei gro en Dokumenten die zur weiteren Bearbeitung vorgesehen sind WYSIWYG eine hundertprozentige bereinstimmung des u eren der Datei beim Export Wird die Option deaktiviert so wird eine Optimierung durchgef hrt bei welcher die Anzahl der Spalten und Zeilen in der resultierenden Datei reduziert wird Hintergrund der Export der gew hlten Hintergrundfarbe Seitenumbr che
186. t Export nach PDF Exportiert den Report in eine pdf Datei Dieser Button wird angezeigt wenn der entsprechende Exportfilter installiert worden ist l Als E Mail senden Export in ein unterst tzendes Format und Versand per E Mail als Anhang Dieser Button wird angezeigt wenn der entsprechende Exportfilter installiert worden ist E Textsuche im Report Tastaturbefehl Strg F a JVergr em Vergroten den massan O Vollbild Zeigt den Report auf dem ganzen Bildschirm an Um zur Standardansicht zu wechseln klicken Sie doppelt auf die Seite Zeigt und verbirgt den Reporttree Miniaturansicht Zeigt Verbirgt die Miniaturansicht der Seiten Seiteneinstellungen Ruft einen Dialog mit den Seiteneigenschaften auf Erste Seite Springt zur ersten Seite des Reportes Vorige Seite Geht zur vorherigen Seite im Report Seitennummer Geht zur angegebenen Seitennummer im Report F gen Sie die Nummer ein und klicken auf Enter ch om Editiert die aktuelle Seite Geht zur n chsten Seite im Report Springt zur letzten Seite im Report Schlie en Schlie en Schlie t das Vorschaufenster H 100 7 Pi 4 1 14 1 Tastatursteuerung Speichert den Report fp3 Druckt den Report Weiterf hren der Suche 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 215 Fl ssiges Scrollen des Dokumentes Bild hoch Bild Scrollen hoch runter runter Strge Bild hoch Scrollen hoch runte
187. t procedure Cross1l0OnCalcWidth ColumnIndex Integer ColumnValues Variant var Width Extended begin if VarToStr ColumnValues 0 1999 and VarToStr ColumnValues 1 11 then width 100 end C Script void CrosslOnCalcWidth int ColumnIndex var ant ColumnValues Extended amp Width if VarToStr ColumnValues 0 1999 amp amp VarToStr ColumnValues 1 11 Width 100 And the result would appear as follows In our example to hide a column it is enough to return the Width 0 Note that the sums are not recalculated at the same time s nce the matrix s already full of values at this time 1998 2009 FastReports Inc 142 FastReport 4 6 Benutzerhandbuch 7 10 Manuelles Ausf llen der Tabelle Wie wir bereits wissen gibt es 2 Arten der Kreuztabelle die Objekte Datenbank Cross tab Objekt und Cross tab Objekt Bis jetzt haben wir nur mit dem ersten Objekt gearbeitet Dieses wird an die Daten der DB Tabelle gekn pft und wird beim Start des Reports automatisch mit Daten gef llt Betrachten wir nun das zweite Objekt Cross tab Objekt Dieses Objekt ist nicht mit Daten der Datenbank verkn pft Sie m ssen diese selber in die Tabelle eintragen Das Objekt hat einen hnlichen Editor hier w hlen Sie aber die Anzahl Zeilen der Spalten und der Zellen Cross tab Editor Dimensionen Cross bab Struktur Zeilen Spalten zellen
188. t zwei B nder MasterData diese sind nicht mit Daten verkn pft 1998 2009 FastReports Inc Script 115 ReportTitle FeportTitle 1 OnManualBuild test i PageFooter PageFooter 1 Der Bearbeiter wird diese B nder je sechs mal ausf hren und zwar abwechselnd Nach sechs B ndern soll eine kleine L cke sein PascalScript procedure PagelOnManualBuild Sender TfrxComponent var i Integer begin for i 1 to 6 do begin zeigen nacheinander zwei B nder Engine ShowBand MasterDatal Engine ShowBand MasterData2 machen eine kleine L cke if i 3 then Engine CurY Engine CurY 10 end end C Script void PagelOnManualBuild TfrxComponent Sender int i for i 1 i lt 6 i zeigen nacheinander zwei B nder Engine ShowBand MasterDatal Engine ShowBand MasterData2 machen eine kleine L cke if i 3 Engine CurY Engine CurY 10 1998 2009 FastReports Inc 116 FastReport 4 6 Benutzerhandbuch hasterDatal MasterData hasterDatal WasterDatar MasterDatal hasterData MasterDatal WasterData hasterDatal MasterData hasterDatal WasterData OnManualBuild test Das n chste Beispiel wird zwei Gruppen mit B ndern nebeneinander anzeigen PascalS cript procedure PagelOnManualBuild Sender var i J Integer SaveY Extended begin SaveY Engine CurY for j 1 to 2 do begin for i
189. ta Daten 2 Ebene ee Orders Cust No Orders Order Mo Orders Sale Date Beachten Sie das Band MasterData dieser muss oben liegen Wenn man ihn unter das Band Daten 2 Ebene setzt w rd FastReport dies beim Start des Reports melden Wenn wir den Report nun starten sehen wir das die Bestellliste f r jeden Kunden gleich ist und alle Eintr ge der Liste Bestellungen enthalten Dies geschieht weil wir den Listenfilter in der Tabelle Bestellungen eingestellt haben Bei der Komponente Table2 stellen wir die Eigenschaft MasterSource DataSourcel ein dadurch stellen wir die Verbindung master detail her Jetzt muss man die Bedingung des Filters festlegen Hierf r rufen Sie den Editor der Eigenschaft MasterFields der Komponente Table2 auf 1998 2009 FastReports Inc Reporterstellung 53 Field Link Designer Avallable Indexe CuztNo Detail Fields Master Fields Company Add Addr Addre City Joned Field Cancel Help Wir m ssen die beiden Felder CustNo der beiden Quellen verkn pfen W hlen Sie die beiden n der Liste oben aus und klicken S e auf Add Die verkn pften Felder erscheinen m unteren Fenster S e k nnen das Fenster jetzt schlie en indem S e auf OK klicken Beim Start des Reports macht FastReport folgendes Nach Auswahl eines Datensatzes aus der Master Tabelle Kunde filtert es die Detail Tabelle Orders Danach werden nur Daten
190. tehen verschiedene Farbenpaletten der Reportelemente zur Auswahl Report Assistent Felder Gruppen Layout Schritt 5 Berichtsstil ausw hlen Company Address Action Club Action Club P Box 5451 F Acton Dwer Supply Blue Spar Box Adventure Undersea PO Box 744 Count 3 Nach dem Klick auf den Button Fertig erstellt der Ass stent folgenden Report ReportTitle ReportTitlei Report FageHeader PageHeader1 Company Contact Phone FAX Customers Company Customers Contact Customers Phon Custamers FA PagerFooter FPageFooteri Fage L rm Der Report kann auch gleich im Vorschaufenster betrachtet werden 1998 2009 FastReports Inc 202 FastReport 4 6 Benutzerhandbuch 13 2 Assistent f r neue Verbindung Dieser Ass stent erlaubt in den schon bestehenden Report ein neue Verbindung zur Datenbank hinzuzuf gen Dies kann n tig sein wenn Sie im Report Daten aus zwei oder mehr Datenquellen anzeigen m chten Der Assistent f gt in den Report ein Komponente des Types ADO Datenbank hinzu Verbindunes Assistent verbindung Yerbindungstyp ausw hlen ADO Datenbank kai Datenbank ausw hlen Oo Anmeldedialog anzeigen O verwende Benutzernamelkennwort Sie m ssen die Verbindungszeile hinzuf gen a Es ffnet sich ein Standardfenster Windows wo Sie die Art der Verbindung und die Parameter ausw hlen k nnen Danach geben Sie den Benutzernamen un
191. tellt in Delphi 2 a 2 22002220000000000an00nann0nnnn0nn 158 Chapter IX Dot Matrix Reporte 161 1 Cross tab in dot matrix u aan an 164 2 Dot matrix reports printing uuusnuau0nnnnuonnanonnnnnnnnanunnnnnunnnnnnnnnnnnnnnnnnnnnnnnanunnnnnennnnnennnnn 166 3 Dot matrix Befehlsobjekt u une nnna 167 Chapter X Dialogformen 169 1 SIEUErUNGSBIEMENIE nn eine 169 2 HEDOrL Hello Wordi u a enee a een Eee ae He Er En Een EEE He 171 3 Einf gen von Parametern und deren Transfer in den Report uurusnsannunnnnnnnnnnnnen 172 4 Interaktion der Steuerungselemente uuzuuu00n an000nnnnnonnnnnunnnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnnn 173 5 Verschiedene Dialogformen u ee 173 6 Steuerung der Reporlformen sense aan 174 1998 2009 FastReports Inc Table of contents IV Chapter XI Zugangskomponenten zu den Daten 178 1 Beschreibung der Komponenten u200 nan00nannnnnnnnnnunnnnnnnnnnnnnnnnnnnnunnnnnnunnnnnnunnnnnnenn 178 TfrxDBLookupComboBoX nu ea ee mannanna nnmnnn 179 TIXADOTEbIE u nee kuischrensnalinrnnhidclen 180 TRADUCI oE E E a AEE EE 182 TADO DJNBISE ioii aE E AEAEE E AEE EAEn 184 2 HEDOTIELSIEIUNG or EE E 185 3 Erstellen wir einen Report des Typs Liste uunnunnnnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnennnn nun 186 4 Report mit Paramelerabiragen uuuu un a nnmnnn nnmnnn 187 5 Weitere n tzliche M glichkeiten
192. tellung m Designer FastReport Die Exportfilter beachten diese Anforderungen beim Transfer der Objekte in das ben tigte Format Dies wird durch spezielle Algorithmen der bertragung und der optimalen Anordnung erm glicht An Stellen wo sich die Objekte berschneiden werden neue Spalten und Zeilen in der neuen Tabelle gebildet Dies ist notwendig zur genaueren Positionierung der bertragenden Objekte in FastReport zu erhalten und die gr tm gliche bereinstimmung zwischen der urspr nglichen und der gedruckten Datei zu erreichen Viele sich berschneidende Objekte im Report f hren dazu das sich die Anzahl der Spalten und Zeilen in der Tabelle erh ht Dies erschwert die weitere Verwendung der Datei und verlangsamt den Export dieser s Zum Beispiel ist im Report eine geringf gige berschneidung von zwei Objekten vorhanden Diese befinden sich auf einem Band und berschneiden sich Die Zahl der Eintr ge bei der Erstellung des Reportes betr gt 150 Beim Export in das Format RTF werden 450 Zeilen in der Tabelle erstellt 150 f r jedes Objekt und 150 f r die berschneidung Wird die berschneidung behoben wird die Zahl auf 300 reduziert Bei groben Reporten und und hoher Anzahl der Objekte wird der Unterschied enorm sein auch in der Gr e der ausgehenden Datei 1998 2009 FastReports Inc 234 FastReport 4 6 Benutzerhandbuch Memo Objekte auf der Reportseite Objekte nach dem Export in Excell
193. ten Felder Gruppen Layout Stil Schritt 1 DataSet ausw hlen Neue Tabelle Neue Abfrage Wie man sieht besitzt das Fenster mehrere Tabs Auf dem ersten Tab w hlen wir die Datenquelle aus auf der der Report erstellt werden soll Hier befinden sich alle uns zur Verf gung stehenden Datenquellen Komponenten TfrxDBDataSet Wir k nnen ebenfalls eine neue Datenquelle erstellen Tabelle oder Abfrage indem wir die Buttons Neue Tabelle oder Neue Abfrage anklicken Es wird der Assistent der neuen Tabelle Abfrage aufgerufen dazu sp ter m Kapitel mehr W hlen w r nun die Datenquelle und klicken den Button Weiter gt gt Im folgenden Tab m ssen wir die Felder ausw hlen die im Report erscheinen sollen 1998 2009 FastReports Inc Assistenten 199 Report Assistent Felder Gruppen Layout Stil Schritt amp Anzuzeigende Felder ausw hlen verf gbare Felder gew hlte Felder Last Invoice Date In der Liste links befinden sich die verf gbaren Felder in der Liste rechts die ausgew hlten Die Felder kann man verschieben indem man die Pfeile dazwischen verwendet Mithilfe der Buttons kann die Reinfolge der Felder ver ndert werden F gen wir nun die Felder Company Contact Phone FAX hinzu und klicken auf Weiter gt gt Im n chsten Tab k nnen Gruppen gebildet werden Dabei
194. ten ausgew hlt werden alle aktuelle oder bestimmte seiten Alle Aktuelle Seite Seitennummern und oder Seitenbereiche durch komma getrennt eingeben z B 1 3 5 12 Gruppe Kopien hier geben wir die Anzahl der Kopien an und w hlen die Sortierung der Seiten aus Sortieren 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 217 kopien gt Anzahl der kopien I cy Sortieren Gruppe Druckoptionen hier w hlen wir welche Seiten gedruckt werden sollen alle gerade ungerade die Reihenfolge ab erster Seite oder ab der letzten und geben die Einstellungen f r doppelseitigen Druck ein Duplex falls Ihr Drucker das unterst tzt Druckoptioner Drucken Alle Seiten Reihenfolge Beginne mik erster Seite Duplex Standard In der Gruppe Druckmodus kann einer der Modi ausgew hlt werden Druckmaodus l Standard ka Papierformat l l Standard Standarddruck Der Drucker druckt das in dem Report angegebene Format Eine Seite des Reports entspricht einer gedruckten Seite Fa Ei l Aufteilen Aufteilen Dies wird verwendet um Seiten im DIN A3 Format als DIN A4 zu drucken Aus einer Reportseite werden zwei gedruckte W hlen Sie diesen Modus m ssen Sie auch das gew nschte Papierformat aus der Liste Papierformat ausw hlen l l Zus mmenf gern 2 Zusammenf gen Will man den Report DIN A4 im Format DIN A3 drucken so w hlt
195. tenfeld Ausdruck Junsichtbare B nder z hlen _ kumulatiye Summe SUP SGroup IkernsTotal Masterbatal Text ON Im Editor muss nun der Typ der Funktion das Datenband das Datenfeld und der Ausdruck angegeben werden Ebenfalls kann man Unsichtbare B nder z hlen und Kumulative Summe markieren Die zweite M glichkeit ist die Nutzung des Objektes Text und der Button in dessen Editor Es wird ein zus tzliches Fenster ge ffnet ist dem Fenster Systemtext hnlich Klickt man nun auf OK so wird in den Text die Funktion eingef gt 1998 2009 FastReports Inc Formatierung der Werte Formatierung der Werte 73 4 1 Values formatting Beachten wir ein Besonderheit der Aggregatfunktionen Diese geben uns die Zahlen nicht formatiert wieder 1176 25 07 34 p4 170 95 1269 15 12 34 p1 400 00 51450 8 Die wird so gemacht weil die Datenfelder in der Regel die Informationen des Objektes Text wiedergeben ohne diese vorher zu formatieren Um das Resultat der Funktion SUM besser darzustellen besitzt FastReport folgende M glichkeiten der Formatierung Markieren wir das Objekt mit der Summe und rufen dessen Kontextmen auf Den Editor der Formatierung erreicht man ber das Men Anzeigeformat oder mit der Eigenschaft DisplayFormat im Objektinspektor Anzeiseformat Kategorie Format Text eur u Datum Zeit wahrheiksiwert Dezimaltrenner
196. tert Alles in einen Ordner alle zus tzlichen Dateien werden im selben Ordner aufbewahrt wie die Hauptdate1 Seitennavigator ein spezieller Navigator wird erstellt zur schnelleren Navigation ber die Seiten Feste Breite die automatische nderung der Tabellenbreite bei Anderung der Gr e des Fensters wird blockiert Mehrfachseite jede Seite wird in einer separaten Datei gespeichert Hintergrund Export grafischer Attribute die auf der Seite vorhanden sind Bilder aktiviert die M glichkeit der Darstellung von Grafiken Nach Export ffnen die Datei wird gleich nach dem Export mit dem voreingestellten Programm ge ffnet Besonderheit des Exportes der Export kann aus mehreren Dateien bestehen Grafiken werden unterst tzt und jede separat in einer eigenen Datei gespeichert RichText Objekte werden als einfacher Text exportiert das Aussehen und die Gr e der Datei sind 1998 2009 FastReports Inc 228 FastReport 4 6 Benutzerhandbuch stark von der verwendeten Maske des Reportes abh ngig Kap tel Vorschl ge zur Reporterstellung 14 5 8 Export in ein Textformat Standard Textdatei enth lt Informationen aus dem Report diese st maximal optimiert und umgewandelt in Zusammenhang mit der Besonderheit des gegebenen Formates Art des Exportes Tabellar sch Beim Export in Text wird ein Fenster mit den Einstellungen der zu exportierenden Datei angezeigt
197. tion zur Diagnose der Daten w hlen Die unten aufgef hrte Liste enth lt die enthaltenen Aggregatfunktionen 1998 2009 FastReports Inc Sortierung Ergebnisse 67 Su Therese Summe ds Aus ui Datenmenge Berechnet den Durchschnitt des Ausdrucks f r die Datenmenge COUNT Z hlt d e Anzahl der Datens tze Die Syntax aller Aggregatfunktionen au er COUNT sieht w e folgt aus am Beispiel der Funktion SUM SUM expression band flags SUM expression band SUM expression Die Zuordnung der Parameter ist folgende expression Ausdruck dessen Bedeutung bearbeitet werden muss band der Name des Datenbandes mit dem gearbeitet werden soll flags ein Feld welches folgende Bedeutungen haben kann und die Kombinationen dieser 1 beachte unsichtbare B nder 2 kumuliert den Wert Wie man sieht ist expression der einzige obligatorische Parameter die restlichen sind optional Es empfiehlt sich trotzdem das Parameter band zu nutzen um Fehler zu vermeiden Die Funktion COUNT hat folgende Syntax COUNT band flags COUNT band Die Zuordnung der Parameter ist analog Es existiert eine Regel die f r alle Aggregatfunktionen G ltigkeit hat die Funktion wird nur f r das Datenband berechnet und wird nur in dem Fu angezeigt hierzu z hlen Fu Seitenfu Gruppenfu Spaltenfu Wie funktionieren Aggregatfunktionen Sehen wir uns ein Beispiel unseres Reports mit Gruppen an F ge
198. tomers P Um den Anker einzuf gen schreiben wir im Script des Bandes MasterData2 OnBeforePrint PascalS cript procedure MasterData2OnBeforePrint Sender TfrxComponent begin Engine AddAnchor lt Customers Company gt end C Script void MasterData2OnBeforePrint TfrxComponent Sender Engine AddAnchor lt Customers Company gt Nun starten wird den Report und vergewissern uns dass die Hyperlinks funktionieren Was man noch erw hnen kann ist die Funktion Engine GetAnchorPage Diese zeigt die Nummer der Seite an in der der Anker hinzugef gt wurde Ebenfalls ist diese Funktion wichtig f r die Erstellung des Inhaltsverzeichnisses Dazu muss im Report Zweipass aktiviert werden Anwendung des Objektes Outline Das Objekt Outline stellt den Reporttree dar welcher im Vorschaufenster angezeigt werden kann Beim Klick auf ein Element des Baums wird man auf die damit verbundene Reportseite geleitet Um mit Outline arbeiten zu k nnen muss man das Script nutzen we l manche B nder einen Mechanismus besitzen der es ihnen erlaubt den Baum automatisch zu erstellen Betrachten wir zwei Beispiele der Nutzung von Outline Einmal 1998 2009 FastReports Inc Script 111 mit Hilfe der B nder und aus dem Script Um den Baum automatisch zu erstellen besitzen fast alle B nder die Eigenschaft OutlineText in die die Zeile des Ausdrucks eingef gt wird Der Ausdruck wird berechnet
199. tzerhandbuch if Result then begin if CheckBox1 Checked then Result DialogPage2 ShowModal mrOk end end C Script void frxReportlOnRunDialogs bool amp Result Result DialogPagel ShowModal mrOk if Result if CheckBoxl1 Checked Result DialogPage2 ShowModal mrOk Der Bearbeiter arbeitet folgenderma en wir zeigen den ersten Dialog Wird dieser mit OK geschlossen schauen wir uns das Kontrollk stchen CheckBox1 an und zeigen den zweiten Dialog falls n tig Gibt der Bearbeiter Result True wieder so wird der Report erstellt Ist Result False so w rd der Report gestoppt 1998 2009 FastReports Inc Zugangskompo nenten zu den Daten 178 FastReport 4 6 Benutzerhandbuch 11 1 Die meisten Reporte basieren in der Regel auf den Daten einer Datenbank F r den Zugang zu diesen Daten hat Delphi effektive Mechanismen die auch n FastReport verwendet werden Wir reden hier ber die Komponenten TTable und Tquery Diese k nnen als Datenquellen f r den Report fungieren Man kann eigentlich alle Komponenten mit diesem Ziel verwenden die Nachfolger von TdataSet sind Au er dem Zugang zu den Daten die m Report verwendet werden erlaubt FastReport neue Komponenten in run time zu erstellen Im FastReport ist das Prinzip der Erstellung der Zugangskomponenten dem in Delphi hnlich Wie in Delphi wird auf die Form die Komponente gelegt und dessen Eigenschaften werde
200. ung der Objekte insbesondere wenn ein Objekt ber mehreren anderen liegt Im n chsten Beispiel enthalten die beiden oberen Objekte einen dehnbaren Text und das untere Objekt hat die Eigenschaft Verschieben wenn berlappung aktiviert Unabh ngig von der Menge des Textes in den oberen Objekten wird das untere Objekt immer direkt an das Objekt angeh ngt das den meisten Text enth lt u L t u bi E i M Wird Verschieben in dem unteren Objekt aktiviert so wird dieses doppelt verschoben da es s ch unter zwei Objekten befindet und eine unn tige L cke entsteht Report mit zwei Datenebenen master detail Bisher haben wir nur Reporte betrachtet die nur ein Band MasterData Daten 1 Ebene enthielten Dies erlaubte d e Daten einer DB Tabelle darzustellen FastReport erlaubt jedoch die Darstellung von bis zu 6 Ebenen der Daten es geht auch mehr indem man das Objekt Unterreport dazu jedoch sp ter mehr In der Regel sind Reporte auf 1 3 Ebenen beschr nkt selten mehr Betrachten wir die Erstellung eines 2 Ebenen Reports Dieser soll die Daten der Tabellen Kunden und Auftr ge enthalten Die erste Tabelle enth lt d e Kundenliste die zweite die Bestellungen der Kunden Die Tabellen sehen wie folgt aus Kunden Kund Nr Company 1221 Kauai Dive Shoppe 1998 2009 FastReports Inc Reporterstellung 51 1231 1351 Bestellungen Bestellnr 1003 1023 1052 105
201. ur im Objektinspektor durchf hren Folgende Grundeigenschaften sind beim Anw hlen des Diagramms in der Liste oben anw hbar Gradient Einstellungen f r die steigende Hintergrundf llung Um diesen anzuzeigen aktivieren Sie Gradient Visible Legend Einstellungen des Aussehens der Legende Wird ber Legend Visible deaktiviert Verschieben kann man sie ber Legend Alignment Haben Sie eine Serie ausgew hlt sind folgende Eigenschaften zug nglich ColorEachPoint markiert jeden Wert in einer anderen Farbe ExplodeBiggest markiert den h chsten Wert nur beim Kreisdiagramm 1998 2009 FastReports Inc Grafiken Diagramme 157 Marks Einstellungen f r das Aussehen der Hilfstexte ValueFormat Zeile der Formatierung der Werte Man muss anmerken dass man alle M glichkeiten der Diagrammbearbeitung mit dem Paket TeeChart Pro erh lt wird separat erworben Dieses Paket enth lt viele weitere Arten der Diagramme und besitzt Editoren zur bequemen Bearbeitung der Diagramme und Serien All das erlaubt eine einfache und schnelle Bearbeitung der Diagramme 8 3 Chart with specified values Im vorherigen Beispiel haben wir ein Diagramm auf Basis der DB Tabelle erstellt Man kann aber auch das Diagramm auf eine andere Weise erstellen und zwar indem man die Daten manuell eingibt Diese M glichkeit ist praktisch f r kleine Diagramme Schauen wir uns das ganze an einem Beispiel an Lege
202. utzerhandbuch Text 2000 Button Caption OK ModalResult mrOk Button Caption Abbruch ModalResult mrCancel ffnen Sie den Editor der Eigenschaft Params der Komponente Query und stellen den Parameter ein Parameter Editor Datentyp Wert Float Editi Text B Jetzt wechseln Sie auf die Seite mit der Reportseite und erstellen folgenden Report ADOGUery1 Cust Mo AD0Query1 Company Beim Start des Reports erscheint auf den Bildschirm ein Dialog in den Sie einen Wert eintragen sollen Nach dem Eintragen des ben tigten Wertes klicken Sie auf OK Der Report wird nun ausgef hrt und zeigt die Kunden deren Nummer gr er als die 1998 2009 FastReports Inc Zugangskomponenten zu den Daten 189 eingegebene ist Select if Custo greather than Bosch 11 5 Weitere n tzliche M glichkeiten Auf dem Tab Data k nnen auch andere Komponenten au er den Zugangskomponenten eingef gt werden Mit Hilfe der Objekte Text und Grafik k nnen hier auch Hilfstexte und einfache Diagramme eingef gt werden s h Grafik 100 200 300 400 se the Text object and Draw category objects to draw a diagram 100 200 300 The Customers table Te ADO This table contains all information about 300 Table1 the customer such as company name conkt ack phone Fax Orders Zuschlag Customers Luskho The Orders table Nez This table cont
203. utzlose Spalten und Zeilen gebildet Auch entstehen drei zus tzliche Zellen m Bereich der berschneidung Um die Grundlagen der optimalen Reporterstellung zu erlernen empfehlen wir sich mit den Beispielen welche im Set FastReport enthalten sind vertraut zu machen 1998 2009 FastReports Inc
204. very very very long This is a very very very long This is a very very very long text line text line text line And this is another line the And this s another line the And this is another line the shorter one shorter one shorter one This i a very very very long text line 128 And this is another line the This is a very very very long shorter one text line And this is another line the shorter one This is a very very very long text line And this is another line the shorter one Der gesamte Text kann von 0 bis 360 Grad gedreht werden Der Button auf der Symbolleiste Text erlaubt das schnelle drehen des Textes um 45 90 180 und 270 Grad Falls eine andere Gradzahl ben tigt wird benutzen Sie Objektinspektor In der Eigenschaft Rotation kann der n tige Wert eingegeben werden Sollte sich die Gradzahl von den vorgegebenen 45 90 180 270 unterscheiden kann es sein dass ein Teil des Textes nicht mehr innerhalb der Grenzen des Objekts liegt s h Bild Vergr ern Sie die H he des Objekts um diese anzupassen auo Janoys a4 AU Jayjaue S SIU puy aul 44a Buoj Alan Alaa an e SI SIU his is a very And this is another line the shorter Jayjaue Si SIy puy Alan SI SIY Sehen wir uns kurz einige Eigenschaften des Objekts Text an die sein u eres beeinflussen Die meisten dieser Eigenschaften sind nur ber den Inspektor erreichbar BrushStyle Art der F
205. wards all the muscles ofthe body The frame becomes rocked with spasms the tongue thickened the eye fixed the breathing laborious and the patient expires in a paroxysm of extreme suffering Mot edible Range is Indo Pacific and East Africa to Somoa Red Emperor Called seaperch in Australia Inhabits the areas around lagoon coral reefs and sandy bottoms The red emperor is a valuable food fish and considered a great sporting fish that fights with tury when hooked The flesh ofan old fish is just as tender to eat as that of the very young Range is from the Indo Pacific to East Africa Giant Maori Wrasse This is the largest of all the wrasse It is found in Wie wir sehen f llt FastReport beim Erstellen des Reports die Objekte mit Daten dehnt die Objekte mit der Option Dehnen und w hlt auch die H he so aus dass alle Objekte reinpassen Ist die Option Dehnen des Bandes deaktiviert wird die H he des Bandes nicht angepasst und das Band beh lt die im Designer gew hlte H he Wenn wir versuchen diese Option zu deaktivieren sehen wir das Objekte mit einem langen Text trotzdem gedehnt werden die B nder jedoch nicht Dies f hrt zu zu Text berlagerung da die B nder hintereinander liegen Daten trennen Betrachten wir eine Besonderheit des Reports mit den Fischen Manche Seiten haben am Ende viel freien Platz Wieso Wenn der Report erstellt wird f llt der Kern von FastReport die leere Seite mit B ndern N
206. weder auf auf den Instrumentenpanel im Vorschaufenster oder stellt die Eigenschaft Report PreviewOptions Outline Visible gleich True Dort kann man ebenfalls die Breite des Steuerungselementes in Pixel eingeben Report PreviewOptions OutlineWidth Betrachten wir die Methoden dieses Objektes Methode Beschreibung procedure AddItem const F gt ein Element mit der Bezeichnung Text in die Text String aktuelle Position des Baumes Mit dem Element wird die aktuelle Reportseite und die aktuelle Position auf der Seite assoziiert procedure LevelRoot Verschiebt die aktuelle Position in dem Baum auf die Wurzelebene procedure LevelUp Verschiebt die aktuelle Position n dem Baum eine Ebene h her 1998 2009 FastReports Inc 106 FastReport 4 6 Benutzerhandbuch 6 14 Anwendung des Objektes Engine Wir haben schon erw hnt dass das Objekt Engine die Reportengine darstellt und die Reporterstellung steuert Durch die Verwendung der Eigenschaften und Methoden der Engine steuert man den Prozess der Bandverteilung auf der Seite Am Anfang etwas Theorie Die Grafik unten zeigt die Darstellung einer Reportseite und der Namen der Eigenschaften welche die Ma e steuern Freespace PFageHeight FaperHeight Basta o ZT FaperWidth Eine Seite besitzt die physischen Ma e PaperWidth PaperHeight Diese entsprechen namentlich den Eigenschaften der Seite welche im Objektinspektor zusehen sind Die Seite besitzt
207. werden Die Elemente der dritten Seite des Dialoges erlauben die Reportbeschreibung 1998 2009 FastReports Inc Designer 13 Reporteinstellungen Allgemein Yererbung Beschreibung Beschreibung Autor FastReport Beschreibung This report demonstrates the ability to draw diagrams on the Data tab version Major Minor Release Build Erstellt 0 09 2006 22 13 43 Ge ndert 26 03 2009 10 32 20 Hier k nnen z B der Name der Reports wird im Vorschaufenster angezeigt Autor Beschreibung Grafik Version usw eingegeben werden All dies ist jedoch nicht notwendig und dient nur informativen Zwecken 1 6 Seiteneinstellungen Seiteneinstellungen sind ber das Men DateilSeiteneinstellungen oder ber den Doppelklick auf eine freie Fl che des Blattes zu erreichen 1998 2009 FastReports Inc FastReport 4 6 Benutzerhandbuch Seiteneinstellungen Papier Weitere Optionen Gr e a4 210 x 297 mm hai Breite cm H he 29 70 cm Ausrichtung Hochformat O Querformat R nder Links cm Rechts cm Oben cm Unten cm Papierzufuhr Auf der ersten Seite des Dialoges k nnen die R nder Gr e und Ausrichtung der Seite ausgew hlt werden In Papierzufuhr kann man den Drucker f r die erste und alle anderen Seiten aussuchen Auf der zweite
208. werden in den Report die B nder Group header Group footer eingef gt 1998 2009 FastReports Inc 200 FastReport 4 6 Benutzerhandbuch Report Assistent Daten Felder Gruppen Layout Stil Schritt 3 Gruppen erstellen optional verf gbare Felder Gruppen lt cupe Die Bildung der Gruppen ist jedoch nicht notwendig Klicken wir auf Weiter gt gt Beim n chsten Tab w hlen wir die Ausrichtung der Seite und das Layout Report Assistent Daten Felder Gruppen Layout stil Schritt 4 Seiten und Datenlayout festlegen Ausrichtung Hochformat O Querformat Company Address Action Club F Box5 Action Ower Supply Blue Spar Q in Spalten Adventure Undersea F Box 7 Amercan SCUBA 1739 Atla Aquatic Drama 421 Everg Blue Glass Happiness Bad W i Layout Tabellenform Felder an Seitenbreite anpassen Das Layout kann in der Tabellen oder Spaltenform erfolgen In der Tabellenform bedeutet das die Felder gehen von links nach rechts In Spalten bedeutet die Felder 1998 2009 FastReports Inc Assistenten 201 liegen untereinander Je nach Auswahl des Layouts ver ndert sich das Bild auf der rechten Seite Die Option Felder an Seitenbreite anpassen ver ndert die Breite der ausgew hlten Felder so dass alle Felder auf die Seite passen Im letzten Tab kann der Stil des Reports ausgesucht werden Es s
209. wir dass die Daten in der Tabelle durchsortiert worden s nd 8 1 Begrenzung der Anzahl der Werte im Diagramm Unser Diagramm s eht berf llt aus Zu viele kleine Werte d e im Diagramm sSOWIeso nicht zu sehen sind Mit FastReport kann man die Mengen der Werte im Diagramm beschr nken Dabei werden alle Werte die nicht eine bestimmte Bedingung erf llen zu einem Wert zusammengefasst Dieser Wert wird dann als Summe angezeigt In unserem Beispiel hat das Diagramm 18 Werte wir wollen nur 8 davon darstellen Offnen wir den Editor und geben die Beschr nkung ein 1998 2009 FastReports Inc 156 FastReport 4 6 Benutzerhandbuch 8 2 Sonstige Optionen Sortierfolge Aufsteigend w Erste Werte ErsteN Beschriftung thers Die Begrenzung wird arbeiten wenn das Feld ErsteN Werte ungleich null ist Im Feld ErsteN Beschriftung muss der Name eingetragen werden welche gegen ber der Summe stehen soll Die Art der Sortierung spielt keine Rolle diese ist absteigend Das Resultat sieht so aus BE 3 376 147 Canada BE 363 130 United States of America C amp 511 196 Brazil E 777 515 Argentina LC 1 367 150 Mexico BE 235 215 Peru BE i 133 307 Colombia BE i 135 575 Bolivia E 207 330 Mpoqme posre Brazil Weitere n tzliche Einstellungen Betrachten wir weitere Einstellungen die uns dabei helfen das Erscheinungsbild des Diagramms zu gestalten Diese Einstellungen kann man n
210. wir die Situation wenn nderungen im Basisreport vorgenommen werden sollen Offnen Sie dazu den Basisreport in unserem Beispiel base fr3 und ndern die ben tigten Felder Es soll z B die E mail Adresse ge ndert werden 1998 2009 FastReports Inc 194 FastReport 4 6 Benutzerhandbuch ReportTitle ReportTitei Logo Our company L r e q our emai new _emaike mail com L Speichern Sie den Report Wir ffnen jetzt den Nachfolgereport und vergewissern uns dass die Anderung bernommen wurde ReportTitle ReportTitlei Logo FageHeader FageHeaderi 2 Our company L r f i q Zur email new emaighe mail com L l r r Custom er Phone ustomers Company o Kustomers Phone Was wenn wir in den Basisreport Objekte hinzuf gen m ssen Dies ist einfach vergessen Sie jedoch nicht dass im Basisreport und im Nachfolgereport keine zwei Objekte mit demselben Namen enthalten sein d rfen Da wir uns im Basisreport befinden wissen wir nicht wieviel Reporte von ihm ererbt sind und welche Objektnamen darin verwendet werden Eine Regel demnach ist f gen Sie ein Objekt in den Basisreport hinzu so geben Sie den Namen folgenderweise an Name_Report_Name_Objekt F gen Sie z B in den Basisreport das Objekt Text ein und geben die Namen BaseMemo3 daf r ein Zum Entfernen oder Verschieben der Objekte g bt es keine Beschr nkungen 12
211. xierung dar Deswegen wird es nicht alleine verwendet Dieses Element stellt eine Liste mit Zeilen dar und der M glichkeit eine auszuw hlen Dieses Element stellt eine Drop Down Liste mit Zeilen dar und der M glichkeit eine auszuw hlen TfrxDateEditControl Dieses Element stellt ein Datumeingabefeld dar mit einem ausfahrbaren Kalender TfrxGroupBoxControl Dieses Element stellt ein Panell mit einem Hilfstext dar und dient dem Vereinigen mehrerer Steuerungselemente TfrxPanelControl Dieses Element stellt ein Panell dar und dient dem Vereinigen mehrerer Steuerungselemente TfrxBitBtnControl Dieses Element stellt einen Button mit einer Grafik dar TfrxSpeedButtonControl Dieses Element stellt einen Button mit einer Grafik dar TfrxMaskEditControl Dieses Element stellt ein Feld zum Einf gen von Informationen in eine Maske dar 1998 2009 FastReports Inc Dialogformen 171 10 2 TfrxCheckListBoxControl Dieses Element stellt eine Liste mit Kontrollk stchen dar El TfrxBevelControl Dieses Element wird zum designen der Dialogform verwendet TfrxImageControl Dieses Element stellt eine Grafik n den Formaten BMP ICO WMF EMF dar Wie man sieht sind die Steuerungselemente denen in Delphi hnlich Hilfe zu den Eigenschaften Ereignissen und Methoden eines jeden Elementes erh lt man in der FastReport Hilfe Report Hello World Diesmal erstellen w r einen Report der uns vor
212. xport wird die freie Fl che an den Seiten abgeschnitten JPEG Qualit t die Ebene der Komprimierung der JPEG Date Die Option ist nur aktiv beim Export n das JPEG Format Aufl sung dpi die Aufl sung der ausgehenden grafischen Darstellung Besonderheit des Exportes beim Export einiger Seiten n eine Date deaktivierte Option Einzelne Dateien muss die hohe Ressourcennutzung des Exportes beachtet werden 14 6 Versand des Reportes ber E Mail FastReport erlaubt den Versand des fertigen Reportes ber E Mail n dem ben tigten Format Es braucht keine unterst tzenden Programme Bei Auswahl des Exportes ber E Mail wird ein Dialog aufgerufen in dem die Optionen der E Mail und des zu exportierenden Formates eingestellt werden Vor der Erstellung des Exportes und dessen Versand ber E Mail ist es wichtig die Benutzerparameter des E Mail Fachs einzustellen Diese Einstellungen befinden s ch m Tab eMail Konto 1998 2009 FastReports Inc Betrachten Drucken Export des Reports 231 Senden als eMail eMail eMail Konto Nachricht Signatur Ersteller verbindung _ Eigenschaften speichern Absender Name Name des Absenders Absender Adresse E Mail Adresse des Absenders Organisation das Unternehmen des Absenders Signatur Signatur des Briefes Diese kann automatisch erstellt werden beim Klicken auf Erstellen wenn die vorherigen Felder
213. xreport im Textmodus drucken zu k nnen d h mit maximaler Geschwindigkeit muss auf die Seite Ihres Projektes unbedingt die Komponente TfrxDotMatrixExport l aus dem Komponentensatz von FastReport 4 0 gelegt werden Der Standarddialog zum Drucken ndert sich dabei Drucken Drucker g EPSON Stylus C45 Series v Druckerbefehle kopier Mone Anzahl der kopien Seiken optionen Ale _ In Datei drucken Aktuelle Seite Seitenumbr che Oseten BloeMzZeichensatz Seitennummern und oder Seitenbereiche durch Pseudografik komma getrennt eingeben z B 1 3 5 12 Das Fenster sieht dem Standardfenster hnlich es enth lt jedoch auch Spezifikationen f r Nadeldrucker Vor dem Drucken muss der ESC Befehl gew hlt werden Folgende Befehle s nd vorhanden D ruckerbefehle Mare we Mone Epson Generic HF Generic IBM Generic Auch k nnen folgende Optionen des Druckens eingegeben werden Speichern in Datei bestimmt ob die Daten auf der Festplatte gespeichert werden sollen Setzt man das H kchen wird vor dem Drucken eine Anfrage der Datei erfolgen Seitenbruch bestimmt ob der Befehl Seitenbruch erteilt wird wenn das Ende der Seite erreicht wird Setzt man das H kchen nicht wird auf Rollenpapier gedruckt OEM Codierung bestimmt wie die vertikalen bzw horizontalen Linien gezeichnet werden Ist das H kchen nicht gesetzt werden die Linien mithilfe der Symbole gezeichnet
214. zeilen kann man in Hilfe von Delphi erfahren Hier einige Bedeutungen die in FastReport verwendet werden f r das Format Zahl g eine Zahl mit der minimalen Anzahl der Zeichen nach dem Komma 2 2f eine Zahl mit einer fixen Anzahl der Zeichen nach dem Komma 2 2n eine Zahl mit Trennzeichen 2 2m Format W hrung abh ngig von lokalen Einstellungen im Kontrollpanell f r das Format Datum Zeit dd mm yyyy Datum 23 12 2003 dd mmm yyyy Datum 23 nov 2003 dd mmmmyyyy Datum 23 November 2003 hh mm Datum 23 12 hh mm ss Datum 23 12 00 dd mmmm yyyy hh mm Zeit und Datum 23 ba 6p 2003 23 12 Beim Format Zahl kann man anstatt des Punktes ein Komma oder ein Bindestrich verwenden Dieses Symbol wird dann als Trennzeichen verwendet Andere Ternnzeichen sind nicht zugelassen Die Formatierung des Typs b stellt zwei Bedeutungen dar die durch ein Komma getrennt sind Die erste Bedeutung entspricht False die zweite True Um nicht alle Tags und deren Bedeutungen im Kopf behalten zu m ssen gibt es im Editor Text eine bequeme M glichkeit um die Formatierung durchzuf hren Durch den Klick auf den Button wird der Editor der Formatierung aufgerufen Diesen haben 1998 2009 FastReports Inc 76 FastReport 4 6 Benutzerhandbuch 4 3 wir uns schon angesehen Nach der Formatwahl wird dieser n den Text eingef gt Steht der Cursor dabei vor oder hinter der eckigen Klammer so
Download Pdf Manuals
Related Search
Document documents documents folder documents word documentary documents file document camera document recovery document scanner documenting reality document editor documents needed for real id documentos de google document camera app document capture pro documents folder this computer document viewer documents and settings document ai document google documentos normativos document capture pro download document google docs documento 1 documento 2 document de confirmare digisign
Related Contents
Istruzioni d`impiego / Lista dei pezzi di ricambio KitchenAid KEB1200T User's Manual Philips VR253 User's Manual Istruzioni d`uso e di montaggio Frigorifero Kestrel 2500 - Nielsen Employee Self-Service Manual 。 取扱説明書をご熟読のうえ、正しく安全にお使いください。 ご ADMN2 Accesorio expansor para manómetro diferencial de puerto Digital Board Voltage Display Operating Instructions Copyright © All rights reserved.
Failed to retrieve file