Arbeiten mit Berichten Arbeiten mit Berichten unter Visual FoxPro 9.0unter Visual FoxPro 9.0
deutschsprachige FoxPro User Groupdeutschsprachige FoxPro User Group
Rainer BeckerRainer Becker
Microsoft Visual FoxPro 9.0 WebCastMicrosoft Visual FoxPro 9.0 WebCast
REP1
Teil 5: Arbeiten mit BerichtenTeil 5: Arbeiten mit Berichten Mittwoch, 10.8.2005, 16:00 – 17:00 UhrMittwoch, 10.8.2005, 16:00 – 17:00 Uhr Die objektorientierte Entwicklungsumgebung und relationale Die objektorientierte Entwicklungsumgebung und relationale
Datenbank Microsoft Visual FoxPro liefert seit jeher eine Datenbank Microsoft Visual FoxPro liefert seit jeher eine Vielzahl von Werkzeugen gleich mit. Besonders beliebt ist Vielzahl von Werkzeugen gleich mit. Besonders beliebt ist dabei der Berichtsgenerator, der lizenzkostenfrei an alle dabei der Berichtsgenerator, der lizenzkostenfrei an alle Anwender mitgeliefert werden darf. In der neuen Version 9.0 Anwender mitgeliefert werden darf. In der neuen Version 9.0 wurde der Berichtsgenerator grundlegend überarbeitet und wurde der Berichtsgenerator grundlegend überarbeitet und massiv erweitert. Behandelt werden die neuen Werkzeuge für massiv erweitert. Behandelt werden die neuen Werkzeuge für die Gestaltung und Anzeige von Berichten durch Entwickler die Gestaltung und Anzeige von Berichten durch Entwickler und im neuen geschützten Modus durch Endanwender sowie und im neuen geschützten Modus durch Endanwender sowie die neuen Anforderungen an die Auslieferung der die neuen Anforderungen an die Auslieferung der Komponenten mit der Anwendung. Komponenten mit der Anwendung.
Rainer BeckerRainer Becker
dFPUGdFPUG Online-AngeboteOnline-Angebote LoseblattsammlungLoseblattsammlung
VFP-EntwicklerkonferenzVFP-Entwicklerkonferenz VFP-LokalisierungVFP-Lokalisierung Framework Visual ExtendFramework Visual Extend MVP, MCP, ISVMVP, MCP, ISV Wizards & Builders GmbHWizards & Builders GmbH
Wie bekomme ich VFP ?Wie bekomme ich VFP ?
Update von 6.0, 7.0, 8.0 sowie VS 97Update von 6.0, 7.0, 8.0 sowie VS 97 Nicht von VFP 5.0 oder früherNicht von VFP 5.0 oder früher
Internationale und US/Canada-VersionInternationale und US/Canada-Version Preisunterschied durch DollarverfallPreisunterschied durch Dollarverfall Technisch identischTechnisch identisch Kein Support / Marketingbudget für US-Version in BRDKein Support / Marketingbudget für US-Version in BRD
dFPUG bietet exklusiv „Deutsche Version“dFPUG bietet exklusiv „Deutsche Version“ Benutzeroberfläche, Berichtsdesigner, WerkzeugeBenutzeroberfläche, Berichtsdesigner, Werkzeuge
VortragsthemenVortragsthemen Neue BerichtsausgabefunktionenNeue Berichtsausgabefunktionen Berichtsdesign für EntwicklerBerichtsdesign für Entwickler Berichtsdesign für AnwenderBerichtsdesign für Anwender Auslieferung der AnwendungenAuslieferung der Anwendungen
Vorwarnung:Vorwarnung: Optionen einstellen…Optionen einstellen… Anwendungen ausliefern…Anwendungen ausliefern…
Anzeigen und Erstellen Anzeigen und Erstellen von Berichtenvon Berichten
SET REPORTBEHAVIOR 90SET REPORTBEHAVIOR 90
RB90 nicht native in der VFP 9 Runtime enthaltenRB90 nicht native in der VFP 9 Runtime enthalten Aber: RB80 ist weiterhin in Runtime enthalten!Aber: RB80 ist weiterhin in Runtime enthalten!
Erfordert die Berichtsanwendungen:Erfordert die Berichtsanwendungen: ReportOutput.app (REPORT FORM …)ReportOutput.app (REPORT FORM …) ReportPreview.app (… PREVIEW)ReportPreview.app (… PREVIEW) ReportBuilder.app (nur für MODIFY REPORT)ReportBuilder.app (nur für MODIFY REPORT)
Quellcode: Tools\xsource\xsource.zipQuellcode: Tools\xsource\xsource.zip Möglichkeiten Rollout (siehe zweiter Teil):Möglichkeiten Rollout (siehe zweiter Teil):
Installation der Berichtsanwendungen auf dem Kunden-PCInstallation der Berichtsanwendungen auf dem Kunden-PC Einbeziehung des Quellcodes in das eigene ProjektEinbeziehung des Quellcodes in das eigene Projekt
DEMO Ausgabe/VorschauDEMO Ausgabe/Vorschau
Neue Berichtsvorschau, separate DemosNeue Berichtsvorschau, separate Demos Verbesserte Textausrichtung (textalign)Verbesserte Textausrichtung (textalign) Verwendung von Fontscripting (internationalization)Verwendung von Fontscripting (internationalization) Ausgabe in eigenem Vorschaufenster (toplevel_preview)Ausgabe in eigenem Vorschaufenster (toplevel_preview) Verbindung von Berichten (chainedreports)Verbindung von Berichten (chainedreports)
Beispiele aus den Solution Samples:Beispiele aus den Solution Samples: Verbesserte Auflösung mit GDI+ mit SET RB90 (-2)Verbesserte Auflösung mit GDI+ mit SET RB90 (-2) Mehrere Ausgabeformate gleichzeitig (-3)Mehrere Ausgabeformate gleichzeitig (-3) HTML, XML, TIFF-Ausgabe (-4)HTML, XML, TIFF-Ausgabe (-4)
Verbesserungen BerichtsdesignerVerbesserungen Berichtsdesigner
Runderneuerte BuilderRunderneuerte Builder Captions, TooltipsCaptions, Tooltips Absolute PositionierungAbsolute Positionierung DatengruppierungDatengruppierung DatenumgebungDatenumgebung Unterstützung internationale DarstellungUnterstützung internationale Darstellung Mehrfache Detailbereiche (bis 20)Mehrfache Detailbereiche (bis 20)
DEMO DesignerDEMO Designer
_REPORTBUILDER statt SET RB90 entscheidend!_REPORTBUILDER statt SET RB90 entscheidend! Alle Builder runderneuert!Alle Builder runderneuert! Linie: Strichstärke und Art, FarbeLinie: Strichstärke und Art, Farbe Label: Caption, Positionierung, Fontscript, TooltipLabel: Caption, Positionierung, Fontscript, Tooltip Text: Format, Trimming, Calculate, DesigncaptionText: Format, Trimming, Calculate, Designcaption Bericht: Detail Bands, VariablesBericht: Detail Bands, Variables Bericht: DatenumgebungBericht: Datenumgebung Builder für alle anderen Elemente verfügbarBuilder für alle anderen Elemente verfügbar
DEMO PROTECTED ModeDEMO PROTECTED Mode
Zusätzlicher Reiter zwecks Schutz des ElementesZusätzlicher Reiter zwecks Schutz des Elementes Umfangreiche EinschränkungsmöglichkeitenUmfangreiche Einschränkungsmöglichkeiten
MODIFY REPORT <Bericht> PROTECTEDMODIFY REPORT <Bericht> PROTECTED Vorführung Aufruf eingeschränkter BerichtVorführung Aufruf eingeschränkter Bericht
Einbindung in eigenes MenüEinbindung in eigenes Menü MODI REPO ? PROTECTEDMODI REPO ? PROTECTED Backupversion bereitstellen, falls es schief geht…Backupversion bereitstellen, falls es schief geht…
Reportdesigner revisitedReportdesigner revisited
Tab zum nächsten ElementTab zum nächsten Element Shift-Tab zum vorigen ElementShift-Tab zum vorigen Element Strg+E zum Bearbeiten eines LabelsStrg+E zum Bearbeiten eines Labels Neu: Direktes Bearbeiten von Captions im Builder!Neu: Direktes Bearbeiten von Captions im Builder!
Wofür Multi-DetailbandWofür Multi-Detailband
1:Many ging schon immer:1:Many ging schon immer: Aber nicht mehrfach:Aber nicht mehrfach:
Grundlagen Multi-DetailGrundlagen Multi-Detail
Driving Alias ist die Haupttabelle des BerichtsDriving Alias ist die Haupttabelle des Berichts Ein Target Alias je DetailbereichEin Target Alias je Detailbereich Kann wiederholt verwendet werdenKann wiederholt verwendet werden
z.B. für Berechnungen vor der Bereichsausgabez.B. für Berechnungen vor der Bereichsausgabe Für „flache“ Daten: Target Alias=Driving AliasFür „flache“ Daten: Target Alias=Driving Alias
DEMO Multi-DetailbandDEMO Multi-Detailband
Mehrfache Detailbereiche (-2)Mehrfache Detailbereiche (-2) Berechnungen in Multi-Detail (1) Berechnungen in Multi-Detail (1)
Auslieferung von Auslieferung von BerichtenBerichten
GrundsätzlichesGrundsätzliches
Die Anwendungen für Berichtserstellung, Berichts-Die Anwendungen für Berichtserstellung, Berichts-vorschau und Berichtsausgabe sind separat!vorschau und Berichtsausgabe sind separat!
Sie müssen beim Kunden installiert oder in das Sie müssen beim Kunden installiert oder in das eigene Projekt eingebunden werdeneigene Projekt eingebunden werden
Gleiches gilt wie immer für die Berichtsdateien selbstGleiches gilt wie immer für die Berichtsdateien selbst Mitlieferung als separate .FRX zwecks BearbeitungMitlieferung als separate .FRX zwecks Bearbeitung
use <project>.pjxuse <project>.pjx replace all exlude with .T. for type = "R"replace all exlude with .T. for type = "R"
Einbindung in Projektdatei nur für AusführungEinbindung in Projektdatei nur für Ausführung möglicherweise beide Varianten gleichzeitig…möglicherweise beide Varianten gleichzeitig…
Installation beim KundenInstallation beim Kunden
Berichtsanwendungen werden automatisch gefunden, Berichtsanwendungen werden automatisch gefunden, wenn sie im Ordner der VFP 9 Runtime installiert wenn sie im Ordner der VFP 9 Runtime installiert sindsind
Installation mit InstallShield Express per Merge Installation mit InstallShield Express per Merge Module Module VFP9RptApps.msm VFP9RptApps.msm möglichmöglich
Nachteil: die Berichtsanwendungen werden nur in Nachteil: die Berichtsanwendungen werden nur in einer englischen Version gelieferteiner englischen Version geliefert
SystemvariablenSystemvariablen
Wenn die Berichtsanwendungen nicht im Ordner der Wenn die Berichtsanwendungen nicht im Ordner der VFP 9 Runtime installiert werden, müssen die VFP 9 Runtime installiert werden, müssen die Systemvariablen gesetzt werden:Systemvariablen gesetzt werden:
_reportoutput = <Pfad> + _reportoutput = <Pfad> + ""ReportOutput.appReportOutput.app"" _reportpreview = <Pfad> + _reportpreview = <Pfad> + ""ReportPreview.appReportPreview.app" " _reportbuilder = <Pfad> + _reportbuilder = <Pfad> + ""ReportBuilder.appReportBuilder.app" "
Kann man auch in CONFIG.FPW eintragen…Kann man auch in CONFIG.FPW eintragen…
Sourcecode in eigenen ProjektenSourcecode in eigenen Projekten VFPSource\ReportOutput VFPSource\ReportOutput
EXTERNAL PROCEDURE frxoutputEXTERNAL PROCEDURE frxoutput _REPORTOUTPUT = "frxoutput.prg„_REPORTOUTPUT = "frxoutput.prg„ Ca. 500 KBCa. 500 KB
VFPSource\ReportPreviewVFPSource\ReportPreview EXTERNAL PROCEDURE frxpreviewEXTERNAL PROCEDURE frxpreview _REPORTPREVIEW = "frxpreview.prg" _REPORTPREVIEW = "frxpreview.prg" Ca. 650 KBCa. 650 KB
VFPSource\ReportBuilderVFPSource\ReportBuilder EXTERNAL PROCEDURE frxbuilderEXTERNAL PROCEDURE frxbuilder _REPORTBUILDER = "frxbuilder.prg„_REPORTBUILDER = "frxbuilder.prg„ Ca. 1 MBCa. 1 MB
LokalisierungLokalisierung
ReportOutput:ReportOutput: reportoutput_locs.hreportoutput_locs.h
reportlisteners_locs.hreportlisteners_locs.h ReportPreview:ReportPreview: frxpreview_loc.hfrxpreview_loc.h ReportBuilder:ReportBuilder: _frxcursor.h_frxcursor.h
frxbuilder_loc.hfrxbuilder_loc.h WichtigWichtig
In frxbuilder_loc.h und frxpreview_loc.h:In frxbuilder_loc.h und frxpreview_loc.h:
#define USE_LOC_STRINGS_IN_UI .T.#define USE_LOC_STRINGS_IN_UI .T.
HilfeHilfe
In ReportBuilder.app sowie in dem dazugehörigen In ReportBuilder.app sowie in dem dazugehörigen Quellcode sind HelpContextIDs enthalten, die auf die Quellcode sind HelpContextIDs enthalten, die auf die Hilfedatei von VFP 9 verweisen!Hilfedatei von VFP 9 verweisen!
Lösungsmöglichkeiten:Lösungsmöglichkeiten: Vergabe dieser IDs im eigenen HilfeprojektVergabe dieser IDs im eigenen Hilfeprojekt Änderung der IDs, so dass diese auf eigene Hilfethemen Änderung der IDs, so dass diese auf eigene Hilfethemen
verweisenverweisen Abschalten der Hilfe durch Setzen von Abschalten der Hilfe durch Setzen von
SHOW_HELP_BUTTON_ON_HANDLER_FORMS SHOW_HELP_BUTTON_ON_HANDLER_FORMS auf .F. in frxbuilder.h auf .F. in frxbuilder.h
Was noch?Was noch?
Berichtsausgabe im XML oder HTML Format ist nur Berichtsausgabe im XML oder HTML Format ist nur möglich, wenn _reportlistener.vcx/vct in das eigene möglich, wenn _reportlistener.vcx/vct in das eigene Projekt einbezogen wirdProjekt einbezogen wird
Lokalisierte Headerdateien im dFPUG-Dokumenten-Lokalisierte Headerdateien im dFPUG-Dokumenten-portal unter Memberware verfügbarportal unter Memberware verfügbar
Fertige Berichtsanwendungen in Deutsch, Fertige Berichtsanwendungen in Deutsch, Französisch und Tschechisch auf Lokalisierungs-CD Französisch und Tschechisch auf Lokalisierungs-CD
dFPUG bereitet Enduserhilfedatei für Berichts-dFPUG bereitet Enduserhilfedatei für Berichts-designer vor mit passenden HilfeIDs… (Mithelfer!)designer vor mit passenden HilfeIDs… (Mithelfer!)
Erweiterung BerichtserstellungErweiterung Berichtserstellung
_REPORTBUILDER_REPORTBUILDER Registrierung von Ereignissen und ReaktionenRegistrierung von Ereignissen und Reaktionen Erstellung von eigenen EventhandlernErstellung von eigenen Eventhandlern Erstellung von eigenen ListenernErstellung von eigenen Listenern
siehe auch www.reportlistener.comsiehe auch www.reportlistener.com Beispielanwendung für PDF-ErstellungBeispielanwendung für PDF-Erstellung
dFPUG-Memberware bzw. FoxTalkdFPUG-Memberware bzw. FoxTalk Siehe nächsten WebCast zu Berichten!Siehe nächsten WebCast zu Berichten!
Teil 6: Ausführen von BerichtenTeil 6: Ausführen von Berichten
Mittwoch, 17.8.2005, 16:00 – 17:00 UhrMittwoch, 17.8.2005, 16:00 – 17:00 Uhr Die objektorientierte Entwicklungsumgebung und relationale Die objektorientierte Entwicklungsumgebung und relationale
Datenbank Microsoft Visual FoxPro liefert seit jeher eine Datenbank Microsoft Visual FoxPro liefert seit jeher eine Vielzahl von Werkzeugen gleich mit. Besonders beliebt ist Vielzahl von Werkzeugen gleich mit. Besonders beliebt ist dabei der Berichtsgenerator, der lizenzkostenfrei an alle dabei der Berichtsgenerator, der lizenzkostenfrei an alle Anwender mitgeliefert werden darf. In der neuen Version 9.0 Anwender mitgeliefert werden darf. In der neuen Version 9.0 wurde der Berichtsgenerator grundlegend überarbeitet und wurde der Berichtsgenerator grundlegend überarbeitet und massiv erweitert. Behandelt werden die neuen Ausgabe-massiv erweitert. Behandelt werden die neuen Ausgabe-optionen und die Programmierbarkeit zur Laufzeit in optionen und die Programmierbarkeit zur Laufzeit in verschiedenen Beispielen sowie die zusätzlich mögliche verschiedenen Beispielen sowie die zusätzlich mögliche Erweiterung der Berichtsausgabe in PDF-Dateien. Erweiterung der Berichtsausgabe in PDF-Dateien.
Online-QuerverweiseOnline-Querverweise
06-22 Berichtstoolbars (gilt nur bis VFP 8.0)06-22 Berichtstoolbars (gilt nur bis VFP 8.0) 11-01-08 Reportbehavior9011-01-08 Reportbehavior90 05-23 Der Report Writer von Visual FoxPro 905-23 Der Report Writer von Visual FoxPro 9 05-24 Was ist neu im Berichtsgenerator05-24 Was ist neu im Berichtsgenerator Neu: PDF – Power to the PeopleNeu: PDF – Power to the People
Von Lisa Slater NichollsVon Lisa Slater Nicholls Ergänzung zum Buchtitel Reportwriter für 8&9Ergänzung zum Buchtitel Reportwriter für 8&9 Alle Beiträge sind im dFPUG-Portal verfügbarAlle Beiträge sind im dFPUG-Portal verfügbar
Weiterführendes MaterialWeiterführendes Material
Visual FoxPro 9.0Visual FoxPro 9.0 Updatebuch (3 Rep-Kapitel)Updatebuch (3 Rep-Kapitel) Roadshow-CDRoadshow-CD Lokalisierungs-CDLokalisierungs-CD
Visual FoxPro 8.0Visual FoxPro 8.0 UpdatebuchUpdatebuch Deutsche HilfedateiDeutsche Hilfedatei
Online-Angebote der dFPUGOnline-Angebote der dFPUG Forum, Portal, eNewsletter, Homepage, WikiForum, Portal, eNewsletter, Homepage, Wiki
Vielen Dank!Vielen Dank!
Fragen an [email protected] an [email protected] besser http://forum.dfpug.de oder besser http://forum.dfpug.de
Besuchen Sie unsere Webseiten: Besuchen Sie unsere Webseiten: http://www.dfpug.dehttp://www.dfpug.de, , http://portal.dfpug.dehttp://portal.dfpug.de, , http://forum.dfpug.dehttp://forum.dfpug.de, ,
http://newsletter.dfpug.dehttp://newsletter.dfpug.de, , http://devcon.dfpug.dehttp://devcon.dfpug.de, , http://roadshow.dfpug.dehttp://roadshow.dfpug.de, http://www.visualextend.de, , http://www.visualextend.de,
http://www.linuxtransfer.de, http://www.visualfoxpro.de http://www.linuxtransfer.de, http://www.visualfoxpro.de