恭喜,你发布的帖子
发布于 2019-11-16 12:35:36
4楼
BOOL的数组,为啥数量一定是8?
另外,FB,UDT等均可作为数组单元,楼主是否没有做全?
多谢Z版指正,是我对指令的理解出现了错误,
就指令的描述看,使用VARIANT获取元素类型为bool的数组的元素个数有些力不从心,使用处理array[*]的求下限和上限的变量指令,LOWER_BOUND和UPPER_BOUND,倒是可行;两相比较,使用countOfElements指令可以不用指定数组元素类型(其实也隐式指定了BOOL以外的类型)和数组维度,使用起来简单,但是处理array[type of bool]时力有不及,得不出正确的数值,得到是以字节BYTE为基本单位的计数值(包含了填充元素);反观LOWER_BOUND和UPPER_BOUND指令,需要指定元素类型和数组维度,虽然稍显繁琐,却是能得到正确数值。我们权衡一下,如果已知数组的元素类型为BOOL,那还是使用ARRAY[*]、LOWER_BOUND和UPPER_BOUND方便,如果是BOOL类型以外的类型,还是使用CountOfElements指令划算些,毕竟一条指令就能覆盖很多类型。
请填写推广理由:
分享
只看
楼主