Fpole.dll (Beispiele)

In den folgenden Beispielen wird gezeigt, wie die in Fpole.dll enthaltenen Funktionen in Visual FoxPro, in der Hilfe und in Word Basic verwendet werden können.

Visual FoxPro (Beispiel)

MYDLL = "C:\Program Files\Microsoft Visual FoxPro 7.0\Fpole.dll

DECLARE integer SetOleObject in (MYDLL) string 
DECLARE integer FOXDOCMD in (MYDLL) string,string 
DECLARE integer FOXEVAL in (MYDLL) ;
   string, string @,integer 

=SetOleObject("visualfoxpro.application") 
?FOXDOCMD("wait wind 'test' timeout 2","") 
?FOXDOCMD("modi proj xx2 nowait ","") 
?FOXDOCMD("close all","") 

CLEAR DLLS 

Hilfe (Beispiel)

  1. Registrieren Sie die DLL im Abschnitt [CONFIG] eines Hilfeprojekts:

    RegisterRoutine("fpole.dll","FOXDOCMD","SS")
    
  2. Rufen Sie die Funktion in der RTF-Datei wie ein normales Hilfemakro auf:

    HotSpotText!FOXDOCMD("DO (HOME() + 'myprg')","at")
    
  3. Kompilieren Sie die Hilfedatei, und führen Sie sie aus.

Einfaches Word Basic (Beispiel)

Declare Sub FOXDOCMD Lib "C:\Program Files\Microsoft Visual FoxPro 7.0\Fpole.dll" (cCommand As String, cOptions As String) 

Sub MAIN 
FOXDOCMD "USE (HOME(2) + 'Data\Customer')", "i" 
FOXDOCMD "_CLIPTEXT = customer.company", "i" 
EditPaste 
End Sub 

Ein weiteres Word Basic-Beispiel

In diesem Beispiel wird ein Dialogfeld angezeigt, in dem Benutzer eine Kundennummer aus einer Liste auswählen können. Anschließend werden der entsprechende Firmenname und die Kontaktinformationen in das Word-Dokument eingefügt.

'Declare the Fpole.dll functions.
'--------------------------------
Declare Sub SetOleObject Lib "C:\Program Files\Microsoft Visual FoxPro 7.0\Fpole.dll(cApp As String)

Declare Sub FOXDOCMD Lib "C:\Program Files\Microsoft Visual FoxPro 7.0\Fpole.dll(cCommand As String, BringToFront As String)

Declare Sub FOXEVAL Lib "C:\Program Files\Microsoft Visual FoxPro 7.0\Fpole.dll(cExpression As String, cBuff As String, nLen As Integer)

Declare Sub CLOSEIT Lib "C:\Program Files\Microsoft Visual FoxPro 7.0\Fpole.dll

Sub MAIN

Dim cBuffer$
cBuffer$ = String$(50, " ")
Dim aCustID$(5)
aCustID$(0) = "BLONP"
aCustID$(1) = "CHOPS"
aCustID$(2) = "ISLAT"
aCustID$(3) = "LETSS"
aCustID$(4) = "SEVES"
cboCustID = 0'1st element in the array

Begin Dialog UserDialog 404, 150, "Calling Visual FoxPro with Fpole.dll"
   DropListBox 44, 33, 160, 108, aCustID$(), .cboCustID
   Text 15, 14, 268, 13, "Choose a Customer ID from the list.", .Text2
   Text 15, 61, 231, 13, "Then Choose OK to insert the ", .Text4
   Text 15, 78, 215, 13, "Company Name and Contact", .Text5
   Text 15, 95, 141, 13, "into your document.", .Text6
   OKButton 298, 76, 88, 21
   CancelButton 299, 111, 88, 21
End Dialog

Dim dlg As UserDialog
nButtonChoice = Dialog(dlg)

' If the user presses "Cancel"...
'--------------------------------
If nButtonChoice = 0 Then
   Goto EndOfSub
End If

' Automate Visual FoxPro
'-----------------------
Print "Opening Visual FoxPro"
SetOleObject "visualfoxpro.application"
FOXDOCMD "USE (HOME(2) + 'Data\Customer')", "i"
FOXDOCMD "LOCATE FOR cust_id = " + Chr$(39) + aCustID$(dlg.cboCustID) + Chr$(39), "i"

Insert "Customer ID" + Chr$(9)
FOXEVAL "cust_id", cBuffer$, 50
Insert RTrim$(cBuffer$)
InsertPara

Insert "Company:" + Chr$(9)
FOXEVAL "company", cBuffer$, 50
Insert RTrim$(cBuffer$)
InsertPara

FOXEVAL "contact", cBuffer$, 50
Insert "Contact: " + Chr$(9) + RTrim$(cBuffer$)
InsertPara

Print "Closing Visual FoxPro"
CLOSEIT
Print " "

EndOfSub:
End Sub

Siehe auch

Fpole.dll | FOXDOCMD( )-Funktion | FOXEVAL( )-Funktion | SETERRMODE( )-Funktion | SETOLEOBJECT( )-Funktion | CLOSEIT( )-Funktion | GETLASTERR( )-Funktion