recursal/Fanatic-Fandom huggingface dataset:
Asin

Returns the arc sine of a number in radians.Syntax:

```
asin(<number>)

```

Examples:

```
the asin of .225

```

```
sin(asin(.5))

```

```
asin(pi/4 - sin(myAngle))

```

Use the **asin** function to find the arc sine of a number.

The arc sine of number is an angle whose sine is equal to number. In
other words, **asin** is an inverse of the sin function.

```
   function asinInDegrees theMagnitude
   return asin(theMagnitude) * 180 / pi

```

```
   end asinInDegrees

```

Parameters:

* number: A number between -1 and 1, or an expression that evaluates to such anumber.
* Returns: The **asin** function returns a number between -pi/2 and pi/2.
* The result: The result of the **asin** function is returned inradians. To get this result in degrees, use thefollowing custom function:.
Breakpoint

Pauses the handler and displays the debugger window.

Syntax:

```
breakpoint

```

Examples:

```
breakpoint

```

```
if x > 0 then breakpoint

```

Use the breakpoint command to aid in debugging a handler. It is especially useful for checking to see whether values are staying in the correct range as the handler executes.

The breakpoint command has no effect unless the stack is running in the LiveCode development environment.
AdLoadFailed

Sent when there is an error loading an ad.Syntax:

```
adLoadFailed <adName>

```

Examples:

```
on adLoadFailed pAdName
   handleAdLoadFailed
end adLoadFailed

```

Handle the **adLoadFailed** message if you want to handle errors when
loading ads.

The **adLoadFailed** messge is sent to the object that created the ad when
there is an error loading the ad.

Parameters:

* adName: The name of ad that failed to load

See also: mobileAdSetVisible (command),mobileAdSetTopLeft (command),mobileAdRegister (command),mobileAdGetTopLeft (function),mobileAdGetVisible (function),adLoaded (message),adClicked (message),
AllowInterrupts

Specifies whether the user can halt a handler with a key combination.Syntax:

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

```

Examples:

```
set the allowInterrupts to false

```

```
set the allowInterrupts to the hilite of button 1

```

Use the allowInterrrupts property to prevent users from interrupting
handlers that must run to completion. For example, some
handlers that change data cannot be interrupted safely,
because they will leave data in an inconsistent state if interrupted.

If the **allowInterrupts** property is set to true, the user can halt
handlers by typing Control-period or Control-break (on
Windows or Unix) or Command-period (on Mac OS). Setting this
property to false disables this capability and ensures that the user
cannot interrupt a handler.

If the **allowInterrupts** property is set to false and the user
attempts to interrupt the handler, the interrupt function
returns true. To provide a clean exit, check this function
and do any needed cleanup tasks before exiting the handler.

Setting the **allowInterrupts** property to false is functionally
equivalent to setting the cantAbort property to true for each open
stack.

* Warning:\* Before setting the **allowInterrupts** property to false,

make sure all handlers that may be affected have been
thoroughly tested. If **allowInterrupts** is set to false, you cannot
interrupt a runaway handler with the standard key combination.

See also: interrupt (function),stack (object),cantAbort (property),
Blur

Blur the imageData of an image by a given radius.

Syntax

```
blur pRadius, pOldImageDataVariable, pWidth, pHeight, pNewImageDataVariable, [pNewAlphaDataVariable, pFadeOut, pLeftFeather, pTopFeather, pRightFeather, pBottomFeather]

```

Parameters:

* pRadius: blur radius
* pOldImageDataVariable: name of variable containing image data
* pWidth: image width
* pHeight: image height
* pNewImageDataVariable: name of variable to output new image data to
* pNewAlphaDataVariable: optional name of variable to output alpha data to
* pFadeOut: number of pixels to alpha fade out. Default is 5.
* pLeftFeather: (boolean) feather the left side. If not set it will be feathered
* pTopFeather: (boolean) feather the top side. If not set it will be feathered
* pRightFeather: (boolean) feather the right side. If not set it will be feathered
* pBottomFeather: (boolean) feather the bottom side. If not set it will be feathered

Examples

 Datei:Blur.png

```
put the imageData of image 1 into theOriginalImageData
blur 5,"theOriginalImageData",the width of image 1,the height of image 1,"theNewImageData"
set the imageData of image 2 to theNewImageData

```

In case of errors, the Return will contain an error message.
Closing all substacks

If you need to close all substacks of a main window (stack) this is the code you need:

```
On closeStack
   put the substacks of this stack into temp
   repeat for each line tempSt in temp
      close stack tempSt
   end repeat
end closeStack

```

This tip is very useful when you hame many open window, this way you closing the main window, you close all others. The handler 'on closeStack' is sent to the current CARD when the STACK closes. Put this handler in the main CARD, not the main STACK. The main stack will receive this handler every time a sub stack is closed. That's not what you want.
Lilace

**Lilace** is a dual Grass/Water type Pokemon.

It evolves from Adaptavine when given a Water Stone.

## Biology

### Physiology

It's main body is entirely brown in coloration with a similar structure to trees. The green skirt around their waist is made from collected moss. The flowers upon their heads act as a sort of sensor, allowing them to detect water.

### Special Abilities

Lilace use their charm to keep themselves safe. They hover near water sources to avoid drying out.

### Behavior

Lilace are very gentle Pokemon, often seen dancing and singing in groups. These gentle Pokemon are great for new trainers or children.

### Habitat

Lilace inhabits wet areas, either by marshes or ponds. However, they cannot live by salt water, such as oceans.

### Stats

 * Minimum stats are calculated with 0 EVs, IVs of 0, and a hindering nature, if applicable.

* Maximum stats are calculated with 252 EVs, IVs of 31, and a helpful nature, if applicable.

### Learnset

#### By Leveling Up

 * A level of "Start" indicates a move that will be known by a Lilace obtained at level 1
* **Bold** indicates a move that gets STAB when used by Lilace
* *Italic* indicates a move that gets STAB only when used by an evolution of Lilace

#### By TM/HM

 * **Bold** indicates a move that gets STAB when used by Lilace
* *Italic* indicates a move that gets STAB only when used by an evolution of Lilace

#### By Breeding

 * Moves marked with an asterisk (\*) must be chain bred onto Lilace
* **Bold** indicates a move that gets STAB when used by Lilace
* *Italic* indicates a move that gets STAB only when used by an evolution of Lilace

#### By Move Tutor

 * **Bold** indicates a move that gets STAB when used by Lilace
* *Italic* indicates a move that gets STAB only when used by an evolution of Lilace

## Trivia

#### **Name origin**

Lilace's name comes from the words *Lily* and *Grace*.
CloseBackground

Sent to the current card when the user is leaving a card that has a group to go to one that doesn't have the group.Syntax:

```
closeBackground <backgroundID>

```

Examples:

```
on closeBackground theClosedGroupID
-- save when exiting a particular background:
  if theClosedGroupID is 234 then saveNotesToFile
  pass closeBackground
end closeBackground

```

Handle the **closeBackground** message if you want to perform cleanup or
do other tasks when the user leaves a background.

A background is closed when the user either goes to a card that doesn't
have the group on it, or closes the stack.

The **closeBackground** message is sent only if the
group's backgroundBehavior property is set to
true. If the group's backgroundBehavior is false, no
**closeBackground** message is sent, even if the group(command) is
placed on multiple cards.

A separate **closeBackground** message is sent for each background
that is being closed.

Parameters:

* backgroundID: The ID number of the background being exited.

See also: preOpenBackground (message),closeStack (message),shutdown (message),openBackground (message),closeCard (message),**closeBackground** (message),card (object),backgroundBehavior (property),
BrushColor

Specifies the color used to paint and to fill shapes in an image.Syntax:

```
set the brushColor to {<colorName> | <RGBColor>}

```

Examples:

```
set the brushColor to "blue"

```

```
set the brushColor to "#FFCC99"

```

```
set the brushColor to 127,127,255

```

Use the **brushColor** property to change the color used with the
bucket, spray can, and brush paint tools, and for the
interior of filled shapes.

If the brushPattern has been set since the last time the **brushColor**
was set, the pattern is used instead of the color specified by
**brushColor**. In other words, the last-set property takes priority.

See also: backgroundColor (property),filled (property),lineSize (property),penColor (property),brushPattern (property),
Close

Use the **close** command to close a stack without user intervention.

Examples:

```
close stack "Zoom Window"

```

```
close this stack

```

The stack is any open stack.

The **close** command closes the stack window immediately, but it does not necessarily remove the stack from memory. A stack that is closed but in memory still takes up space in RAM and its objects are still accessible to scripts.

If the stack's destroyStack property is set to false, or there are other stacks in the same file that are still open, closing the stack does not purge the stack from memory.

If the handler that closes the stack is in the script of the stack (or in the script of an object in the stack) and the stack's destroyStack property is true, the stack window is closed immediately, but the stack is not removed from memory until after the handler completes.
Callbacks

Specifies messages to be sent during playback of a movie.Syntax:

```
set the callbacks of <player> to <messageList>

```

Examples:

```
set the callbacks of player "Mist" to myCallbacks

```

```
set the callbacks of player "Do It!" to "2500,soundNotes"

```

Use the **callbacks** property to send callback messages to a
player(keyword) at certain points in the movie. This
synchronizes the messages with the playback.

When an interval number is reached during playback, LiveCode sends the
corresponding message to the player.

The number of intervals per second is specified by the player's
timeScale property. The total number of intervals is given in the
player's duration property.

See also: currentTimeChanged (message),player (object),timeScale (property),duration (property),currentTime (property),playRate (property),
Answer effect

The **answer effect** command displays a dialog box where the user can select a visual effect and (for some effects) set parameters such as speed and direction. (This dialog box is displayed by QuickTime, not by LiveCode.)

**OS supported**: mac,windows

Example:

```
answer effect

```

 Datei:LCAnswerEffect.jpg

The variable it contains an encoded description of the visual effect the user chooses. You can either use the encoded description immediately, or store it (for example, in a variable or in a custom property) for later use. To display the effect, use the encoded description with the visual effect command, with the unlock screen command, or with the hide with visual effect or show with visual effect form of the hide or show command.

If the user cancels the dialog, the it variable is set to empty, and the result returns "Cancel".

References: dontUseQTEffects (property), dontUseQT (property), answer (command), visual effect (command), answer record (command)
CodeunitOffset

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

```
codeunitOffset(<stringToFind>, <stringToSearch> [, <codeunitsToSkip>])

```

Examples:

```
condeunitOffset(tCodeUnit, "This is the string to search")

```

Use the **codeunitOffset** function to find which sentence a string occurs
in.

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

If you specify how manycodeunitsToSkip, the **codeunitOffset** 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.

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

See also: tokenOffset (function),sentenceOffset (function),byteOffset (function),truewordOffset (function),codepointOffset (function),offset (function),wholeMatches (property),
Arrow

Equivalent to the number 1.Syntax:

```
arrow

```

Examples:

```
set the cursor to arrow

```

Use the **arrow** constant to set the cursor(property) to an arrow
shape.

The following two statements are equivalent:

```
   set the cursor to arrow
   set the cursor to 1

```

However, the first is easier to read and understand in LiveCode.

```
If you use the **arrow** cursor(property) or other

```

standard cursors in your application, you must
include the cursors when you create your [[standalone
application|standalone]]. Make sure the "Cursors" option on the
Inclusions section on the General screen of the [[Standalone
Application Settings]] window is checked.

See also: cursor (property),
BrowserDocumentCompleteFrame

Sent when a browser object finishes loading a url in a frameSyntax:

```
XBrowser_DocumentCompleteFrame <url>, <instanceId>

```

Examples:

```
on browserDocumentCompleteFrame
  set the enabled of button "Go" to true
end browserDocumentCompleteFrame

```

The **browserDocumentCompleteFrame** message is sent to the current card
of a stack containing a browser object when the browser object has
finished loading a url and all its dependent resources in a frame.

If the target is the main frame of the browser then the
browserDocumentComplete message is sent instead.

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

Parameters:

* instanceId: The integer identifier of the browser object ]]\*Note:\* For generalinformation on using the browser library, see the notes in therevBrowserOpen function reference.
* url: The url that finished loading in a frame

See also: browserDownloadRequest (message),browserDocumentComplete message (message),browserNavigateCompleteFrame (message),
Abbreviated

Das abgekürzte Wort gibt ein Format an, das normalerweise für die Funktionen date und time, den Befehl convert sowie die Eigenschaften name, ID und Eigentümer verwendet wird.

Beispiele:

```
the abbreviated date

```

```
put (the abbreviated name of this card) & return after cardsList

```

Verwenden Sie das abgekürzte Schlüsselwort, um ein Datum, eine Uhrzeit, einen Namen oder eine ID mit einer moderaten Menge an Details zu erhalten.Im Allgemeinen ist eine abgekürzte Form länger als die kurze Form, aber kürzer als die lange Form.

Wenn die useSystemDate-Eigenschaft auf false festgelegt ist, sieht ein abgekürztes Datum folgendermaßen aus: Do, 27. Januar 2000

Wenn das useSystemDate wahr ist, wird das abgekürzte Datum gemäß den Systemeinstellungen formatiert.

Wenn die useSystemDate-Eigenschaft auf false festgelegt ist, sieht eine abgekürzte Zeit wie folgt aus: 11:22 Uhr

Siehe auch: card, short, long
BeepPitch

Sets the frequency of the sound played by the beep command.Syntax:

```
set the beepPitch to <pitchFrequency>

```

Examples:

```
set the beepPitch to 220 -- A below middle C

```

```
set the beepPitch to -1 -- restores default

```

Use the **beepPitch** property to make the beep sound higher or lower.

The pitchFrequency is the frequency in Hz (cycles per second). A value
of 440 is A above middle C. Halving the frequency lowers the pitch one
octave; doubling the frequency raises it one octave.

Set the **beepPitch** to -1 to use the default system setting.

The **beepPitch** has no effect and does not report a meaningful value on
Mac OS or Windows systems, and on some Unix systems
which don't allow changing the beep pitch.
Characters

It's different form the singular form char.

It's used with the sort command, number function, and is among and is not among operators to designate each character as a separate portion of a string.
Also used with the find command to search for a string of characters.

Synonyms: chars

Examples:

```
get the number of chars of field "Entry"

```

```
if "A" is among the characters of the bloodTypes of me then beep

```

```
find characters "run" -- finds "run", "grunt", or "running"

```

Use the **characters** keyword to sort or select individual characters.

Use the **characters** keyword to know the number of characters of a text.

A character is a single letter, digit, punctuation mark, or control character. Spaces, tabs, and returns are all characters.

When used with the find command, the characters keyword finds cards that contain the specified string of characters, wherever that string appears in a word.

See also: is among, is not among, whole, string, character, lines, word, items
ColorDialogColors

Provides access to the custom colors the user sets in the color dialog.Syntax:

```
set the colorDialogColors to listOfColors

```

Examples:

```
set the colorDialogColors to "100,50,0" & return & red

```

```
put the colorDialogColors into theUsersColorsToSave

```

On Windows systems the user can define custom colors in the color
dialog. The **colorDialogColors** provides a way to access the colors the
user created in the dialog allowing a program to save them for the next
session.

The colorDialogColors is a list of up to 16 colors. There may be empty
lines in the list representing an unset color.
Android: Native controls

Livecode doesn't support cut, copy and paste on android, Livecode supports the Android native controls those support cut, copy and paste.

If you want to cut, copy and paste a text and export it to another program, you have to use an android native control, otherwise you can create your cut, copy and paste buttons those will work only in your program.

What are Android native controls?

They are standard Android controls among the following:

* browser - Native iOS or Android web browser control
* scroller - Native iOS or Android scroller control (see mobile scroller)
* player - Native iOS or Android player control
* input - Native iOS  or Android text input control
* multiline - Native iOS or Android multi-line text control

The must be created on the fly on opening a card or later using the **mobileControlCreate** command. It's wise to set the controls position after creating them. For example:

```
mobileControlCreate "input", "myFirstInputText"
set the rect of "myFirstInputText" to 0,0,60,30

```

It's very important to delete them when you don't need them. The native controls float above the screen, they are not part of your stack, so they remain on the screen even if you change card or stack. So a very used code is:

```
on CloseCard
 mobileControlDelete "myFirstInputText"
end CloseCard

```
And

mehrere Operanten oder Werte prüfen bzw. auswerten

```
<value1> and <value2>

```

Beispiele:

```
(1 > 0) and (1 = 0)

```

```
(1 > 0) and (1 = 1) and (0 = 0)

```

```
if the shiftKey is down and myCount > 1 then exit mouseUp

```

Verwenden Sie den Operator **and**, um zwei oder mehr logische Elemente oder Werte zu kombinieren .

Wenn Wert 1 oder Wert 2 falsch ist oder wenn Wert 1 und Wert 2 falsch sind, dann wird die Operation nicht ausgeführt. Wenn beide Wert 1 und Wert 2 wahr sind, dann wird die Operation ausgeführt . Sie können die logischen Operatoren und, oder und nicht in einer Anweisung kombinieren.

LiveCode verwendet eine sogenannte "Kurzschlussauswertung" für logische Operatoren (Glossar).

Dies bedeutet, dass Wert1 zuerst ausgewertet wird. Wenn Wert1 falsch ist, ist der Ausdruck Wert1 und Wert2 falsch, unabhängig davon, ob Wert2 wahr oder falsch ist (weil der Ausdruck ausgewertet (Glossar) wird zu falsch, es sei denn, beide Werte sind wahr). In diesem Fall bewertet LiveCode Wert2 nicht, da dies nicht notwendig ist, um den Wert (Funktion) von Wert1 zu bestimmen oder Wert2.

Zum Beispiel, den Ausdruck wie in (2) normal zu bewerten, verursacht einen Ausführungsfehler (weil 2 kein zulässiges Argument für die Arcus-Sinus-Funktion), bewertet aber den Ausdruck (1 = 0) und (asin (2) = 1) verursacht keinen Fehler: da (1 = 0) immer falsch ist, die ganze Aussage(Anweisung) ist immer falsch und LiveCode versucht es nie die asin-Funktion aus zuwerten.

Parameter:

Wert1 (bool): Der Wert1 und der Wert2 sind wahr oder falsch oder Ausdrücke, die als wahr oder falsch ausgewertet werden.

Wert2:

Beschreibung: Verwenden Sie den Operator und, um zwei oder mehr logische Werte zu kombinieren.

Siehe auch: bitAnd (Operator), nicht (Operator) oder (Operator),
Codepoints

Used with the number codepoints as a separate portion of a string.

Examples

```
put the number of codepoints of tString

```

Use the codepoints keyword to count the number of codepoints making up a string.

A codepoint refers to the integer identifiers associated with Unicode characters. A single character is composed of one or more codepoints.
Constant

Declares one or more labels to assign to constant values.

Syntax:

```
constant constantsList

```

Examples:

```
constant defaultName="Jones"

```

```
constant entryA="EF9993333WX786",entryB="GJ773281YX342"

```

Use the constant command to assign an unchanging value to a keyword.

The constantsList consists of one or more name=value pairs, separated by commas:

* The name is any string.
* The value is any literal string.

Constants can be numbers, characters, logical values, or strings.

A constant cannot be defined as an array, only as a single value.

Note: Choose easy-to-understand names for constants to improve the readability of your code. Use constants as substitutes for long or convoluted strings.

If you place the constant statement in a handler, you can use the constant anywhere in the handler. If you place the constant statement in a script outside any handler, you can use the constant anywhere in the handlers of that script.

Once you have defined a constant, you cannot redefine it in the same handler; doing so causes an execution error.

You can use the constant command to redefine LiveCode's built-in constants within a script or handler, but doing so makes your code harder to read and maintain. To find out whether a word is already defined as a built-in constant, use the constantNames function.

To see a list of built-in constants, open the Documentation window, click LiveCode Dictionary, and choose "Constants" from the menu at the top of the window.

See Also: local Command, constantNames Function
AcceleratorModifiers

Specifies one or more modifier keys that must be pressed with the button shortcut key specified by the acceleratorKey property.

Syntax:

```
set the acceleratorModifiers of <button> to {empty | <keys>}

```

Examples:

```
set the acceleratorModifiers of button 1 to shift

```

```
set the accelMods of button "Speak" to control,alt

```

```
set the accelMods of button it to command,shift

```

Use the **acceleratorModifiers** property, along with the
acceleratorKey property, to specify a shortcut key combination for
a button.

The following statements set up a shortcut for a button called
"Calculate" :

```
   set the acceleratorKey of button "Calculate" to "C"
   set the acceleratorModifiers of button "Calculate" to alt,shift

```

When the user presses Alt-Shift-C (on Unix or Window systems) or
Option-Shift-C (on Mac OS systems), the button's mouseUp handler is
executed.

On Mac OS systems, the Control key and Command key are equivalent when used with this property. The
option Key is likewise also equivalent to the Alt key.

See also: acceleratorKey (property), acceleratorText (property),
Catch

Used within a try control structure to handle errors.

Syntax:

```
catch errorParameter

```

Examples:

```
catch myError

```

Use the catch keyword to handle errors returned by a handler with the throw control structure.

When one of the statements in a try control structure causes an execution error, the *errorParameter* is set to the error string, and the statements after the catch keyword are executed. If LiveCode generates the error (for example, an execution error from a built-in command), the *errorParameter* is a positive number. An error string can also be returned from a handler by the throw keyword.

The statements after the catch keyword are only executed if there is an error. These statements can refer to the value of the *errorParameter*. For example, the catch section might contain an if or switch control structure, which does different things depending on the value of the *errorParameter*.

See Also: throw Control Structure, result Function
App identifier

The app identifier is the most important value in Android standalone application setting:

Android identifier
It's used by Android to understand if an app is already installed. This way apps may have the same name, but they must have different identifiers.

Every time you try to install an app with the same identifier of an app already installed, the new app is considered as an upgrade and overwrite the old one.
AutoTab

Specifies whether pressing Return (or Enter) moves to the next field.

Syntax:

```
set the autoTab of <field> to {true | false}

```

Examples:

```
set the autoTab of field "First Name" to true

```

```
set the autoTab of field myField to false

```

```
if the autoTab of the target then go next card

```

Use the **autoTab** property to make data entry easier for single-line
fields.

If the **autoTab** property of a field is **false**, pressing the
Return key moves the insertion point to the next line of the
field.

If the **autoTab** of a field is **true**, and the insertion
point is already at the last visible line of the field, then
pressing Return advances to the next field on the card.

See also: tabKey (message), field (object), tabStops (property),
Caret

Raises a number to a power.Syntax:

```
<number> ^ <exponent>

```

Examples:

```
7^3

```

```
myNumber^(1/2)

```

```
put 2^bitDepth into numberOfColors

```

Use the ^ operator to raise a number to a power, or to find a root
of a number.

If the exponent is a fraction, with 1 as the numerator, the ^
operator finds the specified root of the number. For example, if the
exponent is 1/2, the operation yields the square root of number;
if the exponent is 1/4, the operation yields the 4th root of the
number, and so on.

Parameters:

* number: The number and exponent are numbers, or expressions that evaluate tonumbers.
* exponent:
* The result:If the exponent is zero, the result of this operator is 1,regardless of what the number is.
CharSet

Indicates whether the Macintosh or ISO 8859 character set was used to enter a stack's text.Syntax:

```
get the charSet of <stack>

```

Examples:

```
if the charSet of this stack is "MacOS" then put "Mac" into thePlatform

```

Use the **charSet** property to determine which platform the stack
was last saved on.

If the **charSet** is "MacOS", the stack was last saved on a Mac
OS system; if the **charSet** is "ISO", the stack was last saved on a
Unix or Windows system.

When you open a stack on a Mac OS system that was last saved on a Unix
or Windows system (or vice versa), the text in the stack is translated
automatically to the appropriate character set. The process can take a
perceptible amount of time, so it's a good idea to save a stack destined
for a particular platform on that platform before delivering it to
users.

The **charSet** property is changed for all stacks in the same [[stack
file]] when the stack file is saved, so it is not possible for two
stacks in the same file to have a different **charSet**.

See also: stack (object),
Cancel

Removes a message that was queued with the send command and is waiting to be sent.

Syntax:

```
cancel messageQueueID

```

Examples:

```
cancel 2298

```

```
cancel item 1 of last line of the pendingMessages

```

Use the cancel command to get rid of messages that were set up but are no longer required.

The **messageQueueID** is the ID number of the message.

The ID number of the message is returned by the send command that sent the message. This number is also the first item of the line corresponding to the message in the pendingMessages function.

All pending messages are automatically canceled when the application quits.

It is common to need to cancel a number of messages when leaving a card or stack, if the messages only pertain to that card or stack. For example, you might have queued a number of messages that create an animated display on the current card, and need to cancel them when the user goes to another card. The best solution in a case like this is to place each message ID number in a global variable or custom property at the time the message is sent. Then you can cancel all those messages in a repeat loop:

```
global myPendingMessages -- you've stored the message IDs here

on closeCard
   repeat for each line thisMessageID in myPendingMessages
      cancel thisMessageID
   end repeat
end closeCard

```

See Also: pendingMessages Function, flushEvents Function, send Command
AcceptDrop

Specifies whether a drop will be accepted during a drag and drop. DeprecatedSyntax:

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

```

Examples:

```
set the acceptDrop to true

```

```
if word 1 of the target is "button" then set the acceptDrop to false

```

The **acceptDrop** property is deprecated as of version 2.9. Setting the
**acceptDrop** to true is equivalent to setting the dragAction to "copy".

In previous versions, setting the **acceptDrop** property in an
object's dragEnter handler allowed it to accept drops.

See also: dragEnter (message),dragEnd (message),
Compress

Returns a gzip-compressed string.Syntax:

```
compress(<data>)

```

Examples:

```
compress(URL "file:image.pict")

```

```
put compress(field "Outgoing") into URL "binfile:data.gz"

```

Use the **compress** function to **compress** data to a smaller size for
transmission.

The **compress** function is the inverse of the decompress
function.

The compressed result is typically about half to a third the size of the
original data, although different results may be obtained depending on
the amount of data and whether it has already been compressed.

```
The value returned by the **compress** function

```

consists of binary data and may include control
characters, so displaying it on screen or trying to edit it may
produce unexpected results. If you use a URL to place the
returned data in a file, it's important to use the
binfile URL scheme; using the file URL scheme will corrupt
binary data.

For technical information about the format used by the **compress**
function, see [RFC 1952](https://tools.ietf.org/html/rfc1952). The
**compress** function uses the zlib compression library.

Parameters:

* data (string): A string of binary data of any length.
* Returns: The **compress** function returns a string of binary data.

See also: decompress (function),

### Comments

The compress function returns a gzip compressed string of binary data structured in the following format:

1F 8B (Hexadecimal) or 31 139 (ASCII Numbers of both characters)

A version number (always 08), that specify compression compression method used in the file.
In this case, LiveCode write the byte 08.
This single character correspond to DEFLATE compression.

Additional information like timestamp, optional extra headers, (as the original file name) are not included and in their place. Livecode writes six null bytes: 00 00 00 00 00 00

Last char of 10 byte header correspond to the type of file system on which compression took place.
LiveCode writes the single byte 03, that correspond to Unix.

For example: First Ten characters of a gzipped binary string (Hexadecimal):

```
1F 8B 08 00 00 00 00 00 00 03

```

(ASCII Characters numbers)

```
31 139 08 00 00 00 00 00 00 03

```

2) a body, containing DEFLATE-compressed data

3) Last 8 characters contains a CRC-32 checksum and length of the original uncompressed data:
For example: Last 8 characters of gzipped binary string (Hexadecimal)

```
8C 72 E5 F5 1A 34 02 00

```

Last four bytes: 1A 34 02 00 = 0002341A = 144,410 represent the file length (142 k)
Bytes 8C 72 E5 F5 correspond to CRC-32 of this file: F5E5728C

If you need to use only the binary string of DEFLATE-compressed data, without the gzip header and footer, use a script like this:

```
put compress(myData) into myGzippedData
put char 11 to -9 of myGzippedData into myDeflateData

```

or the short version:

```

put char 11 to -9 of compress(myData) into myDeflateData

```

This binary string of DEFLATE-compressed data is useful if you need to write a Flate Encoded stream in a PDF file like this:

```
put "xÚ" & char 11 to -9 of myGzippedData into myFlateEncodedStream

```
Android: standalone application settings

### Required and used

Here you declare what hardware or software features are used by the application.
The purpose of a *uses-feature* declaration is to inform any external entity of the set of hardware and software features on which your application depends. The element offers a required attribute that lets you specify whether your application requires and cannot function without the declared feature, or whether it prefers to have the feature but can function without it.

Because feature support can vary across Android devices, the *uses-feature* element serves an important role in letting an application describe the device-variable features that it uses

Datei:Reuired.png
At

Wird mit den Befehlen zum click, play, und prepare verwendet, um einen Punkt auf dem Bildschirm anzugeben. Wird auch mit den Befehlen Lesen von Datei, Lesen von Prozess und Schreiben in Datei verwendet, um anzugeben, wo mit dem Lesen oder Schreiben begonnen werden soll.

Beispiele:

```
click at 140,200

```

```
play videoClip "Movie" at the clickLoc

```

```
read from file myFile at numOfChars until end

```

Verwenden Sie das Schlüsselwort at, um anzugeben, wo Sie klicken oder wo Sie mit dem Lesen oder Schreiben beginnen möchten.

Ein Punkt besteht aus zwei Zahlen: einem vertikalen und horizontalen Abstand von der oberen linken Ecke des aktuellen Stapels, getrennt durch ein Komma.
3rd party library

Here you can put links to third party libraries or tools:

* rGrid a spreadsheet like Excel or Calc
* Curry K Software Word and Excel file importer
* Installer Maker Plugin Create software installers
* http://www.sonsothunder.com/ many add ons for Livecode
* https://github.com/derbrill/libdate date and time library for livecode
* https://github.com/trozware/rev\_stacks may useful stacks, also POP and SMTP libraries
* http://forums.livecode.com/viewtopic.php?f=9&t=26740 free version control system, with also DIFF
* http://udimac.web.fc2.com/stack/tool.html many free stacks
* http://kenjikojima.com/livecode/LCMIDI/ updated LC7 file with that contains makeSMF MIDI file creation lib (from the link above).
* http://livecodeaddons.com/wordlib/ libraries to import and export office documents (Word, Excel, OpenOffice, LibreOffice)
* http://marksmith.on-rev.com/revstuff/ Mark Smith libraries
* https://github.com/PaulMcClernan/id3lib ID3Lib updated
* https://sunny-tdz.com/ MIDI library, Regular Expression library, Perl-Livecode library, PDF library, image library, text to speech on Apple for livecode, and much more...
* tsNet a internet library that speed up livecode, only in indy e business version
* http://www.aslugontheroad.com/ many plugins: excel library, datagrid helper, google calendar library, ...
* http://www.tcal.it/ time tracking system
* https://www.trevix.it/software/piccolo\_installer/ create installers for your programs
Clipboard

Returns the type of information on the **clipboard**.Syntax:

```
clipboard()

```

Examples:

```
if the clipboard is "text" then paste

```

```
if the clipboard is empty then answer "Nothing to paste!"

```

Check the **clipboard** function before using the paste command, to
ensure that you're pasting the right kind of data.

The value of the **clipboard** function is a string describing what
kind of data is on the **clipboard**. LiveCode can paste text that has
been cut or copied, or picture content from an image, one or more
objects that have been cut or copied.

If the clipboard has nothing in it, or the contents of the clipboard is
a type of data that is not text, image data, or objects, the **clipboard**
function returns empty.

* Tip:\* To get or change the data on the **clipboard**, use the

clipboardData property.

Changes:
The ability to sense image data on the clipboard was added in version
2.0.

See also: lock clipboard (command),unlock clipboard (command),function (control structure),**clipboard** (function),clipboardData (property),rawClipboardData (property),fullClipboardData (property),
CouchDB

Livecode works well with CouchDB without any plugin. Remember that you can verify all on the admin panel at http://127.0.0.1:5984/\_utils/

Let's see some examples:

## Test connection

Try:

```
put URL "http://127.0.0.1:5984/"

```

You get:

```
{"couchdb":"Welcome","uuid":"c049bbaa8f32635820f367ec7e77e4b6","version":"1.5.0","vendor":{"version":"14.04","name":"Ubuntu"}}

```

## Show all databases

Try:

```
put URL "http://127.0.0.1:5984/\_all\_dbs"

```

You get:

```
["_replicator","_users"]

```

## Database creation

Try:

```
PUT empty into URL http://127.0.0.1:5984/mynewdatabase"

```

## Document creation

Try:

```
put "Mary" into temp[FirstName]
put "Gold" into temp[Surname]
put "noise" into temp[Likes][1]
put "animals" into temp[Likes][2]
put "chocolate" into temp[Likes][3]
put jsonExport(temp) into temp
PUT temp into url "http://127.0.0.1:5984/mynewdatabase/mynewdocument1"

```

## Listing all documents

Try **\_all\_docs** parameter:

```
PUT  url "http://127.0.0.1:5984/mynewdatabase/\_all\_docs"

```

You get:

```
{"total_rows":1,"offset":0,"rows":[
{"id":"mynewdocument1","key":"mynewdocument1","value":{"rev":"1-b044c45141a2acf86c2e812081b2ed56"}}
]}

```

## Get a document

Try:

```
PUT  url "http://127.0.0.1:5984/mynewdatabase/mynewdocument1"

```

You get:

```
{"_id":"mynewdocument1","_rev":"1-b044c45141a2acf86c2e812081b2ed56","FirstName":"Mary","Surname":"Gold","Likes":{"3":"chocolate","1":"noise","2":"animals"}}

```

## Delete a document

Try:

```
delete URL "http://127.0.0.1:5984/mynewdatabase/mynewdocument1"

```

## User and password

If you need to authenticate with user and password just put them in your request:

```
put URL "http://user:password@127.0.0.1:5984/mydatabase"

```
CommandKeyDown

Sent when a Command key combination (Control-key on Unix or Windows) is pressed.Syntax:

```
commandKeyDown <keyName>

```

Examples:

```
on commandKeyDown theKey -- make Command-5 go back
  if theKey is "5" then go recent card else pass commandKeyDown
end commandKeyDown

```

Handle the **commandKeyDown** message if you want to provide Command-key
or Control-key shortcuts (other than those provided in menus and
button accelerators).

The **commandKeyDown** message is sent to the active (focused) control, or to the current card if no control is
focused.

If the Command key is pressed along with the Return, Tab, Backspace,
Delete, or Enter key, with an arrow key, or with a function key, no
**commandKeyDown** message is sent. Instead, the returnKey, tabKey,
backspaceKey, deleteKey, enterKey, arrowKey or functionKey
message is sent. To trap a combination such as Command-Return or
Control-Return, use a returnKey handler and check the commandKey
function inside the handler.

On Mac OS systems, the **commandKeyDown** message is sent when the user presses a key while
holding down the Command key. On Unix or Windows
systems, the **commandKeyDown** message is sent when the user presses
the Control key, whether or not another key is pressed at the same
time.

Parameters:

* keyName: The actual character of the pressed key.

See also: controlKey (function), menus (function), functionKey (message), enterKey (message), arrowKey (message), deleteKey (message), tabKey (message), backspaceKey (message), controlKeyDown (message), optionKeyDown (message), returnKey (message), button (object),
BitXor

Performs a "bitwise exclusive or" on the binary representation of two numbers.Syntax:

```
<number1> bitXOr <number2>

```

Examples:

```
1 bitXOr 0 -- evaluates to 1

```

```
6 bitXOr 4 -- in binary: 110 bitXOr 100; evaluates to 010; converts to 2

```

Use the bitXOr operator to operate directly on the bits of two
numbers.

To perform the bitXOr operation, LiveCode first converts both
operands to their binary equivalent, a string of ones and
zeroes. 1 is equivalent to true, and 0 is equivalent to false.

For each bit of number1, LiveCode performs an exclusive or
operation with the corresponding bit of number2 to produce a
result. A bit is 0 if the corresponding bits of number1 and
number2 are both 0 or both 1. Otherwise, the bit is 1.

Finally, the binary number thus created is converted back to decimal.

Parameters:

* number1: The number1 and number2 are numbers, or expressions that evaluate tonumbers.
* number2:
* Description:Use the bitXOr operator to operate directly on the bits of twonumbers.

See also: or (operator),bitNot (operator),
Comments

Ein Kommentar ist Teil des erstellten Programms, der allerdings von der sogenannten LiveCode-Engine ignoriert wird.

Kommentare werden hauptsächlich dazu verwendet, um Passagen des Programms zu erläutern. Im Folgenden ist ein Beispiel angeführt:

```
/*Dies ist ein Beispiel für Kommentare:
Die nächsten Zeilen dienen zum Versenden von E-Mails.
Attachments machen noch Probleme. Kannst Du bei der Lösung helfen?
Mario (2013/7/17) */

```

Kommentare können auf unterschiedliche Weisen eingefügt werden. Eine Variante ist die Raute (#). Alles was in der Zeile hinter (also rechts) der Raute angeführt wird, stellt den Kommentar dar - wird also von der LC-Engine ignoriert. Hier wieder ein Beispiel:

```
# Hallo ich bin ein Kommentar

```

```
put 5 into myVar #und ich auch

```

Statt der Raute kann man auch zwei Bindestriche (--) notieren, um einen einzeiligen Kommentar einzuleiten:

```
-- Hallo ich bin ein Kommentar

```

```
put 5 into myVar -- und ich auch

```

Für mehrzeilige Kommentare gibt es eine andere effizientere Variante. Alles was zwischen Schrägstrich-Stern (/\*) und Stern-Schrägstrich (\*/) notiert wird, stellt den Kommentar dar. Anschließend wieder ein Beispiel für diese Art des Kommentars:

```
/* Hallo ich bin ein sehr langer Kommentar.
Ich möchte nicht an den Beginn jeder Zeile eine Raute # machen,
daher habe ich mich für diese Art des Kommentars entschieden.
Kommentare können vor, nach oder untere dem Programmcode eingefügt werden - aber nicht in der Mitte des Programmcodes!!*/

```
BrowserNavigateCompleteFrame

Sent when a browser object has finished navigating to a url in a frame.Syntax:

```
XBrowser_NavigateCompleteFrame <url>, <instanceId>

```

Examples:

```
on browserNavigateCompleteFrame pInstanceId, pUrl
  set the disabled of button "Stop" to true
end browserNavigateCompleteFrame

```

The browserNavigateCompleteFrame message is sent to the current card of
stack containing a browser object when the browser object has finished
navigating to a new url in a frame and starting loading the url.

If the target is the main frame of the browser then the
browserNavigateComplete message is sent instead.

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

Parameters:

* instanceId: The integer identifier of the browser object ]]\*Note:\* For generalinformation on using the browser library, see the notes in therevBrowserOpen function reference.
* url: The url that the browser has finished navigating to in a frame

See also: revBrowserOpen function (function),browserDocumentCompleteFrame (message),browserNavigateComplete message (message),browserBeforeNavigateFrame (message),
BrowserOut

Sent when the mouse moves out of a named html element in a browser.Syntax:

```
XBrowser_Out <elementId>, <instanceId>

```

Examples:

```
on browserOut pInstanceId, pElementId
  enable button "Forward" of group "Browser Controls" of me
end browserOut

```

The **browserOut** message is sent to the current card of a stack
containing a browser object when the mouse is moved out of an html
element with an "id" attribute in the browser.

The **browserOut** message is only sent if advanced browser
messages are turned on. To turn on advanced browser messages use the
following command:

revBrowserSet <instanceId>, "messages", "true"

The **browserOut** message is supported on Windows and OS X
versions 10.4 and later. On older versions of OS X, the message is not
sent due to lack of system support in the underlying browser object.

The id of an html element is the element's "id" attribute. For example
<div id="navbar">. As this attribute is optional in most cases,
not all html elements will have an id. If the html element that the
mouse is over does not have an id, then the elementId parameter will
be empty.

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

Parameters:

* instanceId: The integer identifier of the browser object
* elementId: The id of the html element that the mouse was moved out of ]]\*Note:\* ThebrowserOut message is only sent if advanced browser messages are turnedon. To turn on advanced browser messages use the following command:revBrowserSet instanceId, "messages", "true" ]]\*Note:\* The browserOutmessage is supported on Windows and OS X versions 10.4 and later. Onolder versions of OS X, the message is not sent due to lack of systemsupport in the underlying browser object.The id of an html element isthe element's "id" attribute. For example div id="navbar". As thisattribute is optional in most cases, not all html elements will have anid. If the html element that the mouse is over does not have an id, thenthe elementId parameter will be empty. ]]\*Note:\* For general informationon using the browser library, see the notes in the revBrowserOpenfunction reference.

See also: browserOver (message),
Constraints

Limits the pan, tilt, and zoom in a QuickTime VR movie.Syntax:

```
get the constraints of <player>

```

Examples:

```
get the constraints of player "Arctic"

```

```
set the pan of me to item 2 of line 1 of the constraints of me

```

Use the **constraints** property to find out where the user is in a
QuickTime VR movie.

The user can move the view of a QuickTime VR movie using the
navigational controls in the player; a handler can change the view by
setting the player's pan and tilt properties, and change the view
angle by changing the zoom property.

The zoom, pan, and tilt are limited by the value of the
player's **constraints** property. If you specify a value
greater than the range permitted by the **constraints**, the property
is set to the highest permitted value. If you specify a value less
than the range permitted by the **constraints**, the property is set
to the lowest permitted value.

If the player does not contain a QuickTime VR movie, its **constraints**
property is empty.

Changes:
This property was deprecated in version 8.1.0 due to the retirement of
the QuickTime player implementation. In order to support 64-bit on Mac
we have been required to switch to using AVFoundation on Mac, which does
not support QTVR. In addition, the Windows player object is now based on
DirectShow, as Apple have dropped support for the QuickTime libraries
previously used.

See also: player (object),zoom (property),properties (property),pan (property),tilt (property),**constraints** (property),
ByteOffset

Returns the number of bytes between the first byte of a value and an occurrence of a specified binaryString.Syntax:

```
byteOffset(bytesToFind,binaryStringToSearch[,bytesToSkip])

```

Examples:

```
offset("c","abcde") -- returns 3

```

```
offset("b","abacadabra",2) -- returns 6

```

```
offset("bark","embarking") -- returns 3

```

See also: wordOffset (function),itemOffset (function),length (function),lineOffset (function),offset (function),begins with (operator),