Konvertierung FPW 2.6->VFP

Slides:



Advertisements
Ähnliche Präsentationen
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
Advertisements

Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Java: Grundlagen der Sprache
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Introducing the .NET Framework
Einführung in Visual C++
Wizards & Builders GmbH Erstellen von Applikationen Erstellen von Datenbank- Applikationen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Der Maskendesigner Design von Masken für Applikationen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Der Menügenerator Arbeiten mit dem Menügenerator und ggf. Zusatztools unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Hypertext Markup Language Beschreibung von HTML als Vorbereitung für Webserver mit Microsoft Visual FoxPro.
Wizards & Builders GmbH ActiveX-Controls Verwendung und Einsatz von ActiveX-Controls unter Microsoft Visual FoxPro.
Konfiguration / Set-Einstellungen
Integration AccountView
Wizards & Builders GmbH Schichtenarchitektur Multi-Tier-Applikationen mit Microsoft Visual FoxPro.
Datenmodellierung mit XCASE
Wizards & Builders GmbH Microsoft Titel Microsoft-Titel für Entwickler und Softwarehäuser.
Wizards & Builders GmbH Klassenbibliotheken Arbeiten mit Klassenbibliotheken in Microsoft Visual FoxPro.
Wizards & Builders GmbH Die Benutzeroberfläche Interaktives Arbeiten mit den Werkzeugen/Assistenten von Microsoft Visual FoxPro.
Wizards & Builders GmbH Projektmanager und SourceSafe Arbeiten mit dem Projektmanager von Microsoft Visual FoxPro.
Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb.
Wizards & Builders GmbH Programmierstil Hinweise zum Programmierstil unter Microsoft Visual FoxPro.
Arbeiten mit SQL in Visual FoxPro 9.0
Visual FoxPro 8.0 NameTitelUnternehmen. Agenda Jahre Visual FoxPro 10 Jahre Visual FoxPro Der Weg zu VFP 8.0 Der Weg zu VFP 8.0 Ziele von und Überblick.
Wizards & Builders GmbH Arbeiten mit CSV-Listen Arbeiten mit CSV-Listen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH OOP in der Praxis Die wichtigsten Befehle für OO-Programmierung mit Microsoft Visual FoxPro.
Wizards & Builders GmbH Übersicht Schulung Übersicht über Schulung für Entwickler unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Schulungsmaterial Material zu Programmierung und Datenbankhandling unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Tools, AddOns, Frameworks Nützliche Zusatzprodukte rund um Microsoft Visual FoxPro.
Wizards & Builders GmbH Distribution von Applikationen Distribution und Installation unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Das Microsoft Zertifizierungsprogramm Norbert Abb.
Ausbildungsinhalte für „Fachinformatiker Anwendungsentwicklung“
Wizards & Builders GmbH Modularisierung von SW Modularisierung von Anwendungen mit Microsoft Visual FoxPro.
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
VFP Beispiele sowie Tools, Frameworks und Klassen
Visual FoxPro 10.0 Visual Extend 10.0
Visual FoxPro Objektorientierte Programmierung. © 1999 TMN-Systemberatung GmbH Grundbegriffe n Objekte n Eigenschaften n Methoden n Objektnamen n Klasse.
Erstellen von WebServices mit Visual FoxPro 9.0
Einführung zur Roadshow zu Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow INTRO.
Eingangsfrage Ordnen Sie die nachfolgenden MCP-Tests in einer sinnvollen Reihenfolge zur Erlangung des MCSD (Microsoft Certified Solution Developer): A)
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
Visual Extend 9.5ff Most Wanted Features deutschsprachige FoxPro User Group Rainer Becker VFXWISH06.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Form Designer Programmierung von Forms. © 1999 TMN-Systemberatung GmbH Eigenschaften und das Eigenschafts Fenster n In Reitern nach Themen sortiert n.
Access & Assign Methoden in Visual FoxPro Zuweisungs- und Zugriffs-Methoden.
Error Handling unter Visual FoxPro. © 1999 TMN-Systemberatung GmbH ON ERROR n ON ERROR DO ERRHAND WITH error(), sys(16), message(), lineno(1) – Globales.
VFX 10.0 Visual Extend Datenzugriff
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Visual Extend Weitere Features deutschsprachige FoxPro User Group Uwe Habermann VFX 25 D.
Uwe Habermann Venelina Jordanova VFP Code in Silverlight Anwendungen ausführen.
Uwe Habermann VFX 11.0 Profi Features Venelina Jordanova
© 2004 Uwe Habermann Visual Extend 9.0 Technical Preview Diplom-Informatiker Uwe Habermann Visual Extend Product Manager
Uwe Habermann VFX 11.0 Einsatz von Cursoradaptern in bestehenden Anwendungen Venelina Jordanova
Uwe Habermann Venelina Jordanova VFX – Silverlight Wizard.
© 2003 Uwe Habermann Visual Extend 7.1 Die Entwicklungsumgebung für VFP 8.0 Uwe Habermann Diplom-Informatiker
Uwe Habermann Venelina Jordanova Kostenloser Einstieg in eine neue Welt!
Präsentation von Sonja Pathe
Visual Extend CTableForm Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 08 D.
Visual Extend CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 18 D.
Visual Extend CDataFormPage Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 09 D.
Visual Extend Download, Installation, Registrierung deutschsprachige FoxPro User Group Uwe Habermann VFX 01 D.
Visual Extend CDataFormPage-Formulare mit CursorAdapter deutschsprachige FoxPro User Group Uwe Habermann VFX 19 D.
Uwe Habermann Venelina Jordanova Übernahme der Visual FoxPro Geschäftslogik.
Uwe Habermann Venelina Jordanova Schreiben von Visual FoxPro Code in der Oberfläche.
Uwe Habermann Venelina Jordanova Professioneller Einstieg in eine neue Welt!
Project Hooks und _VFP Möglichkeiten. © 1999 TMN-Systemberatung GmbH Aufbau des Objekt Modells für Applications und Projects.
Migration von VFP Anwendungen nach Silverlight Uwe Habermann Venelina Jordanova
Objektorientierte (OO) Programmierung
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
D-SQL SQLization – endlich Client/Server!
 Präsentation transkript:

Konvertierung FPW 2.6->VFP Konvertierung von FoxPro / Windows Anwendungen nach Microsoft Visual FoxPro

Diese Schulung dient der Übersicht über die Konvertierungsarten und - möglichkeiten von Applikationen unter FoxPro/Windows nach Microsoft Visual FoxPro

Themenübersicht Fallstudie aus der Praxis Vorüberlegungen Konvertierungsansätze Minimalistische Konvertierung Hybrider Ansatz Konvertierung Berichte Konvertierungsassistent Funktionale Konvertierung Maskeneigenschaften Nachbearbeitung von Masken FPW-Wrapper-Klassen

Fallstudie aus der Praxis Vollständige Konvertierung der FPD-Software „Account View“ nach Microsoft Visual FoxPro

Account View Anwendung Buchhaltungssoftware in FPD 2.6 4000 Kunden in 3 Ländern 70 % haben Netzwerklizenzen Beispiele Anwender: Royal Dutch Concertgebouw Pulitzer Hotel (350 Betten) Den Hague Police Region PTT Catering (360 Gebäude) Allianz Europa (SAP + AV)

Konvertierungs-Ziele 1. Zuverlässigkeit 2. Zuverlässigkeit 3. Zuverlässigkeit 4. Anforderungen Windows95 Logo 5. Möglichst gleiche Geschwindigkeit bei der Datenerfassung wie FP/DOS 6. Erhaltung der Flexibilität für VARs

Konvertierungs-Planung Die Wirklichkeit ist anders als die Demos In Wirklichkeit wurde die komplexe Funktionalität langsam und inkrementell entwickelt Wie lange dauerte es (wirklich) bis die Anwendung auf dem heutigen Stand war? Wie hoch schätzt man Zeit und Kosten für Migration Zuerst kalkulieren!

Implikationen Kosten von ca. DM 200,000 (mind.!) Kaufen aller verfügb. Bücher zu VFP MCP-Test für alle Teammitglieder Kaufen sämtlicher auch nur ansatzweise sinnvoller Werkzeuge Kein Geld an der Vorbereitung(szeit) sparen! Unterstützung der GL einholen

Vorschläge zur Vorgehensweise Selbst erstellen oder Kauf eines fertigen Applikations-Frameworks mit Basisklassen und Fertigobjekten Testweise manuelle Erstellung von einigen Masken, Berichten und Menüs Probeweise Konvertierung bestehender Dateien

Einsatz von Frameworks Notwendig und nicht migrierbar Einige Möglichkeiten: Codebook 3 (Flash - Griver) X3 Framework (MaxTech - Drew Speedie) VFP Frame (ABL) Negativ: Sind notwendigerweise sehr komplex Werden hauptsächlich von Firmen verkauft, deren Schwerpunkt im Bereich Beratung, Coaching und Support liegt

Konvertierungsarbeit Masken Functional Visual Custom Menüs Berichte (Problem: breite Berichte) Datenbanken Datenbankcontainer, Private Datasessions, keine Views, keine Rules/Trigger

Unterstützung 1. Online Hilfe 2. Online Dokumentation 3. „Mastering Visual FoxPro“-CD (Migration CD) 4. Knowledge base auf den TechNet-CDs 5. VFOX/dFPUG-Forum auf Compuserve! 6. Microsoft FoxPro Site im Internet 7. Bücher über Visual FoxPro 8. Alte Ausgaben des „FoxPro Advisor“ (ggf. CD) 9. Bekannte, Eltern und Verwandte 10. Microsoft Support

Zusammenfassung Fallstudie Die positive Seite: 75% der Applikation konnten unverändert übernommen werden VFP ist das Ticket zu „state-of-the-art“-Anwendugnen bis ins nächste Jahrhundert! HINWEIS: Es war FOXPRO / DOS !!!

Grundsatzüberlegungen zur Konvertierung nach Microsoft Visual FoxPro Vorüberlegungen Grundsatzüberlegungen zur Konvertierung nach Microsoft Visual FoxPro

Visual FoxPro „State of the art“-Datenbank-Applikationen 32bit-Windows-Unterstützung Client/Server-Connectivity Objektorientierung Umfangreiches Debugging Multi-Tier/Internet-Applikationen

Konvertieren vs. Neuschreiben Die bestehende Anwendung hat mehrere Versionen durchlaufen? ist stabil? benötigt keine neue Funktionalität? läuft nicht auf neuen Betriebssystemen? Die Entwickler haben die Möglichkeit, OOP kennenzuleren oder keine Zeit für neue Entwicklungsmethoden?

Grundsatzüberlegungen (1) Wurden die Werkzeuge verwendet? Falls nein: minimalistisch oder neu schreiben Werden FLLs eingesetzt? Neu kompilieren unter 32Bit notwendig Werden Third-Party-Tools eingesetzt? Funktionalität evtl. in VFP bereits eingebaut Andernfalls neue Version notwendig - ist diese lieferbar und erfordert ggf. Konvertierung

Grundsatzüberlegungen (2) Multi-Plattform-fähige Anwendung? Unterstützt: Windows 95 ff., Windows NT Plattformfähigkeit weiterhin notwendig? Umsetzung über Internet-Browser? Upgrade auf Windows95-GUI ? Minimalitische Umsetzung nicht möglich..

Konvertierungsansätze Verschiedene Konvertierungsansätze von FoxPro/Win nach Microsoft Visual FoxPro

Minimalistischer Ansatz Vorteile: Geringster Aufwand Keine weitere Entwicklungszeit oder Entwicklungs- bzw. Lernaufwand Nachteile: Keine Nutzung des Ereignismodells Keine Nutzung des Objektmodells Altes Userinterface Im Vergleich hohe Wartungskosten

Hybrider Ansatz Vorteile: Alter Code weiterverwendbar Ereignismodell Teilweise Objekt-modell nutzbar Neue Funktionen User-Interface Nachteile: Gemischte Programmierung aufwendig (vor allem Debugging) VFP-Lernaufwand für Ereignisse/OOP Wartungsaufwand

„Neuschreiben“ Vorteile: Bessere Design-werkzeuge Datenbankcon-tainer verwendbar Alle Vorteile der Objektorientierten Programmierung Nachteile: Hohe Lernkurve für OOP Reengineering der Anwendungs-Architektur Höherer Zeit- und Geldaufwand

Minimalistischer Ansatz Der minimalistische Ansatz zur Konvertierung von FPW nach Microsoft Visual FoxPro

Minimalistischer Ansatz Neues Projekt anlegen Hauptprogramm addieren keine Maske zulässig - würde konvertiert... Projekt neu erstellen (.SPR statt .SCX) Zusatzdateien einfügen Bitmaps, Include-Dateien Applikation erstellen

Gemischte Nutzung Fallunterscheidung zu Version NAME-Klausel zu Fenstern führt zu Form.Pageframe1.Page1 READ-Befehl weiter notwendig NAME-Klausel zu GET-Feldern Arbeiten mit Activepage Anpassung GenScrn (Setup1/2)

Hybrider Ansatz Der hybride Ansatz zur Konvertierung von FoxPro/Windows nach Microsoft Visual FoxPro

Konvertierung Projektebene Alle Projektkomponenten auf einmal Automatische Konvertierung für Etiketten Abfragen (Queries) Menüs Berichte Einzige Möglichkeit für Maskensets

Konvertierung Berichte (1) FoxPro/DOS-Reports aus FPW-Projekten sind nicht konvertierbar Druckertreiber werden von Windows verwaltet (kein GENPD.APP mehr) Neue Funktionen möglich REPORT FORM ASCII / PREVIEW _GENHTML

Konvertierung Berichte (2) FoxPro/Win-Reports direkt aufrufbar „USER“-Feld zu „FRX“-Datei Memofeldbreite von 10 auf 4 Byte Environment in Dataenvironment AutoOpen/AutoClose-Eigenschaft „Environment“ in DE.OpenTables

Konvertierungsassistent Quellcode unter VFP\Tools\Convert Backup lieber vorher selbst machen Logfile nicht sonderlich interessant Unterscheidung für Masken zwischen funktionaler Konvertierung visueller Konvertierung

Konvertierungsarten Funktional: „\OLDx“-Backup Masken „s2x/t“ Verlagerung von Code-Snippets in neue Ereignisse und Methoden Visuell: Snippet-Code wird in eine Programm-datei ausgelagert und muß VON HAND zugeordnet werden (= Cut & Paste)

Funktionale Konvertierung Besonderheiten bei der funktionalen Konvertierung von Masken unter Microsoft Visual FoxPro

Konvertierung Ereignisse FoxPro/Windows: Setup #Section 1 Setup #Section 2 Activate Deactivate Show When Valid Cleanup Visual FoxPro: FormSet.Load Form.Load Form/Set.Activate Formset.Deactivate Formset.ReadShow Formset.ReadWhen Formset.ReadValid Formset.Unload +SPR

Konvertierung READ-Optionen FoxPro/Windows: CYCLE LOCK MOUSE SAVE TIMEOUT Visual FoxPro: FormSet.ReadCycle FormSet.ReadLock FormSet.ReadMouse FormSet.ReadSave FormSet.ReadTimeout

Erzeugung „SPR“-Datei (Code-Tab) „SPR“-Datei wird als Wrapper generiert [Converter] Declare Arrays EXTERNAL ARRAY <arrayname> [Converter] DeclareVariables PUBLIC _GotoPlaceHolder EXTERNAL PROC <maske>.scx DO FORM <maske.scx> NAME <zufall> LINKED [Converter] Begin/End CLEANUP CLEANUP und andere Prozeduren/Funktionen

Aufbau konvertierte Maske Formset (immer, auch wenn nur 1 Maske) Form (Anzahl je nach Maskengruppe) Pageframe (immer) Page (Anzahl je nach Read-Leveln) Steuerelemente: CommandButtonGroup (auch 1 Button)

Eigenschaft „WindowType“ Nur bei funktionaler Konvertierung 2 = READ, 3 = READ MODAL Formset bekommt 2.6-Read-Methoden Formset.Load lädt „gebundene“ Variablen! „Environment“ wird im Load gesetzt Recordpointer im Unload in globale Vars.! DataEnvironment enthält „Umgebung“ AutoOpen/AutoClose wird gesetzt

Maskeneigenschaften (1) FoxPro/Windows: Maskengruppe Maske/Screen READ-Level READ-Befehl MODAL-Klausel Visual FoxPro: FormSet Form in FormSet Page in Pageframe WindowType=2 WindowType=3

Maskeneigenschaften (2) FoxPro/Windows: Open / Close Titel Name, Koordinaten, Moveable, Icon Center Border Close Color Visual FoxPro: Dataenvironment Caption dito Autocenter Borderstyle Closeable Backcolor

Maskeneigenschaften (3) FoxPro/Windows: HalfHeight Titlebar Wallpaper Minimize Font Environment Visual FoxPro: HalfHeight Caption Picture MinButton Fontname, Fontsize, Font-Flags (Bold usw.) Dataenvironment

Nachbearbeitung von Masken (1) READ MODAL+DEACTIVATE beides aktiv! Doppelte Namen für Form/Control/Var. Shapes immer hinter allen Controls Unsichtbare Buttons immer vor Controls Funktionen mittlerweile belegt OLDVAL(), HOME() und ähnliche Namen evtl. vorh. Makro-Substition nicht in Eigenschaften! &cPrompt => =&cPrompt => = cPrompt

Nachbearbeitung von Masken (2) Setup-RETURN zu RETURN .F. ändern! GenScreenX-Direktiven nicht mehr vorhanden, ggf. visuell konvertieren... #INSERT wird eingelesen #INSERT darf nur Direktiven enthalten besser: Direktiven in .h-Datei verlagern und diese dann setzen oder mit #INCLUDE angeben

Verlagern von Code FoxPro/Windows: CLEAR READ SHOW GET SHOW GETS READ SHOW/WHEN READ DE/ACTIVATE READ VALID Visual FoxPro: Thisform.Release() <object>.Refresh() bzw. <listbox>.Requery() Thisform.Refresh() Thisform.Load() Thisform.DeActivate() Thisform.Query-unload()

Sonstige Änderungen Maskenset bei Einzelmasken entfernen Pageframe und Pages entfernen Parameter von Load nach Init verlagern Load-Variablen in eigene Eigenschaften SPR-Code in eigene Methoden „Private“ Datasessions WindowType 2=>0, 3=>1 (Einbahnstraße!)

Probleme mit Tabellen Lange Variablen/Tabellennamen gültig! Viel mehr Arbeitsbereiche! (Schleifen!) ON KEY LABEL CTRL+0 verhindert .NULL. NULL, DBC, neue Feldarten konvertieren Tabellen nach VFP-Format, zurück mit: COPY TO <table> NEXT 0 TYPE FOX2X

Grobe Aufwandsschätzung Übersichtsmasken 1/4 MT Konfigurationsmasken 1/2 MT "Onetomany"-Masken 4 MT Dialogmasken 1/8 MT Berichte 1/4 MT Tabellen 1/8 MT Menüs 1/8 MT

OLE-Server aus FoxPro/Windows Erzeugen von OLE-Public-DLLs aus FoxPro/Windows-Anwendungen mit Microsoft Visual FoxPro

FPW-Wrapper (1) Ox = Createobject( „Test“ ) Define Class Test as custom olepublic Procedure Init cd <wohinauchimmer> set path to data this.application.visible = .T. Procedure DoIt do <maske.spr> Enddefine

FPW-Wrapper (2) Ox = Createobject( „Test.Test“ ) Ox.DoIt() Ausführung aus anderen Programmiersprachen: Ox = Createobject( „Test.Test“ ) Ox.DoIt() Wenn im READ Tabelle nicht geschlossen wird: ? Ox.application.Eval( <feldname> )

Was sollte man überlegen? Minimalitisch? Als Wrapper aufrufen? Funktional? Später überarbeiten? Nachbearbeiten auf-wendiger als neu? Gleich Visuell? Gemischt je nach Maskeneinsatz?

Vielen Dank! Das waren die Themen: Fallstudie aus der Praxis Vorüberlegungen Konvertierungsansätze Minimalistische Konvertierung Hybrider Ansatz Konvertierung Berichte Konvertierungsassistent Funktionale Konvertierung Maskeneigenschaften Nachbearbeitung Masken FPW-Wrapper-Klassen

Wenn Fragen bestehen: Wizards & Builders Frankfurter Str. 21b Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175