Add a set definition to a new input window

WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
xcall IB_SET(build_id, set, [structure,] [count][, fields])



The ID of the input window under construction. (n)


The name of the input set (a maximum of 30 characters). (a)


(optional) The name of the structure to associate with the set. (a)


(optional) The number of fields in the set. (n)


(optional) The array of field specifications for the set. (See Field specifications for information.) (a)


IB_SET creates a named set of fields, specifies their order of reference, and associates the input set with the input window being built. This subroutine is used when building a new input window at runtime. (Remember, you don’t have to put all fields in sets—you can process fields individually as well.)

If no structure has been defined (with IB_RPS_STRUCTURE or IB_STRUCTURE) when you call IB_SET, you must pass the default structure name as structure if you want the input set to have any fields. The default structure has the same name as the input window, and will include all the fields defined for the input set.

If you omit structure and fields, Toolkit creates an empty input set. (If you omit structure, you must also omit fields.) This is useful if you want a set of buttons that can be placed anywhere in a composite window. See Buttons in composite windows for more information.

If you use the fields array, include field specifications in the order in which you want them processed at runtime. The number of fields that you can specify in the array is 1 to n, where n is the total number of fields in the structure specification. All fields specified must be members of the same structure specification. (See IB_STRUCTURE and IB_RPS_STRUCTURE.)

If you include structure and omit fields, all the fields within the specified structure will be used in the order of their definition within the structure.

If count is passed and non‑zero, fields is required and must have at least count elements. If count is not passed or is zero, fields is ignored and all fields in the structure are included in the set.

If you don’t call IB_SET, a default set with the name of the input window being built will be created. This set will contain all the fields defined in the first structure (or the default structure if structure is not specified), in the order they are defined.


This example passes an array of field specifications from structure mystruct in order to define the set.

bldid    ,i4
nmflds   ,i4
fldnames ,[10]a30,
&   "field1",
&   "field2",
&   "field3[7]",
&   "field4[2,7]",
xcall ib_set(bldid, "myset", "mystruct", nmflds, fldnames)