StarFisher

free astrology software

StarFisher » Documentation » User Manual » Scripts » Introduction

Introduction

In order to make the program fully customizable and to support macros, the program can interpret a simple scripting language, syntactically similar to C/C++.

Please note that the language is case-sensitive and that each command must end with a semi-colon (the command is not limited to a single line). Non-numeric variable and argument values must be enclosed in double quotes.

e.g.:

Log("This is an example");


The language respects the object hierarchy described in the Introduction of the user manual. A sub-object, property or member function is accessed by a dot separator.

e.g.:

Settings.New("MySettings");
Settings.MySettings.SomeVariable = 10;


Accordingly, new objects can be created and later accessed by its name. In some cases (see the scripting documentation), the last used object can be accessed by a shortcut starting with an underscore prefix (_)

e.g.:

_settings.SomeVariable = 10;


This can be very useful in macros when the currently used object’s name is not known to the script but it is clear that the user desires to modify the currently used object.

Script interpreter

The script file is a plain or UNICODE text file and expects to use an *.sfs extension. A file named "init.sfs" is always loaded during the program start and should contain basic settings for the program. Thereafter "autorun.sfs" is loaded that can contain custom macros. Another script can be loaded and executed from the File Menu -> Open script ...

Possible scripting errors are logged and described in the log window (menu View- Log). It can help you to tune-up your scripts.

For editing scripts, I recommend using PSPad or MetaPad, but Notepad will also work.

If you decide to use PSPad (freeware at http://www.pspad.com) I suggest you open the menu: Settings-Highlighters settings, select C/C++ (usually the first line) and add *.sfs to the File masks in the Specifications tab.