Microsoft Visual FoxProMS Visual FoxPro 5.0 ist eine sehr umfangreiche objektorientierte Entwicklungsumgebung für die Erstellung von Datenbanken und die Applikationsentwicklung. Visual FoxPro 5.0 stellt Entwicklern die Werkzeuge bereit, die sie für die Organisation großer Mengen an Informationen, das Ausführen von Abfragen oder die Programmierung von Daten-Management-Applikationen für Endanwender benötigen. Visual FoxPro bringt viele einzigartige Stärken in die Gruppe der Visual Tools ein. Dazu gehören:
MS Visual FoxPro 5.0 ist eine Datenbank für den professionellen Entwickler. Es ist ein High-End-Produkt auf dem Markt für PC-Datenbanken, der Rapid Application Development (RAD) und der objektorientierten Werkzeuge. Die Stärke von Visual FoxPro liegt in seiner Ausgereiftheit, seiner Mächtigkeit, seiner Geschwindigkeit im Vergleich zu den Mitbewerbern, wie auch in einer großen Anzahl von FoxPro-Entwicklern, die viele Jahre Erfahrung in der Entwicklung von sehr schnellen Datenbank-Applikationen haben. Die Datenbank-EngineDie Visual FoxPro Datenbank-Engine ist eine vollständige relationale Datenbank-Engine, die für große Datenmengen optimiert ist. Datenbankapplikationen können nie schnell genug sein. Genau auf diesem Gebiet hat sich FoxPro einen legendären Ruf erworben, indem es beständig schneller war als die Mitbewerber und einen sehr schnellen Zugriff auf große Datenmengen bot. Das Data Dictionary von Visual FoxPro befreit den Entwickler von der Notwendigkeit, eine Menge Code zu schreiben, um die Integrität der Daten zu überprüfen. Im Tabellenassistenten kann der Entwickler Regeln für die Gültigkeit von Daten und Werte, mit denen ein Feld vorbelegt werden soll, festlegen. Auch Datensätze können auf ihre Gültigkeit überprüft werden. Für Anlegen, Ändern und Löschen von Datensätzen kann der Entwickler eigene Triggerfunktionen schreiben, die ausgeführt werden, wenn diese Operationen ausgeführt wurden. Vorgabewerte, Gültigkeitsregeln und Trigger können einfache Ausdrücke sein, z. B. "Der Verkaufspreis muß höher als der Einkaufspreis sein"; sie können aber auch aus Funktionen bestehen, die der Entwickler schreibt. Diese Funktionen können sowohl in einer eigenen Funktions-Bibliothek als auch in der Datenbank gespeichert werden. Dadurch wird der Entwickler in die Lage versetzt, jeden Code, den er für die Integrität der Daten benötigt, zu entwickeln und automatisch jedesmal, wenn Daten geändert wurden, ablaufen zu lassen. Obwohl Visual FoxPro die Prüfung der Datenintegrität auf der Ebene der Daten-Engine nicht unterstützt, besitzt es einen Referential Integrity Builder, der die benötigten Trigger nicht nur für die referentielle Integrität erstellt, sondern auch das Cascading Delete (das automatische Löschen von Datensätzen in untergeordneten Tabellen, wenn ein entsprechender Datensatz in der übergeordneten Tabelle gelöscht wird) und Cascading Update (automatische Veränderung des Schlüssels, wenn er in der übergeordneten Tabelle geändert wird) unterstützt. Lokale, Remote- und Offline-ViewsEin Datenansicht, im weiteren 'View' genannt, in Visual FoxPro ist das Ergebnis einer Abfrage, in dem Daten geändert werden können. Es entspricht den Datenblattansichten in MS Access. Die Definition eines Views ist eine SQL-SELECT-Anweisung zur Bestimmung einer Untermenge von Daten. Es ist möglich, die Anzahl der Datensätze in dem Ergebnis einer Datenbankabfrage zu beschränken. Als Beispiel könnte ein View mit Bestelldaten aus einer SELECT-Anweisung bestehen, das die Bestelldaten-Tabelle mit einer Bestelldaten-Detailtabelle verbindet; als Suchkriterium dient die Bestellnummer. Der Benutzer könnte in einem Formular die Bestellnummer eingeben und die Eingabetaste drücken, um das SELECT-Statement erneut laufen zu lassen und sich die Daten auf seinem Formular anzeigen zu lassen. Entfernte Views, im weiteren 'Remote-Views' genannt, unterscheiden sich von lokalen Views durch den Zugriff mittels ODBC (Open Database Connectivity) auf Daten, die z. B. in einer MS SQL Server-Datenbank gehalten werden. Sie werden durch den Abfrage-Assistenten in der gleichen Weise wie lokale Views erstellt und gestaltet. Mit Hilfe von Visual FoxPro können Entwickler einen Prototyp ihrer Client/Server-Applikation erstellen, der lokale Views und lokale FoxPro-Tabellen benutzt. Wenn die Applikation mit Remote-Daten eingesetzt werden soll, kann der Upsizing-Assistent benutzt werden, um eine SQL Server- oder Oracle-Version der FoxPro-Daten zu erstellen. Falls die Formulare und Berichte auf Views basieren, genügen wenige Zeilen Code, um die Anwendung auf die Remote-Datenbank umzustellen. In manchen Fällen stehen Entwickler vor der Aufgabe, Daten unabhängig von der Remote-Datenbank anzuzeigen, zu sammeln oder zu verändern. Mit den neuen Offline-View-Möglichkeiten von Visual FoxPro ist es jetzt möglich, eine Verbindung zur Host-Datenbank (es kann sich hier sowohl um eine FoxPro-Datenbank als auch um eine ODBC-Datenbankverbindung handeln) herzustellen und sich Daten herunterzuladen, um sie offline zu bearbeiten. Für die Bearbeitung kann der View direkt oder mittels einer Applikation benutzt werden. Die im View gemachten Änderungen können anschließend wieder zur Host-Datenbank geschickt werden. Ein Hauptvorteil der Offline Views in Visual FoxPro 5.0 ist, daß minimale Änderungen im Code notwendig sind, um mit ihnen zu arbeiten. Statt auf die lokalen Daten verweist die Applikation auf den Offline View, und auf alle Felder, Indizes, Tabellen, Formulare usw. kann mit exakt den gleichen Namen zugegriffen werden. Die Entwickler müssen lediglich Code schreiben, der Konflikte behandelt, die durch das gleichzeitige Ändern von Daten in der Host-Datenbank und im Offline View entstehen können. Die Design-ToolsDer Mittelpunkt von Visual FoxPro ist der Projekt-Manager. Mit seiner Hilfe werden die Dateien eines Projekts organisiert und verwaltet. Alle Dateien, die zu einem Projekt gehören, sind in einer Übersicht organisiert, die der Benutzer anzeigen oder ausblenden kann. Dadurch können Anwender einfach und schnell auf alle Bestandteile eines Projekts zugreifen. Der Datenbank-Designer zeigt alle Tabellen, Views und Relationen an, die in der Datenbank enthalten sind. Er ermöglicht es dem Anwender, visuell die Datenbank zu verändern, indem Tabellen hinzugefügt und anschließend die Relationen durch Drag-and-Drop der Felder erstellt werden. Vom Datenbank-Designer gelangt man auch direkt in den Tabellen-Designer, der das Verändern der Tabellenstruktur ermöglicht. Der FoxPro Datenbankcontainer enthält alle Tabellen, Local Views, Remote-Views und Verbindungen zu Remote-Datenbanken. In einem Datenbankcontainer definierte Relationen sind in allen Applikationen, die mit dem Datenbankcontainer arbeiten, gültig. Der Formulardesigner wird für das Erstellen von Formularen und Steuerleisten verwendet. Der Entwickler kann auf der Ebene des Formulars auch eigene Eigenschaften und Methoden aber keine Ereignisse hinzufügen. Der Code für Gültigkeitsprüfungen und andere Operationen ist in der Visual FoxPro-Programmiersprache geschrieben und kann zusammen mit dem Formular, in einem separaten Programm, einer Klassendefinition oder als gespeicherte Prozedur in der Datenbank gespeichert werden. Visual FoxPro erleichtert das Verbinden von Objekten und Daten mit dem visuellen Designer für Datenumgebung. Komplexe Formulare können durch einfaches Drag-and-Drop von Feldern und Kontrollelementen auf die Oberfläche des Designers erstellt werden. Wenn ein Formular mit einer Tabelle, zu der weitere Detailtabellen existieren, verbunden ist, genügt es, einfach diese Detailtabelle auf das Formular zu ziehen, um ein Grid zu generieren, das alle Datensätze der Detailtabelle anzeigt, die zu der Auswahl in der übergeordneten Tabelle passen. Während des Erstellens eines Formulars kann der Anwender aus dem Formular-Designer heraus eine Gruppe von Objekten als Klasse abspeichern. Diese Klasse kann sowohl in der aktuellen Applikation als auch in anderen Anwendungen wiederverwendet werden. Als Beispiel nehmen wir an, daß der Entwickler auf einem Formular die Felder Name, Adresse und Telefonnummer plaziert. Diese Feldgruppe speichert er als Klasse. Wenn der Entwickler nun ein Formular für eine Mitgliederverwaltung entwirft, kann er diese Klasse verwenden und muß nicht eine neue Gruppe von Feldern entwerfen, um die gleichen Informationen zu handhaben. Mit diesem Vorgehen kann viel Zeit bei der Entwicklung von Anwendungen gespart werden, vor allem, wenn die Klassen so geplant sind, daß man sie auch in anderen Applikationen wiederverwenden kann. Auch im Klassendesigner werden Klassen erzeugt. Er bietet die einzige Möglichkeit, visuell Klassen zu ändern. Er hat die gleiche Oberfläche wie der Formular-Designer. Der Entwickler kann der Klasse eigene Eigenschaften und Methoden hinzufügen und damit die bei Visual FoxPro vorhandenen Eigenschaften und Methoden ergänzen. Benutzerdefinierte Klassen können von jeder Basisklasse, die in Visual FoxPro enthalten ist, abgeleitet werden, auch von Formularen, Befehlsschaltflächen, Textboxen und Grids ('Datenblattsteuerelemente'", um nur einige Möglichkeiten zu nennen. Visual FoxPro enthält mehrere Assistenten, die den Vorgang der Anwendungsentwicklung weitgehend automatisieren. Dazu gehören Assistenten zum Erstellen von Tabellen, Abfragen, Formularen und Serienbriefen. Zusätzlich helfen Assistenten dem Entwickler, Daten in FoxPro-Tabellen zu importieren, Setup-Disketten zu erstellen und eine Anwendung auf den SQL Server oder Oracle zu portieren. Die Programmiersprache und die EntwicklungsumgebungObwohl Visual FoxPro weiterhin die prozedurale xBASE-Programmierung unterstützt, bieten neue Erweiterungen der Sprache dem Anwender auch die Möglichkeiten der objektorientierten Programmierung. Objektorientiertes Design und objektorientierte Programmierung bedeuten einen Wechsel in der Fixierung auf den Standard der prozeduralen Programmierung. Anstatt von Anfang an den Programmablauf zu bedenken, muß der Anwender sich nun mit der Erstellung von Objekten befassen. Diese Objekte besitzen sowohl eine Funktionalität, die sie nur alleine nutzen können, als auch Methoden, die sie anderen Objekten zur Verfügung stellen. Visual FoxPro ermöglicht das visuelle Erstellen von Klassen (unter Verwendung des Klassen- oder des Formulardesigners) und durch die Verwendung von Code (mit dem DEFINE CLASS-Kommando). Das Visual FoxPro Modell der objektorientierten Programmierung enthält:
Der Klassen-Browser wird zum Anzeigen, Verfolgen der Hierarchie und Modifizieren von Klassen verwendet. Er erlaubt es dem Entwickler auch, Klassen abzuleiten, Klassen von einer Bibliothek in eine andere zu kopieren, Klassen und Bibliotheken zu löschen, eine Klasse umzubenennen oder die Verbindung von Klassen untereinander neu zu definieren. Der Klassen-Browser erlaubt es dem Entwickler weiterhin, sich die Klassenhierarchie anzeigen zu lassen und die Vererbung zusammengehörender Klassen zu verfolgen. Außerdem kann der Entwickler sich mit dem Klassen-Browser alle Eigenschaften und Methoden jedes Automation-Servers anzeigen lassen. Visual FoxPro enthält einen vollwertigen Debugger, der in einem eigenen Fenster läuft und fünf Fensterbereiche enthält: Trace-Fenster, das Überwachungsfenster, das Fenster "Aktuelle Variablen", das Aufruf-Stack-Fenster und das Ausgabefenster. Der Debugger enthält eine Reihe von erweiterten Möglichkeiten, einschließlich der Möglichkeit, eine Debug-Session zu speichern und wieder zu laden, Speichern der Einstellungen für die nächste Session, Ereignisverfolgung und komplexe Haltepunkte. Drag-and-Drop ist zwischen den einzelnen Bereichen des Debug-Fensters möglich. Visual FoxPro 5.0 unterstützt die vollständige Integration von Visual SourceSafe (VSS), Microsofts projektorientiertem Team-Entwicklungs-System. Erweiterungen mit ActiveXVisual FoxPro unterstützt ActiveX-Kontrollelemente, einschließlich solcher, die als Container auftreten und solcher, die einzelne Datensätze verbinden. Es werden allerdings keine Kontrollelemente unterstützt, die mehr als einen Datensatz binden. Visual FoxPro kann Automation-Server steuern und kann, da Visual FoxPro selbst ein Automation-Server ist, auch von anderen Anwendungen gesteuert werden. Daher kann eine MS Excel-Anwendung zum Beispiel eine Visual FoxPro-Routine aufrufen, die Daten sammelt. Wie bereits früher ausgeführt, ist eine der mächtigsten Eigenschaften von Visual FoxPro die Fähigkeit, Klassen, die Funktionen auch für andere Applikationen bereitstellen, zu erstellen oder abzuleiten. Mit Visual FoxPro 5.0 wurde dieses Prinzip noch um die Möglichkeit, ActiveX-Kontrollelemente zu verwenden, erweitert. Eine Klassendefinition kann ActiveX-Kontrollelemente enthalten. Die Klassendefinition kann auch Eigenschaften und Methoden für die ActiveX-Kontrollelemente definieren und dabei die ererbten Werte ändern, so daß jede Instanz einer Klasse genau das Verhalten zeigt, das der Entwickler benötigt. Dieses Prinzip verschafft den Entwicklern eine sehr genaue Kontrolle über die wiederverwendeten Objekte. Es ermöglicht den Entwicklern außerdem, Daten mit Kontrollelementen zu verbinden, die eigentlich keine solche Verbindung vorsehen. So ist es beispielsweise möglich, einen Kalender mit einem Datumsfeld zu verbinden. Genau wie Visual Basic enthält Visual FoxPro 5.0 die Möglichkeit, Automation-Server zu erstellen, so daß die Funktionalität anderen Applikationen zur Verfügung gestellt wird. Ein Visual FoxPro-Entwickler kann einen vorhandenen Code in einen Automation-Server übernehmen, so daß er von jeder MS Office-Applikation oder vom Internet Information Server aufgerufen werden kann. In der gleichen Art und Weise wie Visual Basic unterstützt ein Visual FoxPro-Automation-Server Remote-Automation, um so verteilte mehrschichtige Client/Server-Applikationen zu erstellen. Visual FoxPro 5.0 und das InternetVisual FoxPro 5.0 unterstützt die Nutzung des Internets auf verschiedene Arten:
Weitere Informationen finden Sie auf der Microsoft Website unter http://www.microsoft.com/vfoxpro/. |