System Functions

Name

Type[size]

Parameters / Description

abs

numeric

<num>
Absolute value.

acos

numeric

<num>
ArcCosine(*).

adir3d

point

<angle> {,<angle>}
Direction from a plan angle { and elevation }.

aexist

numeric

<string>
Returns 1: if an application is running
Returns -1: if it exists but is not running
Returns 0: if it does not exist

aindex

numeric[ ]

<ident>, <array>, ...
Occurrence of A within B. String comparisons are case insensitive.

aindexc

numeric[ ]

<ident>, <array>,...
Occurrence of A within B. String comparisons are case sensitive.

aindexcw

numeric[ ]

<ident>, <array>, ...
Occurrence of A within B. String comparisons are case insensitive with wild-carding.

aindexw

numeric[ ]

<ident>, <array>, ...
Occurrence of A within B. String comparisons are case sensitive with wildcards.

aliasval

string

<ident>
Value of an alias identifier.

ang

numeric

<point>,<point>
Plan angle between two points (*).

ang3

numeric

<point>, <point>, <point>
Angle between two lines (*).

appversion

numeric

<file>
The version number of an application library file.

area

numeric

<point[ ]>
Area of a polygon.

asin

numeric

<num>
ArcSine (*).

atan

numeric

<num>
ArcTangent (*).

atan2

numeric

<num>, <num>
ArcTangent from sine and cosine (*).

atextern

string[ ]

<file> {,<num>}
External references from a Fire entity or atable file.

awchar

string

{ <cursor> }
Single character from an alpha window.

awcol

numeric

{ <cursor> }
Column number from an alpha window.

awline

string

{ <cursor> }
Line contents from an alpha window.

awpix

numeric[2]

<num, <num> { ,<font> }
Window size (in pixels) given columns, rows {and font}.

awrow

numeric

{ <cursor> }
Row number from an alpha window.

awword

string

{ <cursor> }
Single word from an alpha window.

bestlineseg

point

<points>, <num1> {, <num2>} ))
2 points providing the best straight segment within a given polyline.

bmatch

numeric

<num>, <num>
Rectangle clash status.

cart

point

<point> {,<projection>}
Projection of a long/lat point into Cartesian space using the current projection { or projection B }.

cbrt

numeric

<num>
Cube root.

ccent

point

<point>, <point>, <point>
Center of a circle formed by three points.

cdrop

point

<point>, <point>, <num> {,<point> }
Drop a perpendicular from point (A) to a circle formed by center (B), radius (C) { and normal (D) }.

char

string

<nums>
Construct a string from wide character values.

charval

numeric[ ]

<string>
Integer (wide character) values of string characters.

chext

string

<file>, <string>
Change the extension of a file.

choosecolor

numeric[3]

{<string>}
Select a color from a popup window.

choosedir

string

{<string> {,<dir>}}
Select a folder or directory from a popup window.

choosefile

string

{<num>{,<dir/file> {,<num> {,<string>}}}}
Select a file name from a popup window.

choosefiles

string[ ]

{<dir/file> {,<num> {,<string>}}}
Select multiple file names from a popup window.

choosefont

string

{<string> {,<font>}}
Select a font name from a popup window.

clash_b

filter

<point>, <point>
Box 3-D clash.

clash_c

filter

{ <num[2]>, <num> }
Circular 2-D interactive clash { screen position, radius }.

clash_e

filter

<group> {, <group> ... }
Polygonal 2-D clash using polygonal entities as a fence.

clash_p

filter

<point[ ]>
Polygonal 2-D clash.

clash_r

filter

{ <num[4]> }
Rectangular 2-D interactive clash { screen rectangle dimensions }.

clash_s

filter

<point>, num>
Spherical 3-D clash.

clash_w

filter

{ <window> }
Rectangular clash with window { current }.

clump_b

filter

<point>, <point>
Box 3-D clump.

clump_c

filter

{ <num[2]>, <num> }
Circular 2-D interactive clump{ screen position, radius }.

clump_e

filter

<group> {, <group> ... }
Polygonal 2-D clump using polygonal entities as a fence.

clump_p

filter

<point[ ]>
Polygonal 2-D clump.

clump_r

filter

{ <num[4]> }
Rectangular 2-D interactive clump { screen rectangle dimensions }.

clump_s

filter

<point>, <num>
Spherical 3-D clump.

clump_w

filter

{ <window> }
Rectangular clump of window { current }.

colcur

numeric[3]

{ <cursor> { ,<crosshair> }}
Interactive query of graphic window pixel RGB values.

config

string

<string>
Value from the configuration file (fire.ini) or command line.

cos

numeric

<angle>
Cosine.

cross

point

<point>, <point>
Cross product of two points.

ctrls

string

<string>
String with control characters made printable.

cubic

numeric[ ]

<num>, <num>, <num>, <num>
Solution to a cubic equation (up to four values).

datablob

blob

<int[ ]>, ...
A blob initialized with numeric values.

dexist

numeric

<file>
Returns 1 if a directory exists, or 0 if it does not.

dir3d

point

<point>, <point>
Direction from point A to point B.

dircos

point

<point>
The normalized form of a 3-D vector.

dist

numeric

<point>, <point>
Distance between two points.

dot

numeric

<point>, point>
Dot product of two points.

earea

numeric

<group>
Area of a group of entities.

ebound

epointer

{ <elist> { ,<group> }}
Polygon which encloses one or more entities.

efdesc

string

<file>
Text description within an entity file.

eflonglat

numeric

<file>
Projection mode of an entity file (long/lat or Cartesian).

efsize

point[2]

<string>
Three dimensional extents within an entity file.

efunits

string

<file>
Modeling units of an entity file.

eleng

numeric

<group>
Length of a group of entities.

elev

numeric

<point>, <point>
Angle of elevation between two points (*).

envval

string

<word>
Value of an environment variable.

error_exception

exception

<string>, <num> { ,<num> }
Exception with user error details.

evol

numeric

<group>
Volume of a group of entities.

exp

numeric

<num>
Exponential function ex.

exist

numeric

<ident>
Returns 1 if an identifier exists, or 0 if it does not.

extents

point[2]

<group>
Three dimensional extents of an entity or group.

far

point

<point>, <point>, <point>
Farther of points B and C to point A.

fbinary

numeric

<file>
Returns 1 if a file is a binary file, 0 if it is a text file.

fexist

numeric

<file>
Returns 1 if a file exists, or 0 if it does not.

fext

string

<file> {, <numeric> }
The extension part of a name (with period).

fhash

string

<file> {, <string> {, <numeric> }}
The fingerprint (hash value) for a file.

fileblob

blob

<file> {,<int>}
A blob derived from the contents of a file.

filepix

numeric[2]

<file> {, <font> }
Window size (in pixels) from text file {and font}.

finddirs

string[ ]

<wildname> {,<directory>}
Directories containing files matching a wild pattern./td>

findfiles

string[ ]

<wildname> {,<directory>}
Files matching a wild pattern.

flines

numeric

<file>
Returns the number of a lines in a text file.

fload

string[ ]

<file>
Text file contents returned as string values.

flocal

string

<file>
A file name converted to local OS convention.

fmt

string

<numeric> {, <numeric> }
Format a number to a string { with precision }.

fname

string

<file>
The file name part of a pathname.

fpath

string

<file>
The directory path of a pathname.

fsize

numeric

<file>
The size of a file in bytes.

ftime

time

<file>
The last modified date and time of a file.

full

string

<file>
A file name converted to an absolute pathname.

fxencode

string

<string>
Scramble a user/password combination.

html_decode

string

<string>
Conversion of a string suitable for use as an HTML literal into a normal string.

html_encode

string

<string>
Conversion of a string into one suitable for use as an HTML literal.

imageframes

numeric

<file>
Returns the number of images in a multi-frame image file.

inbox

numeric

<point>, <point>, <point>
Returns a 1 if point A is within box B to C.

inbox2d

numeric

<point>, <point>, <point>
Returns a 1 if point A is within box B to C (xy only).

index

numeric

<string>, <string> {,<int>}
Occurrence of B within A { nth occurrence }, case differences are ignored.

indexc

numeric

<string>, <string> {,<int>}
Occurrence of B within A { nth occurrence }, with case sensitive comparisons.

ingroup

numeric

<entity>, <group>
Returns a 1 if entity A is within group B.

inpoly

numeric[2]

<point>, <point[ ]>
Is a point in a polygon. Returns two values, in/on/out status (1,0,-1) and distance to the closest edge.

int

numeric

<num>
Truncated integer value.

intcc

point[2]

<point>, <num>, <point>, <num> {,<point> }
Intersection(s) of a circle A,B (center and radius), and a circle C,D (center and radius) { with normal E }.

interrupt_exception

exception

<string>, <num> { ,<num> }
Exception with user interrupt details.

intlc

point[2]

<point>, <point>, <point>, <num> {,<point> }
Intersection(s) of a line (A to B), and a circle C and D (center and radius { and normal E }.

intll

point

<point>, <point>, <point>, <point>
Intersection of a line (A to B) and a line (C to D).

intlp

point

<point>, <point>, <point>, <point>, <point>
Intersection of a line (A to B) and a plane C, D.

intplines

point[ ]

<points>, <points> {,<num>}
Intersection points of two polylines, with an optional nearness tolerance.

intpp

point[2]

<point>, <point>, <point>, <point>
Intersection of two planes (A,B and B,C). Two values are returned, a point and a direction.

kbchar

string

{ <string> }
Read a character from keyboard { with prompt }.

ldrop

point

<point>, <point>, <point>
Drop a perpendicular from point A to a line joining points B to C.

len

numeric

<string>
Length of a string.

ljoin

point[2]

<point>, <point>, <point>, <point>
Find the shortest line between two lines (A,B and C,D).

log

numeric

<num>
Natural logarithm.

logx

numeric

<num>
Base 10 logarithm.

longlat

point

point {,projection}
Inverse projection of a Cartesian coordinate point into longitude/latitude using the current projection { or projection B }.

low

string

<string>
Conversion of a string to lower case.

lpad

string

<string>,<string> {,<num>}
Pad out a string with leading characters.

lread

string

<channel>
Read a line from a channel.

luglock

point

{ <numeric> }
Snap to an entity lug point { screen tolerance }.

match

numeric

<string>, <string>
Returns a 1 if string A matches wild pattern B.

matx2

point

<point>, <num[4]>
Matrix multiply a point by a 2x2 matrix.

matx3

point

<point>, <num[9]>
Matrix multiply a point by a 3x3 matrix.

matx4

point

<point>, <num[16]>
Matrix multiply a point by a 4x4 matrix.

max

numeric

<num>, <num>, ...
Maximum value.

members

epointer[ ]

<group>
Pointers to all entities within a group.

midp

point

<point>, <point>
Midpoint of two points.

min

numeric

<num>, <num>, ...
Minimum value.

mofi

point

<group>
The moment of inertia of one or more 3-D graphic entities.

near

point

<point>, <point>, <point>
Nearer of points B and C to point A.

nint

numeric

<num>
Rounded (nearest) integer value.

niz

string

<num> {,<int> }
Integerize a number then convert to a string with leading zeros.

norm

point

<point>, <point>, <point>
Normal to a plane defined by three points.

nowhite

string

<string>
String with white space removed.

ns

string

<num> {,<int> }
Convert a number to a string { with precision }.

ntos

numeric[ ]

<nums> ...
Normalized screen to screen pixel coordinates.

nval

numeric

<num>, <num>
Nearest multiple of B to A.

oleload

string

<file> {,<atable>}
Creates an OLE/ActiveX component from file contents.

oleobj

string

<string> {, <file> {,<atable>}}
Creates an OLE/ActiveX component from an external OLE object.

onarc

numeric

<point>, <point>, <point>, <point> {,<num>}
Returns a 1 if A lies on arc B,C,D {tolerance}.

online

numeric

<point>, <point>, <point> {,<num>}
Returns a 1 if A lies on line B to C {tolerance}.

onplane

numeric

<point>, <point>, <point> {,<num>}
Returns a 1 if A lies on plane B,C (normal) {tolerance}.

order

numeric[ ]

<array>
Returns the ascending order of values in an array (numeric, string or time).

padjust

point[ ]

(<points> {,<num>})
Returns point values rounded to a specified decimal precision.

pbox

point[2]

{ <window> }
Interactive 2-D box { specific graphic window }.

pcirc

point[2]

{ <window> }
Interactive 2-D circle { specific graphic window }.

pcur

point

{ <point> { ,<cursor> { ,<crosshair> }}}
Interactive 3-D point { horizontal }.

pdrop

point

<point>, <point>, <point>
Drop a perpendicular from point A to a plane B, C.

plock

point

{ <numeric> }
Snap to a point on a graphic primitive {screen tolerance}.

plocus

numeric[ ]

<point>,<points>,<tolerance>
The indices of all points (of B) within a tolerance (C) of another point A.

pmeasure

point

(<points>,<num>)
A point, a given distance along a supplied polyline.

pgeneralize

point[ ]

(<points>,<num>)
A generalized (smoothed) version of a supplied polyline.

pnob

string

<point> {,<int> }
Convert a point to a string { with precision } space separated, no parentheses.

porder

numeric[ ]

<point>,<points>
The indices of point values in an array (B) ordered by distance from a target point (A).

proc_set

numeric

<ident>
Whether a function/procedure has been set.

prub

point

<point> {,<window> {,<cursor> } }
Interactive 3-D point with rubber band.

ps

string

<point> {,<int> }
Convert a point to a string {with precision} within parentheses and commas.

qs

string

<string>
String within quotes.

quadratic

numeric[ ]

<num>, <num>
Solution to a quadratic equation (up to two values).

quartic

numeric[ ]

<num>, <num>, <num>, <num>, <num>
Solution to a quartic equation (up to four values).

qwindows

window[ ]

{<string> {,<num> {,<string> } } }
Windows with particular properties.

rand

numeric

{ <num> }
Random value in the range 0 through num [1].

rasgeo

numeric[6]

<file>
Geo-reference information of a raster file.

raspix

numeric[2]

<file>
Dimensions of a raster file (in pixels).

registry

string[]

<string>
Windows registry key values.

regkeys

string[]

<string>
Windows registry key sub-keys.

rem

numeric

<num>, <num>
Remainder (module) of A/B.

root_members

epointer[ ]

<group>
Pointers to all root entities within a group.

rpad

string

<string>,<string> {,<num>}
Pad out a string with trailing characters.

sbox

numeric[4]

{ <cursor> }
Interactive screen rectangle.

scirc

numeric[3]

{ <cursor> }
Interactive screen circle.

scoords

numeric[2]

<point> {,<window> }
Convert 3-D point to screen coordinates.

scur

numeric[2]

{ <cursor> }
Interactive screen point.

sin

numeric

<angle>
Sine.

slide

point

<point[ ]>
Interactive 3-D point along a path.

sm

string

<int>, <int>
Message from the system message file.

sqrt

numeric

<num>
Square root.

srep

string

<string>,<string>,<string>
Replace character sequences within a string value.

strim

string

<string>
String with trailing spaces removed.

tan

numeric

<angle>
Tangent.

textblob

blob

<string[ ]> {,<string>}
A blob derived from a string value(s) and separator.

tricur

point

<point>, <point>, <point>
Point via a rubber triangle, A and C are anchored, B moves.

tzdiff

numeric

{ <int> }
Difference (in seconds) between local time and UTC.

uconv

numeric

<string>,<string>
Conversion factor between 2 units of measure.

uint

numeric

<num>
Highest integer value.

um

string

<int>, <int>
Message from the user message file.

upp

string

<string>
Conversion of a string to upper case.

url_decode

string

<string>
Conversion of a string from encoded URL form.

url_encode

string

<string>
Conversion of a string to one suitable for use as a URL.

value_set

numeric

<ident>
"Set" status of a structure element.

vcur

point

{ <point> { ,<cursor> { ,<crosshair> }}
Interactive 3-D point { vertical }.

warning_exception

exception

<string>, <num> { ,<num> }
Exception with user warning details.

wcap

string

<string>
Capitalize word beginnings in a string.

wcur

window

{ <cursor> }
Interactive window indication.

which

atable

<ident>
Atable in which an identifier resides.

xmlclass

string

<xsd>,<tag>
The Fire structure class corresponding to an xml schema and element tag.

xmlobj

string

<xmlfile> {,<num>}
Creates an xml component from an xml file.

xmltest

string

<xmlfile> {,<num>}
Test validity of an xml file.

zeroblob

blob

<int>
A blob filled with zero byte values.

Notation