Aufsteiger Workshop VISUAL EXTEND 8.0 - dFPUG

Werbung
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
Herunterladen