Visual FoxPro  

Erweiterte Klassen, Befehle und Funktionen

 Zum Portal | In übergeordneten Ordner wechseln

Visual FoxPro enthält die folgenden Verbesserungen in ausgewählten Klassen, Befehlen und Funktionen:

  • Erweiterte Funktionalität und Sprachverbesserung für SQL Pass-Through
  • Mehrere Ausdrücke verschiedenen Datentyps im DEBUGOUT-Befehl
  • Angabe einer externen DataEnvironment-Klasse für Formulare
  • Sprachunterstützung für Sortierung und autoinkrementelle Feldwerte
  • Unterstützung der FontCharSet-Eigenschaft inAFONT()
  • HOME(8) gibt das Visual FoxPro-Unterverzeichnis "Projekte" zurück
  • Off-Screen Bitmaps
  • COM-Erweiterung (Component Object Model) für verbesserte Array- und Typenunterstützung
  • Hand als Mauszeiger, neue Option in der MousePointer-Eigenschaft
  • MaxLength-Eigenschaft für die ComboBox
  • Unterstützung für Ausdrücke in Feldbeschriftungen
  • Changing the background color of the CommandButton control
  • Bilder im Spaltenkopf anzeigen
  • ToolTipText- und StatusBarText-Eigenschaft für alle Visuellen Steuerelemente
  • Refresh-Methode für die Steuerelemente Label und Shape
  • Mehrere Konfigurationsdateien
  • Unterdrücken von datenrelevanten Nachrichten in der Statusleiste
  • SYS(2007) - Rückgabe des Prüfsummenwert größer als 16-Bits
  • Vorangestellte Platzhalter in TEXT...ENDTEXT entfernen
  • Mit SCATTER...NAME ein vorhandenes Objekt mit Werten aus dem aktuellen Datensatz aktualisieren
  • Angabe eines Objektes beim Einfügen eines neuen Datensatzes mittels SQLINSERT-Befehl
  • Ausblenden von Spalten
  • CLEAR DEBUG setzt den geöffnete Debugger zurück und löscht alle Breakpoints
  • Programmausführung unterbrechen bis ein Windows-Ereignis auftritt
  • Auf versteckte oder Systemdateien und -Verzeichnisse prüfen
  • Erhalten einer Objektreferenz im Zusammenhang mit dem aktuell Codefenster
  • Angabe von Namen und Speicherort des Mapping Schemas für die XMLUPDATEGRAM( )-Funktion

Erweiterte Funktionalität und Sprachverbesserung für SQL Pass-Through

Visual FoxPro enthält die folgenden Erweiterungen der SQL Pass-Through Funktionalität und gemeinsame Nutzung von Verbindungen:

Visual FoxPro wertet nun Ausdrücke aus, die als Parameterwerte in einer SQL-Anweisung an SQLEXEC( ) übergeben werden. Zuvor mussten Speichervariablen verwendet werden, um nicht konstante Werte zu übergeben. Sie müssen Parameterausdrucke nicht länger in Klammern einschließen. Visual FoxPro kann nun die Speichervariablen auswerten, Funktionsaufrufe und Parameterausdrücke verarbeiten. Für weitere Informationen, siehe SQLEXEC( )-Funktion.

Visual FoxPro weißt zwar eine ODBC-Anweisungskennung (HTSTMT, ODBC Statement Handle) zu, verwendet allerdings einen vorhandenen ODBC-Verbindungskennung  (HDBC, ODBC Connection Handle) für jede Remoteansicht, die eine gemeinsam genutzte Verbindung verwendet. Wenn die Ansicht keine gemeinsam Verbindung verwendet, weist Visual FoxPro eine ODBC-Anweisungskennung und eine ODBC-Verbindungskennung zu.

Visual FoxPro verwendet für ODBC-Anweisungskennungungen, die gemeinsam nutzbare ODBC-Verbindungskennungen verwenden, die Funktion SQLEXTENDEDFETCH( ) anstelle der SQLFETCH( )-Funktion. Visual FoxPro setzt die Anweisungsoptionen SQL_CURSOR_TYPE = SQL_CURSOR_STATIC und SQL_CONCURRENCY = SQL_CONCUR_READ_ONLY bevor SQLPrepare oder SQLExecDirect für das jeweilige ODBC-Anweisungs-Kennung ausgeführt werden. Für weitere Informationen über die ODBC-Sprache, siehe die ODBC Programmer's Reference der MSDN Library auf http://msdn.microsoft.com/library/.

Die Funktionen SQLCONNECT( ) und SQLSTRINGCONNECT( ) geben einen numerischen Wert für die Kennung zurück, bei der es sich vielmehr um eine Anweisungskennung als eine Verbindungskennung handelt, die Sie nicht direkt bekommen können. Sie können weiterhin,  indem Sie die Anweisungskennung und die Zeichenkette "Shared" als Argument übergeben, Verbindungseigenschaften mit Hilfe der Funktionen SQLSETPROP( ) und SQLGETPROP( ) setzen und auslesen. Alle anderen SQL-Funktionen verwenden eine Anweisungskennung anstelle einer Verbindungskennung. Für weitere Informationen, siehe SQLSETPROP( )-Funktion und SQLGETPROP( )-Funktion.

Visual FoxPro unterstütz das Überschreiben der Standard-Verbindung einer Remoteansicht und benötigt den neuen Parameter m.nStatementHandle zur Unterstützung von gemeinsam verwendbaren Verbindungen (shared connections) im USE-Befehl. Für weitere Informationen, siehe USE-Befehl.

Wenn Sie das Schlüsselwort SHARE in der CONNECTION-Klausel des CREATE SQL VIEW-Befehls verwenden, verwendet Visual FoxPro eine neue Anweisungskennung (statement handle) für die gemeinsam verwendete Verbindung, wenn eine solche verfügbar ist. Wenn beim öffnen einer Ansicht keine gemeinsam nutzbare Verbindung vorhanden, öffnet Visual FoxPro eine solche Verbindung, die Sie vorraussichtlich mit anderen Ansichten zusammen verwenden können. Für weitere Informationen, siehe CREATE SQL VIEW-Befehl.

Mehrere Ausdrücke im DEBUGOUT-Befehl

Sie können mehrere Ausdrücke verschiedener Datentypen auswerten und die Ergebnisse im Debug-Ausgabefenster mit Hilfe des DEBUGOUT-Befehls anzeigen. Für weitere Informationen, siehe DEBUGOUT-Befehl.

Angabe einer externen DataEnvironment-Klasse für Formulare

Sie können eine externe DataEnvironment-Klasse durch setzen der Formular-Eigenschaften DEClass und DEClassLibrary angeben. Für weitere Informationen, siehe Datenumgebungsobjekt (DataEnvironment), DEClass-Eigenschaften und DEClassLibrary-Eigenschaften.

Sprachunterstützung für Sortierung und autoinkrementelle Feldwerte

Sie können ab sofort in den SQL-Befehlen CREATE TABLE, ALTER TABLE und INDEX eine Sortierreihenfolge (collating sequence) für ein Index angeben. Verwenden Sie hierfür die Klausel COLLATE in diesen Befehlen.

Die Befehle CREATE TABLE und ALTER TABLE unterstützen die neuen, automatisch inkrementierenden Feldwerte durch die AUTOINC-Klausel mit den Wertangaben NEXTVALUE und STEP. Der DISPLAY STRUCTURE-Befehl zeigt die beiden, zuletzt genannten Werte für die Felder, an die Autoinkrementation verwenden.

Für weitere Informationen, siehe CREATE TABLE - SQL-Befehl, ALTER TABLE - SQL-Befehl, INDEX-Befehl und DISPLAY STRUCTURE-Befehl.

Sie können auch angeben, ob bei dem versuch die schreibgeschützten autoinkrementellen Felder ein Fehler generiert werden soll. Für weitere Informationen, siehe SET AUTOINCERROR-Befehl oder die AutoIncError-Eigenschaft in der CURSORSETPROP( )-Funktion.

Unterstützung der FontCharSet-Eigenschaft in AFONT()

Visual FoxPro unterstützt die Verwendung der FontCharSet-Eigenschaft in der AFONT( )-Funktion durch zwei neue Parameter, nFontCharSet und nFlags. Der erste Parameter gibt eine Zeichensatz für den in cFontName angegebene Schriftart an. Der weite Parameter füllt das Array mit den, für die angegebne Schriftart verfügbaren Zeichensatz. Für weitere Informationen, siehe FontCharSet-Eigenschaft und AFONT( )-Funktion.

HOME(8) gibt das Visual FoxPro-Unterverzeichnis "Projekte" zurück

HOME(8) gibt das Visual FoxPro-Unterverzeichnis "Projekte" im Benutzerverzeichnis "Eigenen Dateien" zurück. Dieses Verzeichnis ist das Standardverzeichnis für neue Projekte und Dateien, die mit Visual FoxPro erstellt werden. Für weitere Informationen, siehe HOME( )-Funktion.

Off-Screen Bitmaps

Visual FoxPro unterstützt das ein- und ausschalten von so genannten "Off-screen" Bitmaps über Verwendung einer Konfigurationsdatei. Sie können nun die SYS(602) - Bitmapkonfigurations-Funktion mit den Werten 0 und 1 verwenden, um off-screen Bitmaps zur Laufzeit ein- und auszuschalten.

Für weitere Informationen, siehe SYS(602) - Bitmapkonfiguration.

COM-Erweiterung (Component Object Model) für verbesserte Array- und Typenunterstützung

Visual FoxPro verbessert die Unterstützung von COM-Komponenten und die Zusammenarbeit mit anderen COM-Komponenten durch die folgenden, neuen COM-Erweiterungen.

  • Definieren und spezifizieren von Datentypen für Array bei denen es sich nicht um den Datentyp Variant handelt

    Sie können nun einen von Variant abweichenden Datentyp im DIMENSION-Befehl durch Verwendung der AS cType-Klausel angeben. Jedoch sollten Sie weiterhin die COMARRAY( )-Funktion  verwenden, um zu steuern, wie Array an COM-Server übergeben werden. Für weitere Informationen, siehe DIMENSION-Befehl.

  • Explizite Typangabe (strong typing) von Arrays für Typenbibliotheken

    Sie können explizite Typangabe für Array vornehmen, so dass diese richtig als sicherer Array (safe array) in eine Typenbibliothek geschrieben wird. Verwenden sie hierfür die Klausel cArrayName[] [AS Type] [@] im DEFINE CLASS-Befehl. Für weitere Informationen, siehe DEFINE CLASS-Befehl.

  • Komplexe explizite Typangabe (strong typing)

    Sie können einen Typ, basierend auf einer COM-Klasse unter Verwendung der Klausel cArrayName[] [AS Type] [@] ] [AS Type] definieren im DEFINE CLASS-Befehl definieren. Für weitere Informationen, siehe DEFINE CLASS-Befehl.

  • Mit der COMARRAY( )-Funktion festlegen, wie Arrays an COM-Objekte übergeben werden COMARRAY( )-Funktion

    Sie können angeben aus Bytes bestehende Arrays nicht in Zeichenketten konvertiert werden sollen. Geben Sie hierfür einem Wert von 1000 an den nNewValue-Parameter der COMARRAY( )-Funktion. Für weitere Informationen, siehe COMARRAY( )-Funktion.

  • Visual FoxPro generiert Typenbibliotheken für COM-Server, bei denen der Datentypen "Zeichen" (Character) in den Typenbibliotheken statt als VARIANT als BSTR markiert wird. Zum Beispiel erscheint die folgende Prozedur einer COM-Typenbibliothek mit dem Rückgabewert BSTR:
    PROCEDURE myProc( ) AS Character

Hand als Mauszeiger, neue Option in der MousePointer-Eigenschaft

Sie können ab sofort angeben, das der Mauszeiger die Form eine Hand annimmt, wenn Sie die Maus über ein Steuerelement ziehen, indem Sie die MousePointer-Eigenschaft auf den Wert 15 setzen. Für weitere Informationen, siehe MousePointer-Eigenschaften. Bei Visual FoxPro-Anwendungen die auf Windows NT 4.0 laufen wird anstelle der Hand ein feil angezeigt.

MaxLength-Eigenschaft für die ComboBox

Sie können ab sofort die MaxLength-Eigenschaft für das ComboBox-Steuerelement setzen, zusätzlich zur den bisherigen Möglichkeit bei Bearbeitungsfeld (EditBox) und Textfeld (TextBox). Für weitere Informationen, siehe MaxLength-Eigenschaften.

Unterstützung für Ausdrücke in Feldbeschriftungen

Die DBGETPROP( ) Feldbeschriftungs-Eigenschaft für Tabellen und Ansichten unterstützt die Verwendung von Ausdrücken als Feldbeschriftung. Für weitere Informationen, siehe die Tabelle mit der Liste der Feldeigenschaften für Tabellen und Ansichten in der DBGETPROP( )-Funktion.

Anmerkung   Die Verwendung von Ausdrücken als Feldbeschriftung sollte nur bei Tabellen in Datenbankcontainern verwendet werden, in Visual FoxPro ab Version 8. In Versionen vor Visual FoxPro 8 werden Ausdrücke als Zeichenkette angezeigt.

Sie können die Beschriftung eines Feldes, wie er im Datenbankcontainer abgelegt ist mit der FIELD( )-Funktion abfragen. Für weitere Informationen, siehe FIELD( )-Funktion.

Bilder im Spaltenkopf anzeigen

Sie können ab sofort Bilder auch in Spaltenköpfen anzeigen lassen. Setzen Sie hierfür die Picture-Eigenschaft des Header Spaltenkopf-Objekts. Aktivieren und deaktivieren des Windows XP-Designs mittels Themes-Eigenschaft beeinflusst die Anzeige des Bilds.

Für weitere Informationen, siehe Picture-Eigenschaften und Themes-Eigenschaft.

ToolTipText- und StatusBarText-Eigenschaft für alle Visuellen Steuerelemente

Sie können die Eigenschaften ToolTipText und StatusBarText nun für alle visuellen Steuerelemente angeben, dazu gehören OptionGroup, CommandGroup, Line, Control, Container, PageFrame, OleBoundControl, Column, Header, Image und Label.

Für weitere Informationen, siehe ToolTipText-Eigenschaften und StatusBarText-Eigenschaften.

Refresh-Methode für die Steuerelemente Label und Shape

Sie können ab sofort die Refresh-Methode verwenden, um die Werte in den Steuerelementen Label und Shape zu aktualisieren und um diese neu zu zeichnen. Wenn Sie die Refresh-Methode für ein Bezeichnungs-Steuerelement (Label) aufrufen, aktualisiert Visual FoxPro die Caption-Eigenschaft und zeichnet Visual FoxPro das Label neu. Wenn Sie Refresh für ein Form-Steuerelement (Shape) zeichnet Visual FoxPro die Form neu. Für weitere Informationen, siehe Refresh-Methode.

Mehrere Konfigurationsdateien

Sie können zusätzlich zu der internen Konfigurationsdatei eine zusätzliche externe Konfigurationsdatei verwenden, für den Fall, das Sie darauf angewiesen sind Konfigurationseinstellungen seperat zu verwenden. Zum Beispiel soll die einstellun

You can use an external configuration file in addition to an internal configuration file in circumstances where you need to configure settings separately. For example, setting SCREEN=OFF should be performed in an internal configuration file.

When starting Visual FoxPro, you can use the default configuration file from the following locations in order:

  • Current working directory
  • Directory where Visual FoxPro is installed
  • Directories listed in the DOS path

Sie können Visual FoxPro so Einstellen, das externe Konfigurationsdateien nach den internen Konfigurationsdateien gelesen werden. Dies Geschieht mit Hilfe der ALLOWEXTERNAL-Direktive in Ihrer internen Konfigurationsdatei. Wenn Sie die Einstellung ALLOWEXTERNAL=ON Ihrer internen Konfigurationsdatei hinzufügen, sucht Visual FoxPro nach einer externen Konfigurationsdatei, gewöhnlicherweise Config.fpw, und ließt ihre Einstellungen aus. Sie können auch eine andere Konfigurationsdatei mit Hilfe des -C Befehlszeilenparameters angeben, wenn Sie Visual FoxPro starten.

Anmerkung   Bei EXE und DLL-Server werden nur Konfigurationsdateien innerhalb des Servers unterstützt und die ALLOWEXTERNAL-Einstellungen von Visual FoxPro nicht berücksichtigt.

Für weitere Informationen über Befehlszeilenparameter, siehe Verwenden von Befehlszeilenoptionen beim Starten von Visual FoxPro.

Wenn Einstellungen doppelt vorhanden sind, erhalten die Einstellungen einer externen Konfigurationsdatei Vorrang vor denen einer internen Konfigurationsdatei. Dies Geschieht aus dem Grund, dass die externen Konfigurationsdatei nach der Internen eingelesen wird. Visual FoxPro beginnt nicht mit der Initialisierung bis beide Dateien eingelesen sind.

Wenn Sie eine Konfigurationsdatei in der späteren kompilierten Anwendung schreibgeschützt verwenden möchten, fügen Sie die Datei Ihrem Projekt hinzu und markieren Sie als "Einbezogen". Wenn Sie die Datei zur Verfügung stellen möchten, mit der Möglichkeit diese zu Bearbeitung fügen Sie sie Ihrem Projekt hinzu und markieren entfernen die Markierung, so das diese nicht beim Kompilieren mit den anderen Programmteilen kompiliert wird. Sie können dann die Datei separat mit Ihrer Anwendung oder ausführbaren Datei ausliefern. Nach Visual FoxPro Konvention haben die Konfigurationsdateien immer die Endung .fpw.

Für weitere Informationen, siehe Besondere Einstellungen für Konfigurationsdateien und Festlegen der Konfigurationsoptionen für den Programmstart.

Unterdrücken von datenrelevanten Nachrichten in der Statusleiste

Sie können die Anzeige bestimmter Systemmeldungen in der Statusleiste aktiviert bzw. deaktiviert. Verwenden sie hierfür das neue Schlüsselwort CURSOR im SET NOTIFY-Befehl. Diese Meldungen enthalten Meldungen wie die aktuelle Datenquellen, Datensatzzeiger, Anzahl Datensätze, exklusiver Status und Datensatzsperre.

Für weitere Informationen, siehe SET NOTIFY-Befehl.

SYS(2007) - Rückgabe des Prüfsummenwert größer als 16-Bits

Sie können ab sofort mit SYS(2007) - Prüfsummenwert einen Prüfsummenwert generieren lassen, die größer sind als 16 Bits. Visual FoxPro enthält eine ergänzende Funktion SYS(2017) - Prüfsumme Datensatz , die eine Prüfsummenwert basierend auf dem aktuellen Datensatz in der aktuellen Arbeitsbereich berechnet. Für weitere Informationen, siehe SYS(2007) - Prüfsummenwert und SYS(2017) - Prüfsumme Datensatz.

Vorangestellte Platzhalter in TEXT...ENDTEXT entfernen

Sie können angeben wie Platzhalter behandelt werden, die in Textbereichen vor jeder Zeile vorangestellt sind. Sie können Platzhalter mit Hilfe der PRETEXT-Klausel des TEXT...ENDTEXT-Befehls entfernen. Durch Einführung der PRETEXT-Klausel, verbessert Visual FoxPro die Unterstützung für XML und Webdienste und bietet eine bessere Integrations- und Bearbeitungsmöglichkeit für XML in Visual FoxPro Code. Für weitere Informationen, siehe TEXT ... ENDTEXT-Befehl.

Mit SCATTER...NAME ein vorhandenes Objekt mit Werten aus dem aktuellen Datensatz aktualisieren

Sie können die Eigenschaften eines bereits vorhandenen Objektes aktualisieren, durch Angabe des ObjectName-Parameters mit Werten des aktuellen Datensatzes unter Verwendung des ADDITIVE-Schlüsselwortes in der NAME-Klausel des SCATTER-Befehls. Für weitere Informationen, siehe SCATTER-Befehl.

Angabe eines Objektes beim Einfügen eines neuen Datensatzes mittels SQL INSERT-Befehl

Sie können ab sofort die Eigenschaften eines Objektes, dass Sie mit der neuen FROM NAME ObjectName-Klausel des SQL INSERT-Befehls angeben, als Datensatz in eine Tabelle übertragen, dessen Tabellenfelder mit den Eigenschaften des Objektes übereinstimmt. Für weitere Informationen, siehe INSERT - SQL-Befehl.

Ausblenden von Spalten

Sie können mit Hilfe der Visible-Eigenschaft von Spalten die einzelnen Datenrasterspalten ausblenden. Für weitere Informationen, siehe Column-Objekt.

CLEAR DEBUG setzt den geöffnete Debugger zurück und löscht alle Breakpoints

Bisher hatte der CLEAR DEBUG-Befehl nicht alle Brearkpoints im Debugger gelöscht. CLEAR DEBUG löscht nun alle Brearkpoints automatisch.

Wenn der Debugger geöffnet ist, löscht Visual FoxPro alle Brearkpoints und stellt das Fenster des Debuggers auf seine ursprüngliche Position zurück. Wenn der Debugger geschlossen ist, öffnet Visual FoxPro den Debugger auf seiner Standardposition.

Für weitere Informationen, siehe CLEAR-Befehle.

Programmausführung unterbrechen bis ein Windows-Ereignis auftritt

Sie können, bis zum Auftreten eines Ereignisses von Windows, die Programmausführung unterbrechen. Verwenden Sie hierfür das Schlüsselwort FORCE im DOEVENTS-Befehl. Für weitere Informationen, siehe DOEVENTS-Befehl.

Auf versteckte oder Systemdateien und Verzeichnisse prüfen

Sie können mit Hilfe des nFlags-Parameters in FILE( )- und DIRECTORY( )-Funktion als Versteckt oder System markierte Dateien und Ordner finden. Sie können ebenfalls die Befehle CD und CHDIR verwenden um auf versteckte Dateien und Verzeichnisse zu wechseln. Für weitere Informationen, siehe FILE( )-Funktion, DIRECTORY( )-Funktion und CD | CHDIR-Befehl.

Erhalten einer Objektreferenz im Zusammenhang mit dem aktuell Codefenster

Visual FoxPro führt den Wert 3 als neuen möglichen Parameter für die ASELOBJ( )-Funktion ein. Verwenden Sie Ihn, wenn Sie eine Objektreferenz auf einen Container in Zusammenhang mit dem aktuell aktiven Codebearbeitungsfenster erhalten möchten. Für weitere Informationen, siehe ASELOBJ( )-Funktion.

Angabe von Namen und Speicherort des Mapping Schemas für die XMLUPDATEGRAM( )-Funktion

Visual FoxPro führt den Parameter in der XMLUPDATEGRAM( )-Funktion ein, so dass Sie nun den Namen und den Speicherort des Zuordnungsschemata (mapping schema) angeben können. Für weitere Informationen, siehe XMLUPDATEGRAM( )-Funktion.

Siehe auch

Spracherweiterungen | Erweiterung der Interaktiven Entwicklungsumgebung (IDE) | Erweiterung der Features im Bereich des Datenzugriffs | Verschiedene Erweiterungen | Änderungen im Verhalten seit Visual FoxPro 7.0