Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager [email protected] www.Habermann-Leu.de © 2004 Uwe Habermann für Visual FoxPro Wer spricht da? Dipl.-Inform. Uwe Habermann Selbstständig seit 1986 Arbeitet seit 10 Jahren mit FoxPro MCP für VFP Freier Mitarbeiter von u. a. ProLib und ISYS Uwe Habermann & Kathrin Leu GbR • Entwickelt Branchenlösung und Individualsoftware Visual Extend Product Manager © 2004 Uwe Habermann Was hören wir heute? Visual Extend 8.0 Wofür braucht man das? Features für den Endkunden Features für den Entwickler Entwicklung einer Beispielanwendung • • • • Adressverwaltung Fakturierung Formulare zur Datenbearbeitung 1:n Formulare © 2004 Uwe Habermann VFX – Wer braucht das? Gute Lernmöglichkeit um die Erstellung komplexer Anwendungen in VFP verstehen zu lernen Umfangreiche Klassenbibliotheken Produktaktivierung E-Mailversand Audit-Trail OLE-Ansteuerung von Office-Anwendungen Erforderliche Vorkenntnisse: gering © 2004 Uwe Habermann VFX 8.0 - Was ist das? Builder-unterstütztes RAD-Framework Installation • Template-Applikation • Task Pane • Builder Aktivierungsschlüssel © 2004 Uwe Habermann VFX 8.0 - Was kann das? Fertiger Rahmen der Anwendung mit vielen Funktionen Erstellung Office kompatibler Anwendungen Builder für • Formulare, wahlweise mit Seitenrahmen • 1:n Formular • Grid • verschiedene Auswahllisten • mehrsprachige Anwendungen • Produktaktivierung • SQL Server Datenbankaktualisierung • kontextsensitive Hilfe DBC oder C/S © 2004 Uwe Habermann VFX 8.0 - Task Pane Verwaltung der VFX-Projekte • Beim Öffnen wird der aktuelle Pfad auf den Projektordner gesetzt Anlegen neuer Projekte Kompilieren vorhandener Projekte Bearbeiten der Project Properties • Ermöglicht die Verwendung eigener Klassen von den VFX Buildern Informationen über VFX 8.0 mit einem Mausklick © 2004 Uwe Habermann VFX 8.0 Menü Produktaktivierung • Define Activation Rules • Create Activation Key SQL Server Update • Metadata Wizard Konfigurieren einer DFÜ-Netzwerkverbindung • Define DUN connection parameters © 2004 Uwe Habermann VFX - Application Wizard Erstellen neuer Projekte 1. Auswahl des Ordners und der Datenbank 2. Texte für den About-Dialog 3. Einstellungen für das Applikationsobjekt 4. Texte für den Projektinfo-Dialog 5. Alles kompilieren und los geht´s... © 2004 Uwe Habermann Die generierte VFX-Anwendung Splash-Screen Anmeldedialog Menü und Symbolleiste Öffnen-Dialog Benutzerverwaltung Benutzerrechte Datenbankwartung und vieles andere mehr... © 2004 Uwe Habermann Wie geht es weiter? Anlegen der Datenbank • mit dem VFP Datenbank-Designer • oder mit xCase • oder mit SDT © 2004 Uwe Habermann VFX – Form Wizard Erstellen eines Formulars basierend auf einer der VFX Formularklassen: • cDataFormPage • cTreeViewForm • cTableForm • cOneToMany • cTreeViewOneToMany • cAskViewArg • cWizard Verwendung eigener Formularklassen © 2004 Uwe Habermann VFX – cDataFormPage Builder Reentranter Builder • Steuerelemente auf Seitenrahmen • Such-Grid mit vielen Funktionen • Formulareigenschaften Verwendung eigener Klassen • Entsprechend den Vorgaben aus dem DBC • Entsprechend den Einstellungen in den VFX - Project Properties Beispiel: Lieferanten © 2004 Uwe Habermann Das Formular zur Laufzeit Autoedit Inkrementelle Suche im Grid • Multi-Column-Sort Suchdialog (setzt Filter) Drucken, PDF-Export, E-Mailversand Benutzerspezifisches Speichern der Einstellungen • Größe und Position des Formulars auf dem Desktop • Spaltenbreite, Spaltenfolge und Sortierfolge im Grid • Suchkriterien © 2004 Uwe Habermann VFX- CTableForm Builder Reentranter Builder • Such-Grid und Bearbeitungsfelder sind nebeneinander angeordnet Verwendung eigener Klassen • Entsprechend den Vorgaben aus dem DBC • Entsprechend den Einstellungen in den VFX - Project Properties Beispiel: Versandfirmen © 2004 Uwe Habermann Drucken Erweiterte Grid Reports • Auswahl des Zeichensatzes • Summieren numerischer Spalten PDF-Export E-Mailversand © 2004 Uwe Habermann PDF-Export – Wie geht das? Ausgabe der Berichtsausgabe über einen PostscriptDruckertreiber in eine Datei • bei Bedarf automatische Installation eines Postscript-Druckertreibers Konvertierung der Postscript-Datei in eine PDF-Datei mit dem Freeware-Tool Ghostscript • bei Bedarf Download aus dem Internet und Installation von Ghostscript vollautomatisch! • ggf. wird sogar eine DFÜ-Verbindung für den Internet-Zugang angelegt © 2004 Uwe Habermann Treeview Perfekte Darstellung hierarchischer Daten wie im Windows-Explorer Reentrante Builder • cTreeviewForm • cTreeviewOnetoMany © 2004 Uwe Habermann 1:n-Formulare cOneToMany • Bearbeitung und Suche der Parent-Daten wie in cDataFormPage • Bearbeitung der Child-Daten im Grid • Mehrere Children möglich Beispiel: OrdEntry.scx © 2004 Uwe Habermann Linked-Child-Formulare Aufruf eines Child-Formulars Hierarchische Verknüpfung möglich Beliebig viele Children möglich Eigenschaften zur Steuerung • lCloseChildformOnExit • lAutoSyncChildform Beispiel: Kunden - Aufträge Customer.scx – OrdEntry.scx © 2004 Uwe Habermann Internet und E-Mail Makrosprache zum Download und zur Installation von Programmen aus dem Internet • Installation von Ghostscript • Aktualisierung der Applikation • bei Bedarf wird eine DFÜ-Verbindung für den Internet-Zugang angelegt E-Mailversand aller Berichtsausgaben über MAPI © 2004 Uwe Habermann Aktualisierung der Anwendung über das Internet ftp://<meinserver>/meineExeDatei.vfx oder http://<meinserver>/meineExeDatei.vfx wird in SYS(2023)-Ordner gespeichert Austausch der laufenden Exe-Datei mittels Loader.exe © 2004 Uwe Habermann Produktaktivierung VFX 8.0-Anwendungen können mit einem Aktivierungsschlüssel geschützt werden Getrennter Schutz für bis zu 32 Module einer Anwendung Die zur Erstellung des Installationsschlüssels verwendeten Kriterien können je Anwendung vom Entwickler festgelegt werden © 2004 Uwe Habermann Define Activation Rules Definition der Hardware- oder Software-Parameter • Ausdruck • CPU Number • File Creation Date • HDD Factory Serial Number • HDD Volume Serial Number • LAN Card Number • Registry Key Value je Anwendung beliebig kombinierbar Regeln speicherbar © 2004 Uwe Habermann Define Activation Rules Vergabe der Rechte bis zu 32 Einzelrechte je Anwendung jedes Recht kann unabhängig von den anderen Rechten freigeschaltet werden Zugriff zur Laufzeit über goProgram.SecurityRights.<RechtName> © 2004 Uwe Habermann Create Activation Key Eingabe des Installationsschlüssels Auswahl der freizuschaltenden Rechte Erstellen eines Aktivierungsschlüssels Werte zur Laufzeit goProgram.SecurityRights.<RechtName>= • -1 – nicht aktiviert • 0 – nicht freigeschaltet • 1 – freigeschaltet © 2004 Uwe Habermann Die Aktivierung aus der Sicht des Kunden Aufforderung zu Aktivierung beim Programmstart • Anzeige des Installationsschlüssels • Eingabe des Aktivierungsschlüssels Aktivierung über das Menü • zum Beispiel beim Zukauf von Rechten Übermittlung der Schlüssel per E-Mail möglich © 2004 Uwe Habermann Ansichtsbasierende Formulare Ansichten können in allen VFX-Formularen verwendet werden • thisform.lWorkOnView=.T. Eingabe der Ansichtsparameter • CAskViewArg • CAskViewArgPgf Beispiel: Mitarbeiter © 2004 Uwe Habermann Fehlerbehandlung Was soll passieren, wenn ein Fehler auftritt? • goProgram.nAppOnErrorBehavior= - 0 – alle Fehler ignorieren - 1 – Anzeige einer Fehlermeldung (Standardwert) - 2 - Programabbruch Welche Fehlerinformationen werden protokolliert? • goProgram.ErrorDetailLevel= - 0 – nur die Fehlermeldung - 1 – Fehlermeldung und Aufrufstapel (Standardwert) - 2 – detaillierte Fehlerinformationen (Standardverhalten bis VFX 7.1) © 2004 Uwe Habermann Datensicherung mit Zip-Funktion Zip-Algorithmus in VFX 8.0 integriert Datensicherung der aktuellen Datenbank in eine Zip-Datei über einen Menüpunkt Wiederherstellung der aktuellen Datenbank aus einer Zip-Datei über einen Menüpunkt direkter Aufruf der Zip-Funktionen für eigene Anwendungen möglich © 2004 Uwe Habermann Suchdialog Beliebig viele Filterbedingungen kombinierbar Einstellungen je Formular und Benutzer gespeichert © 2004 Uwe Habermann Aktualisierung der Kundendatenbank Vollständig überarbeitete Aktualisierung der Kunden-Datenbanken • Korrekte Funktion auch bei Verwendung von Insert-Triggern • Wiederherstellung des ursprünglichen Zustands im Fehlerfall © 2004 Uwe Habermann Aktualisierung einer SQL ServerDatenbank Metadata Wizard beim Entwickler erstellt Datadict.dbf anhand der eigenen SQL Server-Datenbank Aktualisierung beim Kunden mittels Datadict.dbf wird die SQL Server-Datenbank angelegt oder aktualisiert © 2004 Uwe Habermann Datum und Zeit neuer Kalender • basierend auf MonthView Control • keine OCX-Installation erforderlich Hotkeys zur Datumsauswahl • H – heute • A – Anfang des Jahres • B – Beginn des Monats • +/- - 1 Tag vorwärts oder zurück Eingabe von Datetime-Werten © 2004 Uwe Habermann Wichtige VFX-Methoden Valid auf Formularebene OnRecordMove OnPostInsert OnSave OnPrint OnPrev, OnNext, OnTop, OnBottom © 2004 Uwe Habermann DataEnvironment-Klasse Die Klasse DataEnvironment von VFP 8 wird in allen Formularen unterstützt © 2004 Uwe Habermann VFX-Menü-Designer WYSIWYG Unterstützung aller Menü-Features, die VFP bietet • Schriftartattribute, Effekte • alle Events • Menüeinträge mit Markierung Unterstützung von Konstanten • sprachunabhängige Menüs Project Hook © 2004 Uwe Habermann VFX.fll Internet, E-Mail und Hilfsfunktionen Produktaktivierung Datensicherung SQL Server Achtung: Die VFX.fll muss an den Kunden mitgeliefert werden! © 2004 Uwe Habermann Hooks Einschalten in Vfxmain.prg • nEnableHook=1 Enabled, 2 Disabled, 0 Use form setting Rückgabewerte steuern das Verhalten • .T. Ausführung fortsetzen • 0 oder .F. Ausführung abbrechen, Rückgabewert .T. • 1 Ausführung abbrechen, Rückgabewert .F. © 2004 Uwe Habermann Beispiele für Hooks DisabledBackcolor Grid-Sizing verhindern Inputbox mit Taschenrechner Rechtschreibprüfung © 2004 Uwe Habermann OLE drag & drop Vollständig generisch in VFX integriert • aus einem Steuerelement - nOLEenabledrag=1 - nOLEdropForceEditmode=1 • aus einer Seite eines Seitenrahmens unter Berücksichtigung der Taborder - nPageOLEdragdrop=1 • aus einem Grid - immer eingeschaltet Unterstützung aller Datentypen © 2004 Uwe Habermann Multi-Client-Support Mandantenfähige Anwendungen • cDatadir="" in Vfxmain.prg • Pfadeinstellungen in Vfxpath.dbf Ordner "Data" beim Kunden nicht verwendbar © 2004 Uwe Habermann Audit-Trail Trigger in den Tabellen • _audit_insert() • _audit_update() • _audit_delete() Anzeige des Protokolls über ein VFX-Formular Und-Verknüpfung mit anderen Triggern möglich © 2004 Uwe Habermann Links Download und Infos zu VFX: • www.visualextend.de Mehr Infos zu VFX: • www.my-vfx.de Kostenloser Support zu VFX: • news.dfpug.de Wünsche aüßern: • [email protected] © 2004 Uwe Habermann Wir haben das Ziel erreicht! Die Anwendung ist fertig. Kompletter Rahmen durch VFX erstellt Datenbank mit üblichen Tools erstellt Formulare mit den VFX Buildern erstellt Bearbeitung mit VFP zu jeder Zeit Hohe Qualität = zufriedene Kunden © 2004 Uwe Habermann Vielen Dank für Ihr Interesse! Viel Spaß mit VFX 8.0 wünscht Uwe Habermann [email protected] © 2004 Uwe Habermann