数组控件

1. 属性

属性

说明

id

控件ID号,不可更改

global

不勾选,作用于当前页面;勾选后,作用于全局

name

控件名称,可改,默认名称,arr+序号

type

数据类型,byte;int ;float; string;

len

数组长度

2. 方法

2.1 clear

清除指定范围的数据

void clear(int index, int len)

参数

index:

清除数据的起始位置

len:

清除数据的长度

返回值


2.2 get

读取指定位置的文本。仅限数据类型为 string 。

string get(int index)

参数

index:

文本的位置

返回值

文本内容


2.3 set

设置指定位置的文本。仅限数据类型为 string 。

void set(int index, string str)

参数

index:

文本的位置

str:

设置的文本

返回值


3. 示例

脚本中数组元素的赋值操作

type 属性选择byte时:

// 赋值
arr15.valbs[0] = 0x64; 
// 或者
arr15.valbs[0] = 100;

// 读取
num1.val = arr15.valbs[0]; 
//读出用整数控件num1显示,显示值为100

type 属性选择int时:

// 赋值
arr15.vals[0] = 0x64; 
// 或者
arr15.vals[0] = 100;

// 读取:
num1.val = arr15.vals[0]; 
// 读出用整数控件num1显示,显示值为100

type 属性选择float时:

// 赋值
arr15.valfs[0] = 100.0;

// 读取:
numf1.valf = arr15.valfs[0]; 
// 读出用浮点数控件numf1显示,显示值为100.0

type 属性选择string时,需要用控件的方法:

// 赋值:
arr15.set(0,"txt123"); //赋值字符串"txt123"

// 读取
text1.txt = arr15.get(0); 
//读出用文本控件text1显示,显示值为"txt123"

// 清除
arr15.clean(0,10);
// 清除从下标0开始,向后的10个元素

4. 常见用法

  1. 串口屏做modbus从站时,需要用数组控件来模拟寄存器,两个字节为一个寄存器,此时可以将,数据缓存到数组里面,主站来读时遵循modbus协议读取数组对应位置的值。

  2. 自定义协议组帧时可以利用数组控件,方便使用,此处要用到数组控件的赋值和初始化操作,有详细pix示例可以参考

5. 常见问题

数组控件有三种类型数据可以选择,byte int string float 使用数组控件赋值操作时要注意数据类型。

数组的内容如果在翻页后也需要保存,那么全局属性一定要勾选。

数组长度要大于或等于数据的位数,否则超过长度的数据会丢失