<doc>
	<legacy_id>2172</legacy_id>
	<name>properties</name>
	<type>property</type>

	<syntax>
		<example>set the properties of <i>object</i> to <i>propertiesArray</i></example>
	</syntax>

	<synonyms>
	</synonyms>

	<summary>Specifies some of an <glossary tag="object">object's</glossary> <property tag="properties">properties</property> and their current <glossary tag="value">values</glossary>.</summary>

	<examples>
<example>put the properties of button 1 into myArray</example>
<example>set the properties of last player to the properties of player "Example"</example>
	</examples>

	<history>
		<introduced version="1.0">Added.</introduced>
		<deprecated version=""></deprecated>
		<removed version=""></removed>
		<changed version="6.1">6.1</changed>
		<experimental version=""></experimental>
		<nonexperimental version=""></nonexperimental>
	</history>

	<objects>
		<stack/>
		<card/>
		<group/>
		<field/>
		<button/>
		<graphic/>
		<scrollbar/>
		<player/>
		<image/>
	</objects>

	<platforms>
		<mac/>
		<windows/>
		<linux/>
		<ios/>
		<android/>
	</platforms>

	<classes>
		<desktop/>
		<server/>
		<web/>
		<mobile/>
	</classes>

	<security>
	</security>


	<classification>
		<category>Values &amp; Properties</category>
	</classification>

	<references>
		<function tag="keys">keys Function</function>
		<function tag="propertyNames">propertyNames Function</function>
		<property tag="customProperties">customProperties Property</property>
		<control_st tag="setProp">setProp Control Structure</control_st>
	</references>

	<description>
	<overview>Use the <b>properties</b> property to set an object's built-in properties, or to copy properties from one object to another.</overview>

		<parameters>
		</parameters>

	<value>The <b>properties</b> of an object is an array containing that object's significant built-in properties.</value>
	<comments>Not every property is included in the <b>properties</b> property. The following types of properties are excluded:<p></p><p>* Read-only properties</p><p>* The <b>script</b> property and custom properties</p><p>* Synonyms: Only one synonym for each property is included.</p><p>* Duplicates: Properties that are functionally duplicated by other properties are not included. For example, the <b>rectangle</b> 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.</p><p>* Properties other than object properties: Global properties, local properties, properties of a character or chunk in a field, and adjectives such as <b>short</b> that are implemented internally as properties are all excluded.</p><p>* Others: Some other properties are excluded.</p><p></p><p>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:</p><p></p><p>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:</p><p></p><note>You can't use array notation with an expression, only with a variable, so you must put the <b>properties</b> 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 combinecommand to create a list:</note><p></p><p>If you set the <b>properties</b> 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 <b>properties</b> property .</p><p></p><p>For example, suppose you want to set the <b>properties</b> of a field to the <b>properties</b> of another field, except that you want to leave the first field's name unchanged:</p><p></p><p>  put the properties of field "My Field" into myArray</p><p>  delete variable myArray[name] -- <i>delete this element from the array</i></p><p>  set the properties of field "New Field" to myArray</p><p>  -- <i>leaves name property unchanged</i></p><p></p><p>  put the properties of field "My Field" into myArray</p><p>  delete variable myArray[name] -- delete this element from the array</p><p>  set the properties of field "New Field" to myArray</p><p>  -- <i>leaves name property unchanged</i></p><p></p><p></p><change>As of version 6.1 the <b>properties</b> 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.<p></change><p>On storing the properties are set in the correct order to ensure correct recreation of the object.</p><p></p><note>When setting properties which contain both non-empty color and pattern properties of the same type, the color property will take precedence.</note></comments>
	</description>
</doc>