Help and Support

How to Use AppleScript Scripts to Return Values to FoxPro

Article ID:108622
Last Review:October 15, 2003
Revision:2.0
This article was previously published under Q108622

SUMMARY

The AppleScript language supports a RETURN statement that allows the author of a script to send a result back to the calling procedure. The calling procedure can be a FoxPro program, command, or procedure. Examples are provided below.

NOTE: AppleScript is manufactured by a vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding this product's performance or reliability.

MORE INFORMATION

A script, which is a series of one or more commands supported by the AppleScript language, is analogous to a procedure written in Microsoft FoxPro or some other high-level language. Like procedures, a script can communicate with a calling program by returning a value to it. To run a script from within Microsoft FoxPro for Macintosh, use the following command syntax:
RUNSCRIPT <AppleScript> [TO <variable> | <field>]
If the script terminates with a RETURN statement, that value is returned to FoxPro and stored in the optional parameter to the RUNSCRIPT command.

The following example is an elementary AppleScript script that simply returns a Boolean, or logical, value:
return TRUE
The following example illustrates how FoxPro for Macintosh can store a value to a variable named retVal from an AppleScript script named MyScript:
RUNSCRIPT HD:Scripts:MyScript TO retVal
Although AppleScript supports a variety of extended types, or classes, such as lists, records, and aliases, FoxPro transforms them into simple character expressions when storing them.

Since only a single value can be returned from an AppleScript script and FoxPro for Macintosh does not support the passing of parameters to an AppleScript script, a character expression delimited with commas or some other value is recommended. Since AppleScript supports the list as a standard class, it makes sense to take advantage of it to build a list of return values. For example, the following AppleScript returns multiple values to the calling program by building a list object:
   set theList to {"First"}<BR/>
   set theList to theList & "Second"<BR/>
   return theList
				
If you save the script, name it MyScript2, and invoke it issuing the following command in the FoxPro Command window:
RUNSCRIPT MyScript2 TO retVal
The list is returned to FoxPro as a character string delimited with commas. In this case, the character expression "First, Last" is returned, and the individual values can be returned using FoxPro's arsenal of string- manipulation functions such as SUBSTR() and AT(). The following FoxPro code snippet extracts the elements from retVal and stores the individual values to new variables:
   var1 = SUBSTR(retVal,1,AT(',',retVal)-1)
   var2 = SUBSTR(retVAL,AT(',',retVal)+3)
				
For more information about AppleScript, including a detailed explanation of the language and its supported types, see the "AppleScript Developer's Kit" from Apple Computer.

APPLIES TO
Microsoft Visual FoxPro 3.0b for Macintosh
Microsoft FoxPro 2.5b for Macintosh

Back to the top

Keywords: 
kb3rdparty KB108622

Article Translations

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.