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. 
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.
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.
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.
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!“
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>.
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...
 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
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.
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.“
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.“
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.“
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. -
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.“