applescript
applescript
SOURCE
,
RESULT
,
TIMEOUT

The applescript statement executes an AppleScript.

Parameters

This statement has three parameters:

source – source code of an AppleScript program. Note: It is very convenient to use “pipe” delimiters for the source code parameter, for example `|||code|||`. This eliminates needing to worry about the delimiters appearing in the source code itself.

result – the name of the field or variable in which the result of the script will be placed. The result is the result of the final line of the script. If this parameter is not supplied the result will be placed in the global variable, ScriptResult.

timeout – maximum amount of time the script will be allowed to run (in seconds). If this option is not specified you can set the default using the scripttimeout statement. If this default has never been set the default is 60 seconds.

Description

This statement executes an AppleScript. Here is a simple example that uses the Finder to get the name of all currently mounted disk drives.

    local diskNames
    applescript |||
    tell application "Finder"
        return name of every disk
    end tell
    |||,diskNames
    message diskNames

Panorama formulas can be embedded in the AppleScript source code using special tags. To embed a Panorama formula use

    $«formula»$

The formulas are calculated in advance, then embedded into the source code as constants. For example, the formula `$«2*3»$` will be embedded into the program as `6`. The formula `$«upper("hello world")»$` will be embedded as `"HELLO WORLD"`.

In the case of text formulas, any special characters will be encoded as necessary for a proper AppleScript constant. For example the formula `$«{"}»$` will be embedded as `"\“"`.

To embed a Panorama formula with no quotes or translation, use this format

    ^«formula»^

Note: This statement is designed to replace the older executeapplescript and executeapplescriptformula statements (which are retained for compatibility with older databases). Note that the formula embedding format is different from the executeapplescriptformula statement.

See Also

- applescript( -- executes AppleScript source code and returns the result.
- blindposixscript( -- executes a POSIX shell script using NSTask and returns the process id.
- executeapplescript -- compiles and runs an AppleScript.
- executeperlscript -- executes Perl code.
- executesudounix -- executes a UNIX shell command using *sudo* (root) privileges.
- executeunix -- executes a UNIX shell command.
- info("posixtasks") -- list of POSIX shell tasks running in the background.
- perl -- executes a Perl script (program).
- perl( -- executes a perl program and returns the result (stdout).
- php -- executes a PHP script (program).
- php( -- executes a PHP program and returns the result.
- posixscript( -- executes a POSIX shell script using NSTask and returns the result.
- posixtask -- executes a POSIX shell script in the background using NSTask.
- posixtask( -- executes a POSIX shell script in the background using NSTask.
- python -- executes a Python script (program).
- python( -- executes a python program and returns the result (stdout).
- ruby -- executes a Ruby script (program).
- ruby( -- executes a ruby program and returns the result (stdout).
- scriptbglog -- specifies a path/file for output from STDOUT from embedded programs run in the background (Perl, Ruby, Python, PHP).
- Scripting Language Configuration -- configuring the scripting languages available to Panorama (Perl, PHP, Python and Ruby).
- scripttimeout -- sets the maximum runtime allowed for an embedded program (AppleScript, ShellScript, Perl, Ruby or Python).
- shellscript -- executes a UNIX shell script.
- shellscript( -- executes a UNIX shell script and returns the result.
- stopposixtask -- stops a POSIX shell script that is running in the background.
- usebashprofile -- grabs the search path from the `.Bash_profile` file in the user's home folder, so that these paths will be used by scripting languages (*Ruby, Python*, etc.).
- xcallbackurl -- performs an action in another application using the x-callback-url mechanism.

History

Version | Status | Notes
10.0 | No Change | Carried over from Panorama 6.0.