Skip to content

Using Values

Create Value

You can create a standard value using CreateValue and several additional CreateXValue methods for special types.

How to create standart value:

var value = host.CreateValue ( 456565 );

Standart values can follow types: bool, int, long, decimal, double, float, string, IEnumerable, IDictionary

How to create color value:

var value = host.CreateColorValue ( 0 );

How to create duration value:

var value = host.CreateDurationValue ( 30 );

How to create duration value:

var value = host.CreateAngleValue ( 90 );

How to create secure string:

var value = host.CreateSecureString ( "my little secret:)" );

How to create error string:

var value = host.CreateError ( "error!" );

Common operations

Clear value:

host.ClearValue(value);

Isolate value:

host.IsolateValue(value);

Get primitive types

You can use one from methods for get original value:

var intValue = host.GetValueInt32(value); // get int value
var longValue = host.GetValueInt64(value); // get long value
var doubleValue = host.GetValueDouble(value); // get double value
var stringValue = host.GetValueString(value); // get string value

Array value

How to get count of elements in array:

var countElementinArray = host.GetArrayOrMapCount(value);

How to get element in array by index:

var valueByIndex2 = host.GetArrayItem(ref value, 2);

How to set element in array by index:

var valueByIndex2 = host.SetArrayItem(ref value, 2, ref newValue);

How to append new element in array at end of array:

var valueByIndex2 = host.AppendItemToArray(ref value, ref newValue);

Object (map in sciter docs) value

How to get element in object by string key:

var item = host.GetMapItem(ref map, "item");

How to set element in object by string key:

host.SetMapItem(ref map, "item", ref newValue);

How to get object:

var itemsAsDictionary = host.GetMapItems(ref map);

How to get element in object by index:

var itemsAsDictionary = host.GetValueMapKey(ref map, index);

How to execute value if it function?

var parameters = new List<SciterValue> (); // need to fill if required pass parameters
var resultValue =  host.ValueInvoke(ref value, valueContext, parameters);