Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
L-VFX Spaß mit VFX zu später Stunde
Uwe Habermann
2
VFX – Installation Wizard
Wenn mit VFP 64 bit gearbeitet wird, Unterstützung von 64 bit Anwendungen VFX64.fll vfpar.dll vfpat.dll
3
VFX – Installation Wizard
Erstellen einer Exe-Datei Erstellen eines Distrbutionsordners Bereitstellen einer leeren Datenbank VFP 9 Runtime Benötigte ActiveX Controls
4
VFX – Installation Wizard
TreeView: MSComctl.ocx (v6.0 SP6) ImageList: MSComctl.ocx (v6.0 SP6) Month View: MSComct2.ocx (v6.0 SP6) SOAP: mssoap30.dll (v3.0) MSMAPI.ocx Geschäftsgrafiken: MSCHRT20.ocx Hilfe: Foxhhelp9.exe und foxhhelpps9.dll
5
VFX – Installation Wizard
Unterstützung von VFP 64 bit Vorbereitete Distribution kopierbar, lauffähig ohne Installation auf Memory Stick auf USB Festplatte auf CD-ROM
6
Anwendungsverteilung
Setup Installation Wizard Installshield (Express) Wise Distribution Updates Anwendung Aktualisierung der Datenbankstruktur
7
Aktualisierung von Anwendungen
Manuelle Updates Automatische Updates Loader.exe muss vorhanden sein!
8
Aktualisierung von Anwendungen
Automatische Updates Einstellungen wie bei Windows Automatischer Download und Installation Automatischer Download Benachrichtigen Deaktivieren Jetzt auf Aktualisierungen prüfen
9
Aktualisierung von Anwendungen
Allgemeine Einstellungen cFoxAppl.lAllowUpdates=.T. cFoxAppl.cIniUrl Enthält Versionsnummer Vfxsys.UpdType Was passiert beim 1. Anwendungsstart je Tag? Vfxsys.lastcheckd Datum der letzten automatischen Überprüfung Vfxsys.UpdateApp D:
10
Vfxsys.UpdType 1 – Automatisches herunterladen und installieren, wenn Aktualisierungen vorhanden sind. Die Überprüfung wird beim ersten Anwendungsstart täglich durchgeführt. 2 – Automatisches herunterladen von Aktualisierungen mit anschließender Frage, ob die Aktualisierung installiert werden soll. Die Überprüfung wird beim ersten Anwendungsstart täglich durchgeführt. 3 – Überprüfung nach verfügbaren Aktualisierungen täglich beim ersten Anwendungsstart. Bei vorhandener aktualisierter Programmversion wird der Benutzer gefragt, ob er die Aktualisierung herunterladen und installieren will. 4 – Manuelle Überprüfung. Die Überprüfung auf Aktualisierungen kann aus dem Menü aufgerufen werden.
11
Was passiert beim Kunden?
D: ftp://<domain>/meineExeDatei.vfx oder D: wird in SYS(2023)-Ordner (Temp) gespeichert Austausch der laufenden Exe-Datei mittels Loader.exe
12
Aktualisierung der Datenbank beim Kunden
Aktualisierung der Struktur von Config.vfx Aktualisierung von allen in Config.vfx eingetragenen Datenbanken DBC SQL
13
Aktualisierung der Datenbank beim Kunden
DBC Basierend auf Gendbc Code Vfx_vss.prg Ggf. Vsskrt.dbf mit Stored Procedures SQL Basierend auf Metadaten goProgram.cMetaPathDir Data\update\ goProgram.cMetaDataTableName Datadict.dbf
14
Aktualisierung der Datenbank beim Kunden
lSaveDataBeforeUpdate = .T. lInformUserForUpdate = .F. lClientDatabaseUpdate = .T. lCheckForDBUpdate = .F. cUpdateDir = Data\Update
15
VFX – Application Builder
Neue Einstellungen (nicht nur) für 64 bit Use native VFP Calendar Use native VFP Favorites Screen
16
VFX c Unterstützung mehrerer empfänger Auch mit VfpExMapi
17
VFX cDataFormBase.lKeepOpenAfterInsertOnly
Nach dem Speichern wird das Formular wieder für den Einfügemodus eingestellt Nur wenn lInsertOnly = .T.
18
VFX Config.fpw Befindet sich jetzt im Ordner Include
19
VFX Config.vfx und VfxPath.dbf werden jetzt im Ordner ProgramData gesucht, wenn nicht im Exe-Ordner vohanden
20
VFX cFoxAppl.lAllowSearch Abschalten der Filterfunktion Menüeintrag
Schaltfläche in Symbolleiste Schaltfläche in Multifunktionsleiste
21
VfxCountry Pickfield VFX – Update Project
VfxCtrl.vcx – cCountryPickField Voreingestellt zur Auswahl eines Landes aus VfxCountry.dbf VFX – Update Project Neue Option: Update VfxCountry Bisher wurde VfxCountry.dbf immer überschrieben
22
Project Hook Änderungen für Kompilierung mit 64 bit
SET LIBRARY TO VFX.fll oder VFX64.fll Kein Aufruf von Refox Aufruf externer Prg-Datei beforebuildappl.prg
23
Kleinigkeit Zentriertes Hintergrundbild
24
cPickDate Neue Eigenschaft Value des Containers
Hotkeys werden bei Sprachwechsel zur Laufzeit jetzt lokalisiert
25
Serienbriefassistent
Einsatz des Serienbriefassistenten für Endanwender in Ihrer Anwendung Versand von Fax FritzFax WinFax Serienbrief
26
Serienbriefassistent
Customers.scx cCommandButton hinzufügen Code für Click Ereignis: goprogram.runform("mailmerge", thisform.DataSessionId)
27
Serienbriefassistent
Neues VFP Formular cMailMerge auf das Formular ziehen Im Eigenschaftsfenster Form1 auswählen Menü Formular Formular löschen Formularsatz löschen
28
Serienbriefassistent
Eigenschaften einstellen: cDatasource = „Customers“ cFaxNumberFieldName = „fax“ cMailAddressFieldName = „ “
29
Serienbriefassistent
Code für Init Ereignis: LPARAMETERS tcarg lnDataSessionID = tcArg SET DATASESSION TO ; lnDataSessionID RETURN DODEFAULT(tcarg)
30
Serienbriefassistent
Formular speichern MailMerge.scx Test
31
Parent/Child Szenarios
Komplexe Parent/Child Szenarios mit vielen automatisierten Features
32
Parent/Child Szenarios
VFX – Parent/Child Builder Child Formular starten Viele Einstellmöglichkeiten Aktive Seite … Methode des Parent Formulars aufrufen
33
Abfragen-Assistent Neuer Enduser-Abfragen-Assistent mit Abfragen-Verwaltung Ergebnisanzeige in dynamischen Grids mit Sortierung / inkrementeller Suche Ergebnisversand als Excel-Tabelle via
34
Abfragen-Assistent VfxQueryDialog in Vfxfopen.dbf eintragen
Test zur Laufzeit
35
Dokumentenverwaltung
Customers.scx Datenumgebung VFX – DataEnvironment Builder New CA Seite Properties name = „caVfxdocuments “ alias = „caVfxdocuments“ “ use connection settings in builder only“
36
Dokumentenverwaltung
Seite Data Access SELECT * FROM caVfxdocuments WHERE PARENTKEY = ?CUSTOMERS.CUSTOMERID Bei Schema auf „Build“ klicken
37
Dokumentenverwaltung
Seite Auto Updates Auto-Update markieren Update All fields markieren DOCID als Key markieren not Updateable
38
Dokumentenverwaltung
VFX – DataEnvironment Builder Index auf Parentkey erstellen
39
Dokumentenverwaltung
Formularmethode OnRecordMove ThisForm.DataEnvironment. caVfxDocuments.CursorRefresh() RETURN DODEFAULT()
40
Dokumentenverwaltung
VFX – CDataFormPage Builder Page Count = 2 Seite 3 des Formulars aktivieren cDocumentManagement auf Seite 3 des Formulars ziehen
41
Dokumentenverwaltung
VFX – Document Management Builder Document Table: caVfxDocuments Foreign Key from Document table to Parent table: parentkey Parent Table: customers Parent Table Key: customerid
42
Dokumentenverwaltung
VFX – Document Management Builder Seite Options *wait window "CChildGrid::OnPostInsert() is empty!“ DODEFAULT() *{ _VFX_Builder - 05/13/09 09:45:56 AM replace parentkey with customers.customerid ; in vfxdocuments *}
43
Dokumentenverwaltung
Formular speichern Test
44
Geschäftsgrafiken Erstellung von Geschäftsgrafiken in Anwendungen
45
Geschäftsgrafiken Erstellung von Geschäftsgrafiken in Anwendungen
Vorbereitung der Daten: UPDATE tblOrders SET totalsum =(select SUM(quantity*price) FROM tblOrderDetails WHERE tblOrderDetails.orderid = tblOrders.orderid)
46
Geschäftsgrafiken VFX – Form Wizard Neues Formular: cDataFormPage
Name: BGraph.scx
47
Geschäftsgrafiken VFX – Dataenvironment Builder NewCA
name = „caGraphData“ alias = „caGraphData“ “use conn settings in builder only“
48
Geschäftsgrafiken VFX – Dataenvironment Builder Data Access
SELECT CUSTOMERID, SUM(TOTALSUM) AS TOTALSUM FROM TBLORDERS GROUP BY CUSTOMERID ORDER BY CUSTOMERID Schema: „Build“
49
Geschäftsgrafiken VFX – Dataenvironment Builder Auto Updates
Send Updates = .F.
50
Geschäftsgrafiken VFX – cDataformpage Builder GridPage
UseGridPage = .F. pgfPageframe.Tabs = .F.
51
Geschäftsgrafiken VFX – cDataformpage Builder
cBusinessGraph aus Vfxctrl.vcx auf Seite ziehen
52
Geschäftsgrafiken Code für Init: LPARAMETERS tcArg LOCAL lInitOk
lInitOk = DODEFAULT(tcArg) IF lInitOk Thisform.pgfPAGEFRAME.Page1. cbusinessgraph1.DrawGraph() ENDIF RETURN lInitOk
53
Geschäftsgrafiken VFX – Business Graph Builder Alias: caGraphData
Label Field Name: customerid Graph Type: 3D Line Graph Title: Auftragssummen je Kunde Field: totalsum Legend text: Umsatz
54
Geschäftsgrafiken Formular speichern und testen
55
GDI+ Geschäftsgrafiken
Erstellung von Geschäftsgrafiken in Anwendungen
56
GDI+ Geschäftsgrafiken
Erstellung von Geschäftsgrafiken in Anwendungen Vorbereitung der Daten: UPDATE tblOrders SET totalsum =(select SUM(quantity*price) FROM tblOrderDetails WHERE tblOrderDetails.orderid = tblOrders.orderid)
57
GDI+ Geschäftsgrafiken
VFX – Form Wizard Neues Formular: cDataFormPage Name: BGraph.scx
58
GDI+ Geschäftsgrafiken
VFX – Dataenvironment Builder NewCA name = „caGraphData“ alias = „caGraphData“ “use conn settings in builder only“
59
GDI+ Geschäftsgrafiken
VFX – Dataenvironment Builder Data Access SELECT CUSTOMERID, SUM(TOTALSUM) AS TOTALSUM FROM TBLORDERS GROUP BY CUSTOMERID ORDER BY CUSTOMERID Schema: „Build“
60
GDI+ Geschäftsgrafiken
VFX – Dataenvironment Builder Auto Updates Send Updates = .F.
61
GDI+ Geschäftsgrafiken
VFX – cDataformpage Builder GridPage UseGridPage = .F. pgfPageframe.Tabs = .F.
62
GDI+ Geschäftsgrafiken
VFX – cDataformpage Builder cBusinessGraph aus Vfxctrl.vcx auf Seite ziehen
63
GDI+ Geschäftsgrafiken
Code für Init: LPARAMETERS tcArg LOCAL lInitOk lInitOk = DODEFAULT(tcArg) IF lInitOk Thisform.pgfPAGEFRAME.Page1. cbusinessgraph1.DrawGraph() ENDIF RETURN lInitOk
64
GDI+ Geschäftsgrafiken
VFX – Business Graph Builder Alias: caGraphData Label Field Name: customerid Graph Type: 3D Line Graph Title: Auftragssummen je Kunde Field: totalsum Legend text: Umsatz
65
Multifunktionsleiste
Multifunktionsleiste einsetzen und erweitern Umsetzung von Menüs und Symbolleisten für Formulare Programmatisch Seiten hinzufügen
66
Multifunktionsleiste
Appl.vcx – cFoxAppl nMenuAndToolbarStyle = 2 VFX – Application Builder Allow User Customization
67
Multifunktionsleiste
Multifunktionsleiste testen Kundenformular Seite in Multifunktionsleiste
68
QR-Codes QR = quick response Entwickelt von Denso für Toyota
Markierung von Autoteilen Unabhängig von Leseausrichtung Schnellere Erkennung als bei Barcodes Hohe Fehlertoleranz Bis zu 30% können zerstört sein
69
QR-Codes QR-Code Größe Größe in Pixel 2 66 x 66 3 99 x 99 4 132 x 132
5 165 x 165 6 198 x 198 7 231 x 231 8 264 x 264 9 297 x 297 10 330 x 330 11 363 x 363 12 396 x 396
70
QR-Codes Auf Codeplex BarCodeLibrary.dll SetConfiguration() GenerateFile()
71
QR-Codes PROCEDURE QRBarcodeImage(tcText, tcFileName, tnSize, tnType)
* Declare the functions of BarCodeLibrary.dll DECLARE INTEGER GenerateFile IN BarCodeLibrary.DLL ; STRING cData, STRING cFileName DECLARE INTEGER SetConfiguration IN BarCodeLibrary.DLL ; INTEGER nSize, INTEGER nImageType * Create QR Barcode Image SetConfiguration(tnSize, tnType) GenerateFile(tcText, lcFileName) CLEAR DLLS SetConfiguration, GenerateFile RETURN lcFileName
72
QR-Codes Parameter tnText tcFilename tnSize tnType
abzubildende Zeichenkette tcFilename Dateiname, Standardwert SYS(2015) tnSize Größe des QR-Codes, Standardwert 4 tnType 0 – bmp, 1 – jpg, 2 – png, Standardwert 0
73
QR-Codes Rückgabewert Name der generierten Datei
74
QR-Codes Druck Image in Bericht Controlsource Feld mit Dateiname
Private Variable mit Dateiname
75
QR-Codes Implementierung in VFX BarCodeLibrary.DLL
Beispiel: VFPizza17, Cusomers.scx Visitenkarte drucken BarCodeLibrary.DLL Muss nicht ausgeliefert werden Download bei erster Verwendung
76
QR-Codes Zahlung mit Girocode http://www.Girocode.de
Überweisungsdaten in QR-Datei Druck auf Rechnung Scan mit Handy Bestätigung der Zahlung Keine Übertragungsfehler Schnell
77
Noch nicht erfüllte Wünsche
ZUGferd
78
Ihr seid gefragt! Änderungen… Erweiterungen…
79
Nächste Veranstaltung
CeBIT-Treffen Donnerstag, Ab 18:30 Uhr Central-Hotel Kaiserhof Ernst-August-Platz 4 30159 Hannover
80
Vielen Dank! Uwe Habermann
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.