OPENG比较工具函数选板中只有一个函数,ValueChanged函数。所谓“值”变化指的是如果当前值与上次值不同则为TRUE,相同为FALSE,这实际上也是一个“沿"的变化,该函数类似于事件结构,当一个控件的值发生变化时触发一个事件,不过是在轮询结构中使用的。
判断值变化是一个非常常用的函数,通常用于如果值改变,则触发一次事件,该函数是多态函数,适合于各种数据类型,如标量、一维数组、二维数组和变体数据等等。
该函数实现原理非常简单,与布尔沿函数一样,利用移位寄存器存储上次的值,与本次的值向比较,不等则为TURE,表示值改变,相等则为FALSE,表示值未改变。
下面以变体数据为例,看看它的实现方法:
除了利用LV2型全局变量之外,该函数内部调用了另外一个非常重要的函数,”首次调用“函数,由于移位寄存器是未初始化的,因此第一次执行型,可能会产生”不等“,这个”值"值变化显然不是我们希望的,所以它通过首次调用函数,在首次调用时返回FALSE。