„Der Visual FoxPro 7.0
Anwendungsentwickler“ - Buchvorstellung

Patrick E. Schärer

Als im November 1999 mit der Erscheinung des „Visual FoxPro 6.0 Anwendungsent-wickler“ erstmalig von Addison-Wesley Deutschland ein Buch über Visual FoxPro in den Buchhandel gebracht wurde, war die Reaktion der Leser überschwenglich. Strategisch war es ein Schachzug für VFP. Die vorsichtige Skepsis des Verlags von einer Veröffentli-chung zu diesem „Thema“ löste sich alsbald in Zufriedenheit, die im folgenden Jahr ei-ne zweite Auflage nötig machte. Nun erschien aktuell das Nachfolgebuch zu Visual FoxPro 7.0.

Der Visual FoxPro 7.0 Anwendungsentwickler“ will kein „What’s new in Vi-sual FoxPro 7.0“ sein, sondern behält das erfolgreiche Konzept des Vorläu-fers bei: Eine schrittweise Einführung in objektorientierte Programmierung mit Visual FoxPro – allerdings mit Vorstellung und Verwendung all des Gu-ten, was VFP7 zu bieten hat. So ist es nun auch 50 Seiten umfangreicher als der Vorgänger. Wer sich speziell für die Neuerungen interessiert, findet diese im entsprechenden Kapitel gesammelt mit Verweisen auf die jeweiligen Pas-sagen im Gesamttext, die praktische Erklärungen und Anwendungen geben – seien es die vielen neuen Möglichkeiten des Editors, wie Intellisense, erweiter-te Suchfunktionen, neue Optionen..., seien es neue Eigenschaften und Funktionen, Datenbankereignisse oder der OLE-DB-Provider („wozu nutzt der eigentlich und brauch ich den?“). Im Anhang finden sich Kapitel zur Ver-wendung der neuen Features Dokumentenansicht und Taskliste. Wie man den andockbaren Fenstern das Gehorchen beibringt, welche Möglichkeiten sich darin noch weiter verbergen und wie man sie am besten praktisch nutzt.

Was VFP-Profis betrifft ...

Schon mal Programmier-Nachwuchs ausbilden wollen, aber nicht Stunden Zeit gehabt, sich daneben zu setzen und Anfangsgründe von VFP und von Objektorientierung zu erklären? Ich auch...

Das war mit in meinem Blickwinkel, als es darum ging gerade ein Einführungsbuch auf deutsch zu veröffentlichen. Denn bekanntlich ist das Problem der VFP-Community nicht gerade eine Pro-grammiererschwemme. Wer interessiert und geschickt ist, kann sich gut selbständig mit dem Buch 3 Wochen beschäftigen und sich einen ordentlichen Grundstock anlegen, besonders gut, wenn er jemanden hat, den er nur mal zwischendurch mit einer Frage belästigen darf.

Was Trainer betrifft ...

Umfangreiche Schulungsunterlagen zu erstellen (natürlich soll es mind. mit CD sein, mit Beispielen, Erweiterungen für Zuhausearbeit, Zusatzerklärungen) ist eine Menge Arbeit ...

Die muß nicht unbedingt jeder sich neu machen. Das Buch ist als Begleitleitfaden für Schulungen sehr geeignet, und kommt aus der Erfahrung von zig von mir selbst gehaltenen Schulungen vor unterschiedlichstem Publikum (das entsprechend berücksichtigt wird).

Der erste Teil des Buches (erste Hälfte) ist ein „Grundkurs“, wo sukzessive ein Kapitel auf das andere aufbaut und die verschiedenen Teile eines FoxPro-Projekts durchwandert – in etwa der Inhalt einer 5-Tagesschulung mit Erweiterungen zum Selbststudium. Dabei wird eine Beispielanwendung aufgebaut vom Start bis zum auslieferungsfähigen Setup-Programm (erstellt mit InstallShield Express, wie es sich für „7“ gehört – versteht sich). Dies kann als Skelett verwendet werden, anhand dessen man seine eigenen Schwerpunkte und Beispiele verwendet.

Allerdings: ersetzen wird das Buch eine Schulung deswegen noch nicht – es bräuchten also keine „Konkurrenzgefühle“ entstehen.

Der zweite Teil des Buches („Erweiterung“) enthält einzelne Erweiterungsthemen, die frei ge-wählt werden können, also nicht notwendigerweise aufeinander aufbauen. Sie können als Zusatz-kapitel an beliebiger Stelle in den Hauptstrang der Schulung mit aufgenommen werden – auch je nach Interesse und Erfordernissen der Teilnehmer.

Die CD enthält das Beispielprojekt jeweils zum Stand der verschiedenen Kapitel, so daß es damit möglich ist, auf einem gemeinsamen Projektstand an beliebiger Stelle aufzusetzen.

Was angehende Trainer betrifft ...

Wer seine ersten zehn VFP-Schulungen noch nicht gehalten hat, aber eine halten soll, wird gern auf die Erfahrungen von vielen anderen Schulungen zurückgreifen wollen ...

Anhang des bewährten Leitfadens wird ein Stück nach dem anderen so aufgebaut, daß nicht auf einmal der Teilnehmer verwirrt wird, weil auf einen Begriff oder einer Funktion aufgebaut wird, die nicht rechtzeitig vorher eingeführt wurde. Sowieso sind die häufig vorkommenden 5 Tage nicht eben übermäßig lang für ein solides Fundament, so daß es hier wichtig ist, recht systematisch und stringent aufzubauen. Dazu dürfte das Buch als Schulungsleitfaden verhelfen.

Was solche betrifft, die sich in VFP erst einarbeiten ...

Ihnen ist dieses Buch zuallererst gewidmet! Aus dem Vorwort: „Der Spaß des Anfangs hört bei den meisten Autodidakten nach den ersten ernsthaften Versuchen bald wieder auf, wenn Objekte, Eigenschaften, Klassen, Methoden, Events, Trigger und alles andere beginnen, durcheinander zu geraten, und man sich fragt: Wo muß ich eigentlich anfangen?

Welches Konzept muß mein Programm haben? Soll ich weiterstricken oder lieber ganz schnell aufhören, um mit meiner Anwendung nicht nachher in einer Katastrophe zu enden, die mich die nächsten Jahre beschäftigt? Dieses Buch soll den anfänglichen Dschungel zu einem schön strukturierten, übersichtlichen Gebäude formieren, in dessen Räumen Sie sich als Entwickler von Datenbankanwendungen zu hause fühlen und sicher bewegen können. Es ist sowohl eine Einführung in die Praxis der objektorientierten Programmierung als auch ein sukzessives Ken-nenlernen und Vertrautwerden mit der Arbeitsweise und den Möglichkeiten der Programmiersprache und Datenbank Visual FoxPro.

Um möglichst unterschiedlichen Vorkenntnissen gerecht zu werden, finden sich für Program-mieranfänger – oder für solche, die gerne einige Grundlagen auffrischen möchten – im Anhang einige einfache Erklärungen zur Basis des Programmierens (Variablen, Ausdrücke, Funktionen), auf die im eigentlichen Text Bezug genommen wird. Für Programmierer, die mit xBase-Sprachen nicht vertraut sind, werden typische xBase-Befehlssyntax und Funktionen sowie die Arbeit mit Select-Bereichen einschubweise erklärt. Diese Einschübe können von alten dBase-Hasen oder Clipper-Gemsen übersprungen werden.

Der Anhang enthält dazu eine Übersicht über die wichtigsten Funktionen, mit denen in diesem Buch gearbeitet werden. Darüber hinaus finden sich dort die verschiedenen und anfangs viel-leicht etwas verwirrenden VFP-Dateitypen erklärt (nicht wie in der Online-Hilfe alphabetisch, sondern thematisch sortiert, mit Hinweis auf entsprechende Kapitel). Dies geschieht insbesondere unter Berücksichtigung der nicht unwichtigen Frage, welche Dateien von Ihnen jederzeit gelöscht werden können und welche unter gar keinen Umständen!“

Zum Nachschlagen...

Ein recht umfangreicher Index hilft besonders solchen, die mit diesem Buch einmal gelernt haben beim späteren Entwickeln von Projekten für aufkommende Fragen schnell die entsprechenden Lehrpassagen und Beispiele, z. B. zur Einführung einer bestimmten Eigenschaft oder Methode, im Buch wiederzufinden. Er ist gegliedert nach den Rubriken Befehle, Funktionen, Eigenschaften, Methoden/Ereignisse und Themen. Aber auch anderen sollte dies eine Hilfe sein, denen z.B. der „Hackers Guide“ von Tamar E. Granor und Ted Roche zum Nachschlagen noch eine Schuhgröße zu groß und zu englisch ist. Das Ziel ist im Fall dieses Buches nicht die Voll-ständigkeit – die ist für den Anfänger eher verwirrend (immerhin ist Visual FoxPro eine der umfangreichsten Programmiersprachen) – sondern viel mehr das Wesentliche. Für den nächsten Schritt und zum Finden weiterer Informationsquellen und Möglichkeiten des Erfahrungsaustausches werden im Anhang des Buches einige Empfehlungen weitergegeben, die in den folgenden Schritten der Programmierpraxis zur Hilfe dienen – zum Beispiel, wie man die deutsche FoxPro UserGroup findet!!! <g>.

Ausblick

Da ein direkt vergleichbares Buch auch im Englischen nicht existiert, wird zur Zeit über eine Übersetzung diskutiert. Ken Levy hat bereits Interesse daran geäußert – hier sind die Verlagsentscheidungen aber noch offen. Auch die Ausgabe für VFP 8.0 ist noch nicht fertiggestellt...

Inhaltsübersicht des Buches

0 Endlich Visual FoxPro 7.0 „Sedona“!
0.1 Komponentenentwicklung und Mehrschichten-Architektur
0.2 Retrospektive früherer Visual FoxPro-Versionen
0.3 Visual FoxPro 7.0

1 Einleitung
1.1 Hardware-Voraussetzungen
1.2 Zum Durcharbeiten von diesem „Kurs“

2 Grundlegung des Projekts
2.1 Unser Beispielprojekt
2.2 Die Hilfe verwenden

3 Erste Schritte: Befehl, Programm, Editor
3.1 Das Befehlsfenster
3.2 Unser erstes Programm
3.3 IntelliSense
3.4 Der Editor von VFP7

4 Daten (I): Datenbank und Tabellen
4.1 Die Datenbank
4.2 Die Tabelle
4.3 Erstes Anlegen von Daten
4.4 Handhabung der Tabelle im Projekt
4.5 Erweiterung der Tabelle: weitere Feldtypen
4.6 Feldeigenschaften auf Tabellenebene
4.7 Verwendung von Indices
4.8 Einschub Dateitypen (I)
4.9 Zur Verwendung von Select-Bereichen
4.10 Grundlegende Befehle zur Datenbehandlung und Suche
4.11 Stored Procedures
4.12 Datenbankereignisse

5 Debugger
5.1 Starten und Einstellen des Debuggers
5.2 Die Arbeit mit dem FoxPro-Debugger

6 Formulare (I): Einführung in Objektorientierung
6.1 Kleine Objekt-Theorie am Beispiel Formular
6.2 Eigenschaften, Methoden und Ereignisse
6.3 Daten im Formular
6.4 Datensatzsteuerung
6.5 Objekthierarchie am Beispiel PageFrame und Listbox
6.6 ComboBox und Verwaltung von Schlüsselbegriffen

7 Daten (II): Die Arbeit mit Views
7.1 Views
7.2 Abfragen
7.3 Die Funktionen DBGETPROP(), DBSETPROP(), CURSORGETPROP(), CURSORSETPROP()
7.4 Ein Wort zur Pufferung von Datensätzen in Views und Tabellen

8 Formulare (II): Programmierung
8.1 Verwendung von Views in Formularen
8.2 Multiple Formular-Instanzen, Private Datasessions, Verhalten im Netz
8.3 Eigene Eigenschaften am Beispiel Alternative Formulargröße einstellen

9 Klassen (I): Einführung
9.1 Was sind Klassen?
9.2 Erzeugen von Objekten aus Klassen
9.3 Beispiel: Wir erzeugen ein Formular-Objekt programmatisch aus einer Basisklasse
9.4 Codierte Ableitungen der Basisklassen
9.5 Beispiel: erste eigene Textbox- und Label-Klasse
9.6 Formular-Klassen
9.7 Erste Techniken der Klassenprogrammierung
9.8 Empfohlene Strukturierung von Klassenbibliotheken

10 Berichte (I)
10.1 Der VFP-Berichts-Designer
10.2 Druck von Berichten

11 Weitere Elemente der Anwendung und erste EXE
11.1 Erzeugen einer eigenen Toolbar
11.2 Erstellen eines Anwendungsmenüs
11.3 Gestalten des Hauptfensters
11.4 Einfaches Hauptprogramm und Kompilierung der EXE-Datei

12 Distribution der Anwendung
12.1 Testen der auslieferungsfertigen Version
12.2 Erzeugen eines Setup-Programms

13 Objektorientierte Anwendungsarchitektur
13.1 Vom prozeduralen Code zur Anwendungs-Klasse
13.2 Erweiterung der Funktionen und Auslagerung
13.3 Die Umgebungs-Einstellungen: weitere Custom-Klasse
13.4 Verwenden von API-Funktionen am Beispiel Lesen/Schreiben von INI-Datei-Einträgen
13.5 Verwaltung von Tabellen und Datenbank im Netz
13.6 Verallgemeinerung unserer Anwendungs-Klasse

14 Berichte (II): Summen, Gruppen, Erweiterungen
14.1 Berechnungen, Summierung, weitere Gestaltung
14.2 Gruppierung und weitere Optionen
14.3 Weitere Tools

15 OLE
15.1 Formulare (III): ActiveX-Steuerelemente
15.2 Daten (III): Feldtyp Objekt und APPEND GENERAL
15.3 Fernsteuerung anderer Anwendungen am Beispiel Word und Excel

16 COM
16.1 VFP als COM-Client
16.2 VFP als COM-Server
16.3 Das Herzstück: eine öffentliche Klasse
16.4 Kompilieren und Registrieren der DLL
16.5 Beispiel für die Verwendung einer Visual FoxPro COM-DLL außerhalb von VFP

17 Daten (IV): Remote-Anbindung mit ODBC und OLE-DB
17.1 ODBC oder OLE-DB?
17.2 ODBC: How To Do?
17.3 OLE-DB: How To Do?

18 Daten (V): Ein Wort zur Strukturierung Ihrer Daten
18.1 Normalisierung von Datenstrukturen
18.2 Referenzielle Integrität
18.3 Abschließende Bemerkung: xCase

19 Daten (VI): Stored Procedures
19.1 Stored Procedures am Beispiel Automatische ID-Vergabe

20 Klassen (II): Programmierung
20.1 Existenz anderer Objekte
20.2 Formular nach Objekten einer bestimmten Klasse durchsuchen
20.3 Objektreferenzen in Objekteigenschaften
20.4 Prüfung der Klasse eines Objekts unter Berücksichtigung aller Ableitungen dieser Klasse
20.5 Verhinderungen der Instanziierung von Objekten, wenn bestimmte Bedingungen dafür nicht erfüllt sind
20.6 Objektvariablen als Parameter statt fester Objektbezüge

21 Formulare (IV): Das Grid-Objekt
21.1 Einleitung
21.2 Die Grid-Objekthierarchie
21.3 Weitere Controls im Grid
21.4 Anzeige des Objekts zum Debuggen
21.5 Weitere häufig gebrauchte Grid-Eigenschaften
21.6 Anbindung des Grids an den Navigations-Container

22 Entwicklungsumgebung: nützliche Werkzeuge
22.1 Die Dokumentenansicht
22.2 Die Taskliste

23 Entwicklungsumgebung: Tipps zur Gestaltung
23.1 Andocken von Fenstern
23.2 Makros definieren

24 Was tun, wenn eine Tabelle im falschen Verzeichnis gespeichert
wurde und verschoben werden soll?

25 Listen
25.1 Die Basisklassen und ihre Namenskonventionen
25.2 Die FoxPro-Dateitypen
25.3 Toolbar-Namen

26 Grundlagen
26.1 Variablen und deren Benennungskonventionen
26.2 Funktionen unter Visual FoxPro
26.3 Ausdrücke
26.4 SQL-Statements

27 Wichtige Empfehlungen
27.1 Hilfe!
27.2 Fertige Klassenbibliotheken
27.3 Veröffentlichungen

Die folgenden Leserrezensionen beziehen sich auf das Vorgängerbuch über VFP6, das in der Version 7 weiter verbessert wurde. Quelle: Amazon.de

„Einfach ein ausgezeichnetes Lehrbuch“

Rezensent: B. Thuemmler (b.thuemmler@freenet.de) aus Chemnitz schreibt:

“In der heutigen Zeit zunehmender Verwirrung von Lesern durch unfähige Autoren, die viel Geld mit dem Abschreiben von ONLINE-Help-Texten verdienen, eine der wenigen guten Ausnahmen. Ich programmiere seit 1986 mit FoxBase bzw. FoxPro und bin über dieses Buch sehr glücklich. Für mich ein guter Einstieg in die Welt der objektorientierten Programmierung. Die Genialität des Autors und Dozenten zeigt sich nicht in der Unart weitschweifiger und oberflächlicher Darstellung eines Problems, sondern durch Effektivität, gute Methodik und Kürze. Ein sehr gutes Lehrbuch, meine Bewunderung Herr Schärer. In einer Welt von "Bill Gates" und "Profitwahn" ein Lichtblick.

„Übersichtlicher Einstieg“

Rezensent: Dietmar Auer (dietmar.auer@t-online.de) aus Friedrichshafen.

„Dieses Buch bietet dem Ein- bzw. Umsteiger alles, was die Standardhilfe und das Handbuch vermissen lässt. Nach dem Studium fand ich mich sehr gut in Visual Foxpro 6 zurecht.“

„Leicht zu lesen, einfach zu verstehen“

Rezensent: Winfried Baur (winfried_baur@hotmail.com) aus Horb-Altheim

„Hallo Herr Schärer, heute Mittag habe ich ihr Buch "Der Visual FoxPro 6.0 Anwendungsentwickler" erhalten und seitdem nicht mehr aus der Hand gelegt. Ich glaube das war in Y2K die erste sinnvolle Investition die ich getätigt habe. Besonders Kapitel 8 und 11 sind spannend zu lesen. Mir als Clipper Umsteiger ist nun auch einiges klarer weshalb man Objekte benutzen sollte. Das "wie" habe ich immer verstanden nur das "weshalb" man Objekte nützen soll verstehe ich jetzt sehr viel besser anhand Ihrer Beispiele und direkten Formulierung.“

„Ein Muss für Ein- und Umsteiger“

Rezensentin: Klaus Barthels (klaus.barthels@lbs-ost.de) aus Potsdam

„Endlich einmal ein deutschsprachiges Buch zu VFP 6.0, daß nicht nur ein "Abklatsch" der Hilfetexte ist. Der Autor versteht es, auch den Neuling Schritt für Schritt in die Tiefen der objektorientierten Programmierung zu führen. Didaktisch ausgezeichnet werden Befehle, Befehlsfolgen und deren Parameter erklärt - kein Wunder, führt der Autor doch selber Seminare mit hohem Niveau durch. Für mich als Umsteiger von FP 2.6 auf VFP 6.0 endlich der Leitfaden, auf den ich schon lange gewartet habe.“

„Ein sehr empfehlenswertes Buch für Einsteiger“

Rezensentin: Dr. Dai aus Lübeck, Germany

„Das Buch ist didaktisch sehr gut. Durch Beispiel wird die Handhabung des Foxpro 6.0 ausfühlich und sehr systematisch behandelt, die für die Anfänger besonders wertvoll ist. Es gibt noch relativ viele Schreibfehler im Text, die verbessert werden müssen.“

- Info: Der Rezensent dürfte mit der 2. Auflage des VFP6-Buches und umso mehr mit der Buch-Version für VFP7 sein, die komplett überarbeitet wurde. -

„Ein Spitzenwerk für Ein- und Umsteiger“

Rezensentin: Burkhard Piereck aus 41379 Brüggen

„Sehr verständlich und einfach, untermauert mit praxisnahen Beispielen, führt der Autor P. E. Schärer den Leser an Visual Fox Pro heran. Für Programmierer, die zuvor nicht objektorientiert gearbeitet haben, ist diese Werk ein unbedingtes Muss. Der Einstieg in FoxPro wird mit diesem Titel merklich vereinfacht. Einfach toll.“