数组控件
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. 常见用法
串口屏做modbus从站时,需要用数组控件来模拟寄存器,两个字节为一个寄存器,此时可以将,数据缓存到数组里面,主站来读时遵循modbus协议读取数组对应位置的值。
自定义协议组帧时可以利用数组控件,方便使用,此处要用到数组控件的赋值和初始化操作,有详细pix示例可以参考
5. 常见问题
数组控件有三种类型数据可以选择,byte int string float 使用数组控件赋值操作时要注意数据类型。
数组的内容如果在翻页后也需要保存,那么全局属性一定要勾选。
数组长度要大于或等于数据的位数,否则超过长度的数据会丢失