Struct.fields Method
Returns the number of items in the struct.
Syntax
public int fields()
Run On
Called
Return Value
Type: int
The number of items in the struct.
Remarks
To find the position of an item in a struct, use the Struct.index method.
Examples
The following example creates a struct from a container and then uses the fields method to iterate through the contents of the container.
boolean unpack(container packed)
{
Struct unpackedProperties;
container structCon;
Counter i;
[#currentList,structCon] = packed;
unpackedProperties = Struct::create(structCon);
for (i=1;i<=unpackedProperties.fields();i++)
{
switch (unpackedProperties.fieldName(i))
{
case #closedOk:
break;
case #PropertyCaption:
if (! dialogForm
|| dialogForm
&& ! dialogForm.form().design().caption())
this.caption(unpackedProperties.valueIndex(i));
break;
case #dialogFormname:
// Do nothing
break;
case #PropertyAlwaysOnTop:
this.alwaysOnTop(unpackedProperties.valueIndex(i));
break;
case #PropertyWindowType:
this.windowType(unpackedProperties.valueIndex(i));
break;
case #defaultButton:
this.defaultButton(unpackedProperties.valueIndex(i));
break;
default:
throw error(strfmt(
"@SYS67326",unpackedProperties.fieldName(i),
classId2Name(classidget(this))));
}
}
return true;
}