recursal/Fanatic-Fandom huggingface dataset:
Addpin

Use the addPin keyword to combine an object's color with the colors underneath it.

The ink property determines how an object's colors combine with the colors of the pixels underneath the object to determine how the object's color is displayed. When the addPin mode is used, each component of the object color--red, green, and blue--is added to the corresponding component of the color underneath. If the resulting number is greater than 127 (the maximum), 127 is used for that component.

For example, suppose an object's color is 240,0,100, and the color of the pixels under the object is 60,40,20. If the addPin mode is used, the object's displayed color is 127,40,120.

The addPin mode can be used only on Mac OS systems. On Unix and Windows systems, objects whose ink property is set to this mode appears as though their ink were set to srcCopy.

A list of all transfer modes can be found in the transfer mode glossary page for easy reference.
BackgroundIDs

Reports the backgrounds in a stack.

Syntax:

```
get the backgroundIDs of <stack>

```

Examples:

```
get last line of the backgroundIDs of this stack

```

Use the **backgroundIDs** property to find out which
backgrounds are available.

The **backgroundIDs** is the list of all backgrounds in the
stack whose backgroundBehavior property is set to true, whether
they appear on the current card or not. If a group in the
stack contains groups, only the top-level
groups are reported.

To find out which groups are placed on a card, use the groupIDs
property.

Changes:
In versions before 1.1, groupIDs and backgroundIDs were synonyms and
could be used interchangeably.

See also: stack (object), properties (property), groupIDs (property), backgroundBehavior (property), ID (property),
After

Verwenden Sie das after-Schlüsselwort, um den Einfügepunkt an einer ausgewählten Position in einem Feld zu positionieren oder Text an einer bestimmten Position in einem Container hinzuzufügen.

Sie können entweder einen Container oder einen Chunk(Bereich) innerhalb eines Containers angeben. Wenn Sie keinen Chunk angeben, gibt das after-Schlüsselwort das Ende des Containers an.

Wenn Sie das after-Schlüsselwort verwenden, ist der aktuelle Inhalt des Containers oder Chunks nicht betroffen. Der Text wird dem Container oder Chunk hinzugefügt, anstatt ihn zu ersetzen.

**Beispiele:**

```
put space after item 2 of field "Formatted Address"

```

```
select after field 1 -- (puts the insertion point at the end of the field)

```
ClickLine

Returns the number of the line that the user last clicked in a field.Syntax:

```
clickLine()

```

Examples:

```
select the clickLine

```

```
put the value of the clickLine into textOfClickedLine

```

Use the **clickLine** function within a mouseDown, mouseUp, or
selectionChanged handler to determine which line the user clicked,
in order to provide hypertext (clickable text) or take some action
based on the click.

The **clickLine** function is cleared at the next mouse click, as well
as after some editing actions such as deleting text. If the last click
was not in a field, the **clickLine** function returns empty.

The returned value indicates the line that the mouse pointer was over
when the mouse was clicked. Moving the mouse before the mouse button is
released does not affect the value returned by the **clickLine**.

If the field is locked, the **clickLine** function is most useful within a
handler (such as mouseDown or mouseUp) that is triggered
by the mouse click.

If the field is unlocked, mouseDown and mouseUp messages are
not sent when the user clicks in the field (unless the user
right-clicks or holds down the Control key while clicking). Use the
**clickLine** function within a selectionChanged handler to
determine what line the user is editing in an unlocked
field.

To get a chunk expression describing the word or text group that was
clicked, use the clickChunk function.

See also: mouseLine (function),mouseDown (message),mouseUp (message),selectionChanged (message),
Codeunit

Designates the encoded unit in which a codepoint is stored.I

Examples

```
put "Hello world" into tString
put codepoint 1 of tString  --returns "H"

```

Use the codeunit keyword to refer to the encoded units in which codepoints are stored.

A codeunit is the encoded units in which codepoints are stored (e.g. 16 bit words in UTF-16 or 8-bit bytes in UTF-8). Although the engine currently uses UTF-16 for storage of Unicode text, this should not be relied upon. The byte order of the codeunits depends on the platform and it is not guaranteed that the engine will always use UTF-16 for text storage.

The hierarchy of the new and altered chunk types is as follows:

```
byte w of codeunit x of codepoint y of char z of word ...

```

**Note:** This chunk type is not of general utility.
BrowserLoadRequested

Sent when a URL has been requested.Syntax:

```
browserLoadRequested <url>, <type>

```

Examples:

```
on browserLoadRequested pURL, pType
   put "URL" && pURL && "requested" into field "status bar"
end browserLoadRequested

```

Handle the **browserLoadRequested** message to perform an action when a
URL has been requested.

The **browserLoadRequested** message is sent to the object containing the
script that created the UIWebView browser control after a url has been
requested and passed for loading.

If delayRequests(command) has been set to false,
**browserLoadRequested** is sent as soon as the URL is requested.

If delayRequests(command) is set to true, **browserLoadRequested** is
only sent if the corresponding browserLoadRequest message has been
passed.

The **browserLoadRequested** message is sent in response to the
webView:shouldStartLoadWithRequest: delegate method.

Parameters:

* url: The URL that has started to load.
* type (enum): The reason for the request. One of:
* - "click" - "submit"- "navigate"- "reload"- "resubmit"- "other"
* Description:Handle the **browserLoadRequested** message to perform an action when aURL has been requested.

See also: mobileControlSet (command),mobileControlGet (function),mobileControlTarget (function),mobileControls (function),browserStartedLoading (message),browserFinishedLoading (message),browserLoadRequest (message),browserLoadFailed (message),
Call

Executes the specified handler in any object'sscript.

Syntax:

```
call handler [of object]

```

Examples:

```
call "mouseUp" of button 1 of card 1

```

Use the call command to use a handler that's not in the normal message path.

The handler is any handler in the script of the specified object, along with any parameters that handler requires, separated by commas. The entire handler including parameters must be enclosed in quotes.

The object is any object reference. If no object is specified, LiveCode uses the current object.

The call command sends a handler message to the object. If the script of the object doesn't trap the handler message, the message is passed to the next object in the object's message path.

When executing a handler invoked by the call command the defaultStack remains the same as it was when the call command was issued. Therefore any object references in the called handler are evaluated in the context of the call command that invoked the handler. For example, button 3 may commonly refer to button 3 of the current card of the stack from which the target handler was called.

This differs from the send command which temporarily changes the context so that object references are evaluated in the context of the object containing the target handler.

If a handler contains complex parameters, especially if some parameters contain double quotes, it may be simpler to put the message name and parameters into a variable, then use the name of the variable in the call statement.

See Also: params Function, value Function, do Command, send Command, start using Command, insert script Command, defaultStack Property, pass Control Structure
AllowKeyInField

Has no effect and is included in LiveCode for compatibility with imported SuperCard projects.Syntax:

```
set the allowKeyInField to {true | false}

```

In SuperCard, the **allowKeyInField** property determines whether a
"keyInField" message is sent when a key is pressed while the
insertion point is in a field.

In LiveCode, the "keyInField" message is not sent.

The **allowKeyInField** property is always true. A handler can set it
to any value without causing a script error, but the actual
value is not changed.

See also: enterInField (message),
AcceleratorKey

Specifies a shortcut key combination for a button's mouseUp handler.

Syntax:

```
set the accel[erator]Key of <button> to {empty | <letterChar>}

```

Examples:

```
set the acceleratorKey of button 1 to "a"

```

```
set the acceleratorKey of button "Switch Order" to "F8"

```

```
set the accelKey of button "Calc" to field "Key"

```

Use the **acceleratorKey** property to give users a shortcut key
combination for often-used buttons, or to provide a
keyboard shortcut to a button that's
used as a menu item in a stack menu.

Press the key combination defined in a button's **acceleratorKey**
property to send a mouseUp message to the button, instead
of clicking.

The key(s) specified in the acceleratorModifiers property must be
pressed along with the **acceleratorKey**.

The **acceleratorKey** property is case-sensitive. You must specify a lowercase letter as the *letterChar*; the uppercase
letter is not equivalent.

If the insertion point is in a field, the keypress is sent to the field,
and the button does not receive it.

On Unix systems, the key names are listed in the file
"/usr/include/X11/keysymdef.h". Don't include the "XK\_" prefix in these
key names; for example, use "F8" for the key designated as "XK\_F8" in
the file.

See also: mouseUp (message), button (object), default (property), commandChar (property), acceleratorText (property),
CodepointOffset

Returns the number of codepoints between the beginning of a value and an occurrence of a specified string.Syntax:

```
codepointOffset(<stringToFind>, <stringToSearch> [, <codepointsToSkip>])

```

Examples:

```
codepointOffset(tCodePoint,"This is the string to search")

```

Use the **codepointOffset** function to find which codepoint a string
occurs in.

The value returned by the **codepointOffset** function is the number of
the codepoint where the stringToFind appears in stringToSearch. If
the stringToFind is not in stringToSearch, the **codepointOffset**
function returns zero. If the stringToFind is more than one codepoint,
the **codepointOffset** function always returns zero, even if the
stringToFind appears in the stringToSearch.

If you specify how many codepointsToSkip, the **codepointOffset**
function skips the specified number of sentences in the
stringToSearch. The value returned is relative to this starting point
instead of the beginning of the stringToSearch.

* codepointsToSkip:The codepointsToSkip is a non-negative integer. If you don't specify howmany codepointsToSkip, the codepointOffset function does not skip anycodepoints.
* Returns: The **codepointOffset** function returns a non-negative integer.

See also: tokenOffset (function),sentenceOffset (function),byteOffset (function),truewordOffset (function),codeunitOffset (function),offset (function),wholeMatches (property),
ArrowSize

Specifies the size of an an arrow at one end of a line or polygon graphic.Syntax:

```
set the arrowSize of <graphic> to <size>

```

Examples:

```
set the arrowSize of last graphic to 20

```

Use the **arrowSize** property to change the size of arrows at the ends
of lines and polygons.

The arrow of a graphic is proportional to the graphic's lineSize;
changing the lineSize increases or decreases the size of the arrow,
although the graphic's **arrowSize** property is not changed.
If the lineSize is zero, the arrow is not visible.

Set the startArrow or endArrow properties to true to make the
arrows visible.

You can set the **arrowSize** of graphics other than lines and
polygons, but doing so has no effect.

See also: graphic (object),properties (property),lineSize (property),startArrow (property),endArrow (property),
BottomPixel

Specifies which entry in the color table is used for the color of a three-D object's lowered edge.Syntax:

```
set the bottomPixel of <object> to <colorNumber>

```

Examples:

```
set the bottomPixel of field "Status" to 14

```

Use the **bottomPixel** property to change the bottom color of an
object(glossary) when the bit depth of the screen is 8 bits
(256 colors) or less.

The **bottomPixel** property specifies which entry in the color table
is used for an object's bottom color. It is similar to the
bottomColor property, but is specified as an entry in the current
color table, rather than as a color reference.

The color table can be set by changing the colorMap property.

See also: borderPixel (property),bottomColor (property),
Combine

Transforms an array into a list.

Syntax:

```
combine array {using | by | with} primaryDelimiter [and secondaryDelimiter]

```

```
combine array {using | by | with} primaryDelimiter as set

```

```
combine array {using | by | with} {row | column}

```

Examples:

```
combine myArray using comma

```

```
combine myArray by row

```

```
put "apple" into tArray[1]
put "banana" into tArray[2]
combine tArray using return and ":"
## 2:banana

```

Use the **combine** command to display an array in a field or to process an array using string operators, functions, and chunk expressions.

Parameters:

* *arrayName* - An array variable.
* *primaryDelimiter* - A character or expression that resolves to a character.
* *secondaryDelimiter* - A character or expression that resolves to a character.

The **combine** command combines the elements of the array into a single variable. After the command is finished executing, the variable specified by array is no longer an array.

If the first form of the command is used, the elements of the original array are separated by the *primaryDelimiter*. For example, if the *primaryDelimiter* is *return*, the content of each element of the original array appears on a separate line.

If you specify a *secondaryDelimiter*, the key corresponding to each element is added to the element's content, separated from the content by the secondaryDelimiter. For example, if the *primaryDelimiter* is *return* and the *secondaryDelimiter* is *tab*, each line of the resulting variable contains an element's key, a *tab* character, and the element's content. If you don't specify a *secondaryDelimiter*, then the keys are lost in the transformation.

If you use the as set form the combine command rebuilds the list using the delimiter passed, the values of the array are ignored.

The order of the elements is not alphabetical or chronological; it is based on the internal hash order of the array. To alphabetize the list, use the sort command:

```
 combine monthlyReceivables using return and comma
 sort lines of monthlyReceivables by item 2 of each

```

If the second form of the combine command is used, the elements of the original array are considered to be either columns or rows, separated by the columnDelimiter property or rowDelimiter property respectively.

Combining an array by row converts the array into a table with rows separated by the rowDelimiter property. Each row in the resulting string is the contents of the corresponding key in the array.

Combining an array by column converts the array into a table with columns separated by the columnDelimiter property. Each column of the resulting string is the contents of the corresponding key in the array.

The combine by row and combine by column forms can only be used with numerically keyed arrays

See Also: extents Function, keys Function, split Command, columnDelimiter Property, rowDelimiter Property
Ascending

Used with the sort command to specify that sorting is in normal order (from less to greater).

Examples:

```
sort this stack ascending by field "Order Number"

```

Use the ascending keyword to improve the clarity of your code. For example, if a handler contains several sort commands and some are in descending order, you can use the ascending keyword explicitly to point up the fact that there are both ascending and descending sorts.

Example, we want to sort by the first column descending and by the second column ascending, so the code is:

```
sort lines of myText numeric ascending by item 2 of each
sort lines of myText  descending numeric by item 1 of each

```
AcceleratorText

Specifies the shortcut hint that appears at the right edge of a button.

 Datei:AccelText.png
Syntax:

```
set the accel[erator]Text of <button> to <string>

```

Examples:

```
set the acceleratorText of button 3 to "A"

```

```
set the accelText of button "Go" to field "Shortcut Key"

```

```
set the accelText of button 9 to "option-D"

```

```
set the accelText of the mouseControl to empty -- remove acceleratorText

```

Use the **acceleratorText** property to provide the user with an
onscreen hint about the shortcut key combination specified by the
button's acceleratorKey property.

The **acceleratorText** string appears at the right edge of the
button, inside the button's rightMargin.
LiveCode does not automatically make room for the **acceleratorText**
string, so you might need to enlarge the button to prevent
its label from overlapping the **acceleratorText** string.

If the button's textAlign property is set to "right", the
button's label overlaps the **acceleratorText** string,
so you shouldn't set a button's **acceleratorText** if it
has a right-aligned label.

Usually, the string should be the character in acceleratorKey, but
you might want to include additional characters to hint at the
modifier key needed.

Nothing happens when the user presses the key specified by the
**acceleratorText** property unless the acceleratorKey and
acceleratorModifiers are set. The **acceleratorText** property
creates a visual hint, but does not create the actual shortcut key
combination.

See also: button (object), acceleratorModifiers (property), label (property), textAlign (property), acceleratorKey (property), rightMargin (property), mnemonic (property),
AvailablePrinters

Reports a list of all the printers available on the current system.Syntax:

```
get the availablePrinters

```

Examples:

```
if tPrinter is not among the lines of the availablePrinters then
  answer error "Printer not found"
end if

```

```
set the printerName to (line 1 of the availablePrinters)

```

Use the **availablePrinters** property to find out the names of the
printers installed on the current system.

The **availablePrinters** property is read-only and cannot be set.
Close socket

Shuts down a connection that was opened with the open socket or accept command.

Syntax:

```
close socket socketID

```

Examples:

```
close socket "127.0.0.0"

```

```
close socket "8080"

```

```
close socket "www.example.net:8080|newConnection"

```

```
close socket (line 1 of the openSockets)

```

Use the **close socket** command to release the connection when you're finished getting and sending data over it.

The *socketID* is the identifier (set when you opened the socket) of the socket you want to close.

The *socketID* on a server is different from a client. On a server is the port opened, for example "**8080**", on a client is like "192.168.0.12:8080".

See Also: accept Command, resetAll Command, socketTimeout Message, allowDatagramBroadcasts Property, OpenSockets
CustomPropertySet

Specifies a set of custom properties applied to an object.Syntax:

```
set the customPropertySet of object to {setName | empty}

```

Examples:

```
set the customPropertySet of me to "Mac Properties"

```

Use the **customPropertySet** property to create and switch between sets
of custom properties and property values.

An object can have multiple sets of custom properties. Each set is
independent of the others, and the same property can have different
values in different sets. To make a set's custom properties accessible,
set the object's **customPropertySet** property to the name of the set you
want to use. The values and properties in the current
**customPropertySet** are used when you refer to a custom property.

If the setName is not already a custom property set, setting the
**customPropertySet** to the setName creates a custom property set named
setName for the object.

To use the default set of custom properties, set the **customPropertySet**
to empty.

You can access a property that is not part of the current
**customPropertySet** using array notation. For example, the following
statement gets the value of a custom property named "foo" in a custom
property set named "myCustomSet" :

```
   get the myCustomSet["foo"] of field "Example"

```

If using arbitrary custom property names, be aware that it won't be
possible to access them by changing the **customPropertySet** if they
clash with LiveCode language keywords. Instead, either use the array
style notation above, or use a prefix to prevent name clashes (for
example "uName" instead of "name" ).
BorderPixel

Specifies which entry in the color table is used for the color of an object's border.Syntax:

```
set the fourthPixel of <object> to <colorNumber>

```

Examples:

```
set the fourthPixel of group 1 to 200

```

Use the **borderPixel** property to change the border color of an
object(glossary) when the bit depth of the screen is 8 bits
(256 colors) or less.

The **borderPixel** property specifies which entry in the color table
is used for an object's border color. It is similar to the
borderColor property, but is specified as an entry in the current
color table, rather than as a color reference.

The color table can be set by changing the colorMap property.

See also: bottomPixel (property),focusPixel (property),pixels (property),backgroundPixel (property),foregroundPixel (property),hilitePixel (property),shadowPixel (property),colorMap (property),borderColor (property),topPixel (property),
Bold

Used with the textStyle property to indicate boldface text.

Examples:

```
set the textStyle of button "Label" to bold

```

```
if the textStyle of word 3 of field "Info" is bold then go card 1

```

Use the **bold** keyword to emphasise text by presenting it in boldface.

You can boldface an object (which boldfaces all the text displayed by the object) or a chunk in a field or button.

To add boldfacing to an object without removing other styles (such as italic), add the bold keyword to the end of the textStyle. The following example adds bold to the styles of a button:

```
 if the textStyle of button 1 is empty then
    set the textStyle of button 1 to bold
 else
    set the textStyle of button 1 to (the textStyle of button 1) & comma & "bold"
 end if

```

See also: TextStyle, HTMLText
Before

Used with the put command to place a value at the start of a container or chunk.

Examples:

```
put return before myVariable

```

```
put thisValue before line 17 of field "Results"

```

Use the before keyword to position the insertion point at a selected location in a field, or to add text at a specific location in a container.

You can specify either a container, or a chunk within a container. If you don't specify a chunk, the before keyword specifies the start of the container.

When you use the before keyword, the current contents of the container or chunk is not affected. The text is added to the container or chunk, instead of replacing it.

See Also: after Keyword, put Command
Compound

Returns the principal plus accrued interest of an investment.Syntax:

```
compound(<interestPerPeriod>, <numberOfPeriods>)

```

Examples:

```
compound(.05,20)

```

```
put theInvestment * compound(yearlyInterest,numberYears) into endValue

```

Use the **compound** function to calculate the value of an investment
that earns interest.

The formula for the value of an compound-interest-bearing account is

```
   (1 + interestRate)^( numberOfPeriods)

```

The **compound** function calculates this value.

The numberOfPeriods and the interestRate must use the same unit of
time. For example, if the periods are months, the interest rate is the
interest per month.

* numberOfPeriods:A positive number.
* interestRate: A positive number. The interestRate is expressed as a fraction of 1 so,for example, an 8% rate is written .08.
* Returns: The **compound** function returns a positive number.

See also: round (function),
ColorWorld

Reports whether the screen is set to use color.Syntax:

```
get the colorWorld

```

Examples:

```
if the colorWorld then showColorIcons

```

Use the **colorWorld** property to determine whether the screen is color
or black-and-white.

If the **colorWorld** property reports true, the screen is using color
or grayscale. If the **colorWorld** is false, the screen is
black-and-white.

If the system has more than one monitor, the **colorWorld** property
reports the color status of the main screen.

The value returned by the **colorWorld** function is updated only when you
start up the application. If you change the screen settings after
starting up the application, you must quit and restart to update the
**colorWorld**.

See also: bufferMode (property),colorMap (property),
AllowFieldRedraw

Has no effect and is included in LiveCode for compatibility with imported SuperCard projects.Syntax:

```
set the allowFieldRedraw to {true | false}

```

In SuperCard, the **allowFieldRedraw** property determines whether
scrolling fields are redrawn after scrolling. In
LiveCode, scrolling fields are always redrawn.

The **allowFieldRedraw** property is always set to false. A handler
can set it to any value without causing a script error, but the
actual value is not changed.

See also: value (function),field (object),
Admin

Use the adMin keyword to darken the area under an object.

The ink property determines how an object's colors combine with the colors of the pixels underneath the object to determine how the object's color is displayed. When the adMin mode is used, each component of the object color--red, green, and blue--is compared with the corresponding component of the color underneath, and the minimum of each is used for the displayed color.

For example, suppose an object's color is 30,70,150, and the color of the pixels under the object is 60,40,100. If the adMin mode is used, the object's displayed color is 30,40,100.

The adMin mode can be used only on Mac OS systems. On Unix and Windows systems, objects whose ink property is set to this mode appears as though their ink were set to srcCopy.

A list of all transfer modes can be found in the transfer mode glossary page for easy reference.
ArcAngle

Specifies the angle used to draw an arc.Syntax:

```
set the arcAngle [of <graphic>] to <angleInDegrees>

```

Examples:

```
set the arcAngle to myAngle -- affects ovals drawn with the paint tools

```

```
set the arcAngle of graphic "Over" to theAngle

```

Use the **arcAngle** property to create an arc shape from an oval
graphic, or to cause the Oval paint tool to draw arcs.

By default, ovals display their entire arc from zero to 360, forming a
complete oval. Use the startAngle and **arcAngle** properties to
specify that only a portion of the oval, forming an arc, should be
drawn.

The **arcAngle** determines how much of the oval is used to form the arc,
from zero (no arc) to 360 (a full oval). For example, if the
angleInDegrees is 90, a quarter-oval arc is displayed.

The global setting of the **arcAngle** property controls the appearance
of arcs drawn with the paint tools. Once a paint arc is
drawn, its appearance cannot be changed by changing the global
**arcAngle** property.

See also: angle (property),properties (property),startAngle (property),
CloseField

Sent to a field when the focus is being removed from that field and the field's content **has changed**.

Syntax:

```
closeField

```

Examples:

```
on closeField -- make sure the user has entered a valid date
  if the text of me is not a date then
    beep
    answer "Please enter a date."
    select text of me
  end if
end closeField

```

Handle the **closeField** message if you want to make sure a
field's content is correct after it has been changed.

The selection is removed from a field (and the field loses focus) when
another window is brought to the front, when the user clicks in another
field, or when the user tabs out of the field. The field also loses
focus when the select command is used to select text in another
field. However, the **closeField** message is not sent when the user
clicks in the same field.

The **closeField** message is not sent when a handler changes the
field's contents using the put command.

If the lookAndFeel property is set to "Macintosh", the **closeField**
message is generally not sent when another control (such as a
button) is clicked. This is because clicked buttons do not
receive the focus on Mac OS systems, and therefore the
selection remains active.

The **closeField** message is also sent to buttons
whose menuMode is "comboBox", since the type-in box in a combo box
behaves like a field.

If a field is closing and its contents have not changed, the exitField
message is sent instead of **closeField**.

See also: openField (message), exitField (message), focusOut (message), field (object), button (object), menuMode (property)
Cascade

Specifies one of the menu types that can be used with the menuMode property.

Examples:

```
set the menuMode of button "Font" to cascade

```

Use the cascade keyword to create a hierarchical menu in a stack menu.

A button whose style property is set to menu and whose menuMode property is set to **cascade** becomes a cascading menu. Each line of the button's contents is displayed as a menu item in the submenu.

See also: line, menu, popup
ClickField

Returns the number of the last field the user clicked.Syntax:

```
clickField()

```

Examples:

```
the clickField

```

```
if the clickField is field "New Items" then exit mouseUp

```

Use the **clickField** function within a mouseDown, mouseUp, or
selectionChanged handler to determine which field the user
clicked, in order to provide hypertext (clickable text) or take some
action based on the click.

The **clickField** function is cleared at the next mouse click, as well
as after some editing actions such as deleting text. If the last click
was not in a field, the **clickField** function returns
empty.

The returned value indicates the field that the mouse pointer was over
when the mouse was clicked. Moving the mouse before the mouse button is
released does not affect the value returned by the **clickField**.

If the field is locked, the **clickField** function is most useful within
a handler (such as mouseDown or mouseUp) that is
triggered by the mouse click.

If the field is unlocked, mouseDown and mouseUp messages are
not sent when the user clicks in the field (unless the user
right-clicks or holds down the Control key while clicking). Use the
**clickField** function within a selectionChanged handler to determine
what field the user is editing.

See also: number (function),mouseDown (message),mouseUp (message),selectionChanged (message),
BlendLevel

Specifies the degree of transparency of an objectSyntax:

```
set the blendLevel of <control> to <levelNumber>

```

Examples:

```
set the blendLevel of image 3 to 100

```

```
set the blendLevel of field "Test" to the blendLevel of field "Test" - 1

```

Use the **blendLevel** property to allow objects underneath an
object to show through partially or completely.

If an object's **blendLevel** is zero, the object is fully opaque. If the
**blendLevel** is 100, the object is fully transparent. Values between
zero and 100 indicate levels of partial translucency.

* Tip:\* The blendLevel setting of a stack obeys lock and unlock screen.

In particular, if the screen is unlocked with a visual effect, the
blendlevel of the stack will be interpolated between its new and old
values during the action of the lifetime of the effect.

In previous versions of LiveCode setting the blendLevel of an
image would automatically set the ink to blend. This no longer happens
and the blendLevel applies regardless of the setting of the ink. For
backwards compatibility, when a pre-2.7 stackfile is imported, all
images with the blendLevel set and ink set to blend will be converted
to have the ink 'blendSrcOver' and the same blendLevel setting.

```
Setting the **blendLevel** of a stack is only supported on

```

systems which support alpha-blended windows. This is currently MacOS
X, Windows 2000 or later and Linux (with a composite window manager
(such as Beryl))

See also: colorOverlay (property),innerGlow (property),ink (property),opaque (property),innerShadow (property),outerGlow (property),alphaData (property),dropShadow (property),
AdResizeEnd

Sent whan an ad finished resizing.Syntax:

```
adResizeEnd <adName>

```

Examples:

```
on adResizeEnd pAdName
   send "layout" to group "content"
end adResizeEnd

```

Handle the **adResizeEnd** message if you want to perform an action when
an ad finished resizing.

The **adResizeEnd** message is sent to the current card when an ad has
finished resizing.

Parameters:

* adName: The name of ad that has been expanded (as specified in mobileAdCreate)

See also: mobileAdDelete (command),adLoaded (message),adLoadFailed (message),adResizeStart (message),
Centered

Specifies whether objects are drawn from the center to the edge, or from corner to corner.Syntax:

```
set the centered to {true | false}

```

Examples:

```
set the centered to true

```

Use the **centered** property to change the way objects are
drawn when they are created with the object's tool, and to
change how objects are resized.

If the **centered** property is set to true, when the user creates an
object(glossary) by clicking and dragging with the appropriate tool,
the first point clicked is the center of the object(glossary), and
the user drags to an edge to complete the object(glossary).

If the **centered** is false, the first point clicked is a corner, and
the user drags to the opposite corner to complete the
object(glossary).

The **centered** also affects how objects are resized with the
Pointer tool. If the **centered** is true, dragging a handle at the
corner or side of an object(glossary) resizes the object(glossary)
symmetrically, so its center remains in the same place. If the
**centered** is false, dragging a corner or side moves only that corner or
side.

See also: powerKeys (property),slices (property),multiple (property),gridSize (property),
Comma

Concatenates (joins) two strings and inserts a comma between them.Syntax:

```
<string1> , <string2>

```

Examples:

```
put "first","second" -- evaluates to "first,second"

```

```
get lastName,firstName  middleName

```

Use the , operator to combine two strings with a
comma between them.

The , operator is equivalent to comma a/. In other words,

```
   "this" , "that"

```

does the same thing as

```
   "this"  comma  "that"

```

Parameters:

* string1 (string): The operands string1 and string2 are literal strings of characters(delimited with double quotes), or expressions that evaluate to strings.
* string2 (string):
* The result:The result of the , operator is a string(keyword) consisting ofstring1, a comma, and string2.
AcceleratedRendering

Specifies whether to use accelerated rendering for this stackSyntax:

```
set the acceleratedRendering of <stack> to { true | false }

```

Examples:

```
set the acceleratedRendering of this stack to true

```

Use the acceleratedRendering property to put LiveCode into accelerated
rendering mode and set the compositor properties to recommended
defaults.

The **acceleratedRendering** property has been added to help simplify the
use of the accelerated rendering features. When set to true, LiveCode
automatically configures the compositor properties to the best defaults
for the current platform.

When **acceleratedRendering** is set to true, if the compositorType has
not previously been set, the engine configures the compositor properties
as follows:

* Mac: compositorType = CoreGraphics, compositorTileSize = 32,

```
 compositorCacheLimit = 32Mb

```

* Windows/Linux: compositorType = Software, compositorTileSize = 32,

```
 compositorCacheLimit = 32Mb

```

* iOS (non-Retina iPhone): compositorType = OpenGL, compositorTileSize =

```
 32, compositorCacheLimit = 16Mb

```

* iOS (iPad / Retina iPhone): compositorType = OpenGL,

```
 compositorTileSize = 64, compositorCacheLimit = 32Mb

```

* iOS (iPad Retina): compositorType = OpenGL, compositorTileSize = 64,

```
 compositorCacheLimit = 64Mb

```

* Android (VGA screen or smaller): compositorType = OpenGL,

```
 compositorTileSize = 32, compositorCacheLimit = 16Mb

```

* Android (larger than VGA screen): compositorType = OpenGL,

```
 compositorTileSize = 64, compositorCacheLimit = 32Mb

```

If the **acceleratedRendering** property is set to false, then the
compositorType is set to empty.

* Warning:\* Changing the compositor settings from their defaults is only

recommended for advanced users.

Set the **acceleratedRendering** property in a preOpenStack or
preOpenCard handler - it is not persistent (not saved into the
stackfile).

Parameters:

* Stack: The name or ID of the stack.

See also: compositorType (property),compositorCacheLimit (property),
Address

Reports the name of the system the application is running on.Syntax:

```
get the address

```

Examples:

```
put the address into myAddress

```

```
put last item of the address into theAppName

```

Use the **address** property to find out the path to the application,
or the name of the system.

For example, if LiveCode is running on a Mac OS system named "Heliand",
and the LiveCode folder is located on a volume called "Fnord", its
**address** property is Heliand:/Fnord/LiveCode/LiveCode.

On Unix systems, the computer's name is its domain name. On [[Mac
OS|Mac OS systems]], the name is the one set in the File Sharing control
panel.

Changes:
Support for AppleTalk zone addresses on Mac OS systems was removed in
version 1.1. In previous versions, the address property reported the
application's AppleTalk address, including its zone.
Browse

Designates the Browse tool, which is used to interact with the objects of a stack.

Examples:

```
choose browse tool

```

Use the browse keyword to enter normal (non-editing) mode.

When using the Browse tool, the cursor is a pointing hand (or, over editable fields, an I-beam). This tool is used for user actions such as clicking buttons and typing in fields.

The Browse tool is always in effect for stacks whose cantModify property is true and for a stack being displayed as a **palette**, **modeless dialo**g, or **modal dialog**, regardless of which tool is currently chosen.

See Also: choose Command
BrowserDocumentFailed

Sent when a browser object has encountered an error when loading a urlSyntax:

```
browserDocumentFailed <instanceId>, <url>, <errorMessage>

```

Examples:

```
on browserDocumentFailed pInstanceId, pUrl, pErrorMessage
  answer "Failed to load URL" && quote \
        & pUrl & quote & return & "Error message: " && pErrorMessage
end browserDocumentFailed

```

The **browserDocumentFailed** message is sent to the current card of a
stack containing a browser object when the browser object has
encountered an error while loading a url and all its dependent
resources.

If the target is the main frame of the browser (e.g. the html page with
the "FRAMESET" declaration), then the **browserDocumentFailed** message is
sent. Otherwise the browserDocumentFailedFrame message is sent
instead.

For general information on using the browser library, see the
notes in the revBrowserOpen function reference.

Parameters:

* instanceId: The integer identifer of the browser object
* url: The url that has failed to load
* errorMessage: A message explaining why the url failed to load ]]\*Note:\* For generalinformation on using the browser library, see the notes in therevBrowserOpen function reference.

See also: revBrowserOpen function (function),browserDownloadRequest (message),browserDocumentFailedFrame message (message),
CurrentPage

Specifies the page being displayed in a multi-page EPS object.Syntax:

```
set the currentPage of <EPS> to <pageNumber>

```

Examples:

```
set the currentPage of EPS 6 to (1 + the currentPage of EPS 6)

```

Use the **currentPage** property to switch between the pages of an
EPS object.

This property is supported only on Unix systems with Display PostScript
installed.

See also: EPS (object),pageCount (property),
CommandNames

Returns a list of all built-in commands in LiveCode.Syntax:

```
commandNames()

```

Examples:

```
the commandNames

```

```
if field "Name" is among the lines of the commandNames then exit repeat

```

Use the **commandNames** function to check whether a particular
command already exists in LiveCode, to avoid using a reserved word
for your own custom handlers.

The **commandNames** function returns all the
commands that can be used in LiveCode, including synonyms.

See also: propertyNames (function),functionNames (function),
Apply a template

If you have a project and you need to uniform all items of your interface (colors, buttons,sizes, etc.), you may use the properties array.

First of all create the standard item (button or else) that will be used as a template. We will name it myTemplate, the let's copy the properties:

```
put the properties of button "myTemplate" into temp
set myButtonTemplate of this stack to temp

```

Now the custom property *myButtonTemplate* contains an array with all the properties of the button. We must delete the properties that we don't want to change in the existing buttons:

```
put the myButtonTemplate of this stack into temp
delete variable temp["rect"]
delete variable temp["loc"]
delete variable temp["script"]
set myButtonTemplate of this stack to temp

```

Finally let's create command to apply the properties:

```
on applyTemplate tButton
 put the myButtonTemplate of this stack into temp
 set the properties of button tButton
end applyTemplate

```

So now just use: applyTemplate "MyButtonName"
to get the button customized.
CommandName

Returns the command name used to start the execution of the applicationSyntax:

```
the commandName

```

Examples:

```
put the commandName

```

```
set the itemdelimiter to slash
put the last item of the commandName into field "log"

```

Returns the full command name that has been used to start the
executable.

The **commandName** is only available for standalone applications and
server scripts. It returns empty for mobile platforms and in the IDE.
BoundingBox

Specifies the value of the "%%BoundingBox" comment in an imported PostScript file.Syntax:

```
set the boundingBox of <EPSObject> to <left>, <top>, <width>, <height>

```

Examples:

```
set the boundingBox of EPS 1 to 100,100,500,600

```

Use the **boundingBox** property to control the appearance of an
EPS object.

The %%BoundingBox comment specifies the height, width, and placement on
the page of a PostScript file. Use the **boundingBox** property to find
out these properties of the PostScript code in an EPS object,
or to set them if the PostScript file did not do so.

The four components of the **boundingBox** property are equal to the
EPS object's xOffset, yOffset, xExtent, and yExtent
properties respectively.

This property is supported only on Unix systems with Display PostScript
installed.

See also: postScript (property),yOffset (property),yExtent (property),xExtent (property),prolog (property),xOffset (property),scaleIndependently (property),properties (property),
Close process

Closes a process that was started with the open process command.

Syntax:

```
close process processName

```

Examples:

```
close process "/bin/sh"

```

```
close process tOpenProgram

```

Use the close process command to tell a process to exit after you've finished using it.

The **processName** is the file path to the process you opened with the open process command.

On Unix and Windows systems, close process closes the process's standard input. The process then finishes processing whatever data remains, and exits when done. On Mac OS systems, the close process command has no effect; you can use the kill command instead to quit an application that LiveCode launched.

The process takes a short time to exit after you issue the close process command. Since two processes cannot have the same name, you need to wait for a process to exit before opening a new process with the same name. To reopen the same process after closing it, use the wait command to delay until the process has finished exiting:

```
 close process myProcess
 wait until myProcess is not among the lines of the openProcesses
 open process myProcess

```

If a process was opened with the access mode neither, it exits automatically when it finishes running, and does not need to be closed.

See Also: openProcesses function , kill Command, quit Command, read from process Command
BrowserBeforeNavigate

Sent before a browser navigates to a new url.Syntax:

```
XBrowser_BeforeNavigate <url>, <instanceId>

```

Examples:

```
on browserBeforeNavigate pInstanceId, pUrl
  put pUrl into field "Browser Address" \
        of group ("Browser" && pInstanceId) of me
end browserBeforeNavigate

```

The **browserBeforeNavigate** message is sent to a the current card of the
stack containing a browser object when the browser object is about to
navigate to a new url, ie a change in url in the target browser has been
requested but not yet actioned.

If the target is the main frame of the browser (e.g. the html page
containing the "FRAMESET" declaration), then the **browserBeforeNavigate**
message is sent, otherwise the browserBeforeNavigateFrame message is
sent instead

To prevent the navigatation from occurring, set the global variable
browserCancel to true.

For general information on using the browser library, see the
notes in the revBrowserOpen function reference.

Parameters:

* instanceId: instanceId : the integer identifier of a browser object ]]\*Note:\* Forgeneral information on using the browser library, see the notes in therevBrowserOpen function reference.
* url: url : The new url that the browser is about to navigate to

See also: revBrowserOpen function (function),browserNewUrlWindow (message),browserDownloadRequest (message),browserBeforeNavigateFrame (message),browserBeforeNavigateFrame message (message),
BitNot

Performs a "bitwise not" operation on the binary representation of a number as an unsigned, 32-bit integer

Syntax

```
bitNot number

```

*Number* is a number, or an expression that evaluates to a number, between zero and 4,294,967,295 (2^32 - 1).

Examples

```
put bitNot 1 -- returns 4294967294

```

```
bitNot 14 -- return 4294967281
-- because in binary: bitNot 1110 = 11111111111111111111111111110001
-- converted to decimal 4294967281

```

Use the **bitNot** operator to operate directly on the bits of a number.

To perform the **bitNot** operation, LiveCode first converts the operand to its binary equivalent (32 bits), a string of ones and zeroes long 32 chars. 1 is equivalent to true, and 0 is equivalent to false.

For each bit of the number, LiveCode performs a not operation. A bit is 0 if the corresponding bit of the number is 1, and 1 if the corresponding bit of the number is 0. Finally, the binary number thus created is converted back to decimal.

See also: bitAnd, not, bitOr, bitXor, baseConvert
Clear

Specifies one of the transfer mode that can be used
with the ink property.

Example:

```
set the ink of graphic "Overlay" to clear

```

Use the **clear** keyword to turn an object black.

The ink property determines how an object colors combine
with the colors of the pixels underneath the object to
determine how the object color is displayed.

When the **clear** mode is used, each component of the color underneath
the object (red, green, and blue) is lowered to be equal to
black.

The **clear** mode can be used only on Unix and Windows systems. On Mac OS systems, objects whose ink property is set to this mode appear as though their ink were set to reverse.

A list of all transfer modes can be found in the
transfer mode glossary page for easy reference.

See also: transfer mode (glossary), reverse (keyword), notSrcCopy (keyword), ink (property), pixels (property)