46
© 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager [email protected] www.Habermann-Leu.de für Visual FoxPro

© 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager [email protected]

Embed Size (px)

Citation preview

Page 1: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Visual Extend 8.0Workshop

Diplom-Informatiker

Uwe HabermannVisual Extend Product Manager

[email protected]

für Visual FoxPro

Page 2: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

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

Page 3: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 4: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 5: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

VFX 8.0 - Was ist das?

Builder-unterstütztes RAD-Framework

Installation

• Template-Applikation

• Task Pane

• Builder

Aktivierungsschlüssel

Page 6: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 7: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 8: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 9: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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...

Page 10: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Die generierte VFX-Anwendung

Splash-ScreenAnmeldedialogMenü und SymbolleisteÖffnen-DialogBenutzerverwaltungBenutzerrechteDatenbankwartungund vieles andere mehr...

Page 11: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Wie geht es weiter?

Anlegen der Datenbank

• mit dem VFP Datenbank-Designer

• oder mit xCase

• oder mit SDT

Page 12: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 13: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 14: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 15: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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 denVFX - Project Properties

Beispiel: Versandfirmen

Page 16: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Drucken

Erweiterte Grid Reports

• Auswahl des Zeichensatzes

• Summieren numerischer Spalten

PDF-Export

E-Mailversand

Page 17: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

PDF-Export – Wie geht das?

Ausgabe der Berichtsausgabe über einen Postscript-Druckertreiber 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

Page 18: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Treeview

Perfekte Darstellung hierarchischer Daten wie im Windows-Explorer

Reentrante Builder

• cTreeviewForm

• cTreeviewOnetoMany

Page 19: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 20: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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ägeCustomer.scx – OrdEntry.scx

Page 21: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 22: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Aktualisierung der Anwendungüber das Internet

ftp://<meinserver>/meineExeDatei.vfxoderhttp://<meinserver>/meineExeDatei.vfxwird in SYS(2023)-Ordner gespeichert

Austausch der laufenden Exe-Datei mittels Loader.exe

Page 23: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 24: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 25: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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>

Page 26: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 27: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 28: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Ansichtsbasierende Formulare

Ansichten können in allen VFX-Formularen verwendet werden

• thisform.lWorkOnView=.T.

Eingabe der Ansichtsparameter

• CAskViewArg

• CAskViewArgPgf

Beispiel: Mitarbeiter

Page 29: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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)

Page 30: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Datensicherung mit Zip-Funktion

Zip-Algorithmus in VFX 8.0 integriert

Datensicherung der aktuellen Datenbank in eineZip-Datei über einen Menüpunkt

Wiederherstellung der aktuellen Datenbank aus einer Zip-Datei über einen Menüpunkt

direkter Aufruf der Zip-Funktionenfür eigene Anwendungen möglich

Page 31: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Suchdialog

Beliebig viele Filterbedingungen kombinierbar

Einstellungen je Formular und Benutzer gespeichert

Page 32: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 33: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Aktualisierung einer SQL Server-Datenbank

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

Page 34: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 35: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Wichtige VFX-Methoden

Valid auf Formularebene OnRecordMove OnPostInsert OnSave OnPrint OnPrev, OnNext, OnTop, OnBottom

Page 36: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

DataEnvironment-Klasse

Die Klasse DataEnvironment von VFP 8 wird in allen Formularen unterstützt

Page 37: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 38: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

VFX.fll

Internet, E-Mail und Hilfsfunktionen

Produktaktivierung

Datensicherung

SQL Server

Achtung: Die VFX.fll muss an den Kunden

mitgeliefert werden!

Page 39: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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.

• 1Ausführung abbrechen, Rückgabewert .F.

Page 40: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Beispiele für Hooks

DisabledBackcolor Grid-Sizing verhindern Inputbox mit Taschenrechner Rechtschreibprüfung

Page 41: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 42: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Multi-Client-Support

Mandantenfähige Anwendungen

• cDatadir="" in Vfxmain.prg

• Pfadeinstellungen in Vfxpath.dbf

Ordner "Data" beim Kunden nicht verwendbar

Page 43: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 44: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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]

Page 45: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 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

Page 46: © 2004 Uwe Habermann Visual Extend 8.0 Workshop Diplom-Informatiker Uwe Habermann Visual Extend Product Manager Uwe@Habermann-Leu.de

© 2004 Uwe Habermann

Vielen Dank für Ihr Interesse!

Viel Spaß mit VFX 8.0 wünscht

Uwe Habermann

[email protected]