properties

Typeproperty
DictionaryLCS
LibraryLiveCode Script
Syntax
set the properties of <object> to <propertiesArray>
Associationsstack, card, field, button, graphic, scrollbar, player, image
Summary

Specifies some of an object's properties and their current values.

Introduced1.0
Changes

As of version 6.1 the properties property has been revised. On fetching it returns the minimal set of properties of an object to allow it to be recreated exactly, it also returns unicode variants of properties if, and only if, they are needed.

OSmac, windows, linux, ios, android
Platformsdesktop, server, mobile
Example
put the properties of button 1 into myArray
set the properties of last player to the properties of player "Example"
Values
NameTypeDescription
Value

The properties of an object is an array containing that object's significant built-in properties.

RelatedProperty: properties, customProperties
Command: combine
Function: keys, propertyNames
Control Structure: setProp
Glossary: value, object
Description

Use the properties property to set an object's built-in properties, or to copy properties from one object to another.

Not every property is included in the properties property. The following types of properties are excluded:

  • Read-only properties
  • The script property and custom properties
  • Synonyms: Only one synonym for each property is included.
  • Duplicates: Properties that are functionally duplicated by other properties are not included. For example, the rectangle property is included, but not the height, width, top, bottom, left, right, or location properties, because you can derive all of them from the object's rectangle.
  • Properties other than object properties: Global properties, local properties, properties of a character or chunk in a field, and adjectives such as short that are implemented internally as properties are all excluded.
  • Others: Some other properties are excluded.

The key of each element in the array is the property name. Use the following statements to obtain a list of the properties for a particular object type:

local myArray
put the properties of field "My Field" into myArray
put the keys of myArray

The value of each element in the array is the value of that property for the object. For example, use this statement (after the above example) to get the object's ID property:

put the properties of field "My Field" into myArray
put myArray["id"]

Note: You can't use array notation with an expression, only with a variable, so you must put the properties of the object into a variable before you can access the individual elements of the array. If you want a list of properties and their values, use the combine command to create a list:

local myArray
put the properties of field "My Field" into myArray
combine myArray using return and ": "
put myArray

If you set the properties of an object to an array that contains only some of the properties, any properties that aren't in that array are not changed. This means that you can select which properties to set with the properties property.

For example, suppose you want to set the properties of a field to the properties of another field, except that you want to leave the first field's name unchanged:

put the properties of field "My Field" into myArray
delete variable myArray[name] -- delete this element from the array
set the properties of field "New Field" to myArray
-- leaves name property unchanged

On storing the properties are set in the correct order to ensure correct recreation of the object.

Note: When setting properties which contain both non-empty color and pattern properties of the same type, the color property will take precedence.

Tagsproperties