Verwenden von Skripts in "FoxCode.dbf"
Sie können die Entwurfszeitfunktionalität von Visual FoxPro entscheidend verbessern, indem Sie FoxCode.dbf ändern. Sie können eigene Prozeduren hinzufügen, indem Sie Feldwerte ändern oder zu den Datenfeldern von Skriptelementtypen Visual FoxPro-Code hinzufügen. Sie können Skriptelemente erstellen, die Code für jedes andere Element bereitstellen, oder Code in ein datensatzspezifisches Element einbinden.
So aktivieren Sie die Skriptverwendung für ein beliebiges Element
Speichern Sie im Cmd-Feld eines Elements einen Verweis auf die auslösenden Tastenanschläge (aus dem Abbrev-Feld). Ein Verweis setzt sich aus den auslösenden Tastenanschlägen und der sie umgebenden linken und rechten geschweiften Klammer zusammen, wie im Folgenden gezeigt wird:
{picture}
Kopieren Sie die auslösenden Tastenanschläge in das Abbrev-Feld des Skriptelements, auf das verwiesen wird.
Sie können ein vorhandenes Skript für dieses Element übernehmen, indem Sie auf den Inhalt des Abbrev-Feldes des Skriptelementtyp-Datensatzes verweisen, der den zu verwendenden Code in seinem Data-Feld enthält.
Fügen Sie geeigneten Visual FoxPro-Code zum Data-Feld des Skriptelements hinzu. Im folgenden Beispiel wird Code aus dem Data-Feld des Skriptelementtyps hinzugefügt, auf den zuvor im Beispiel zum Cmd-Feld verwiesen wurde:
LPARAMETER oFoxcode LOCAL lcPicture oFoxcode.valuetype="V" lcPicture = getpict() IF LEN(lcPicture) > 0 lcPicture = ['] + lcPicture+ ['] ENDIF RETURN lcPicture
Mit Hilfe dieser Prozedur können Sie von jedem anderen Elementtyp auf Skriptelementtypen zugreifen, so dass ein Skriptelement für viele andere Elemente verwendet werden kann.
Im folgenden Beispiel sind für jedes Element zwei Datensätze erforderlich, um die zugehörige Funktionalität zu aktivieren: das aufrufende Element, das die Verweisinformationen enthält, und der Skriptelementtyp, der den auszuführenden Code enthält.
So aktivieren Sie die Skriptverwendung innerhalb eines Elementtyps
Geben Sie im Data-Feld des Elementdatensatzes geeigneten Visual FoxPro-Code an.
In diesem Beispiel wird der Code aus dem Data-Feld des vorherigen Beispiels zum Skriptelementtyp verwendet.
LPARAMETER oFoxcode LOCAL lcPicture oFoxcode.valuetype="V" lcPicture = getpict() IF LEN(lcPicture) > 0 lcPicture = ['] + lcPicture+ ['] ENDIF RETURN lcPicture
Datenfelder und das FoxCode-Objekt
Das Data-Feld enthält normalerweise Skriptcode, der von benutzerdefinierten IntelliSense-Skripts ausgeführt wird. Das Feld kann jedoch auch zum Speichern von Daten dienen, die von Skripts verwendet werden. Diese Art von Metadaten werden automatisch durch das FoxCode-Parameterobjekt an ein Skript übergeben.
Weitere Informationen zum FoxCode-Objekt finden Sie unter FoxCode-Objektverweis.
Siehe auch
Überblick über IntelliSense | Anpassen von IntelliSense mit FoxCode | Visual FoxPro IntelliSense-Manager | FoxCode-Objektverweis