加入QQ群
售前咨询
18604058908
售后热线
13166668196
微信扫一扫
关注沈阳菲尔德
获取更多免费产品
 
Language

HART手操器中进行DD解析常用的列表(List)属性

 来源: |  阅读:1995次 |  2022/8/15 20:38:35

列表是一个可变长度、可插入的值数组。列表包含一系列元素,每个元素都是定义的类型。类型是对变量或集合的引用,例如,定义列表中每个元素的内容。列表中元素的数量可能会有所不同。

COUNT属性表示当前驻留在列表中的元素数。最大值还可以使用“容量”属性指定列表的长度。列表使用以下表达式表示:

LIST name {
LABELopt string;
HELPopt string;
VALIDITYopt boolean-specifier CAPACITYopt unsigned-integer;
COUNTopt expression;
TYPE identifier;
}

有关通用属性标签帮助和有效性的详细信息,请参见附录A。列表元素通过列表标识符和元素索引从DD中的其他地方引用。此引用使用方括号表示法。此引用的语法为:

list-name [ index ]
list-name [ list-index-variable ]

列表的元素总是连续的,所有列表引用都必须有效。换句话说方法中的无效列表引用将导致该方法中止。任何无效的列表引用在DD的其他地方遇到的是致命的。例如如果列表中当前有37个元素。然后,如果一个方法尝试访问第52个元素,则该方法将中止。属性列表也可以被引用,包括COUNT, CAPACITY, FIRST, LAST。

list-name . COUNT
list-name . CAPACITY
list-name . FIRST
list-name . LAST

即使相应的属性不存在,这些引用也始终可用。Count属性返回当前驻留在列表中的元素数。该容量指示了列表中可以存储多少个元素。首先使用该属性等同于引用list-name[0],最后一个是list-name[list-name.COUNT – 1]。

列表通常使用方法进行管理,并使用两个库函数来支持列表:

int ListInsert (LIST & list, int index, DD_ITEM & item );
int ListDeleteElementAt (LIST & list, int index );

如果尝试访问无效列表元素,这些方法将返回错误代码。例如尝试在索引为-1的位置执行ListInsert将导致错误。