变量控件

1. 属性

属性

说明

id

控件ID号,不可更改

global

勾选:作用于全局,不勾选:作用于所在页; 不可脚本读写

name

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

type

数据类型,int ;float; string;

val

变量当前值。变量的值可以通过脚本、串口命令等改变,作为变量的暂存空间。

变量控件值属性可以从三种不种的数据类型中选择一个(int float string),不需要声明,在整个页面有效,勾选全局属性后变量控件在整个工程有效,但是在其他界面调用时需要在变量前加上页名称。

当前页脚本赋值操作:

// type属性选择Int时
var16.val =  123;

// type属性选择Float时
var16.valf  = 12.3;

// type属性选择String时
var16.txt = "123";

在page0页面的按钮控件弹起事件中对page1页面的var1整型变量赋值1:

按钮弹起事件

page1.var1.val=1;

2. 常见应用

2.1. 标记

在工程编辑时,变量控件可以用来标记各种状态,变量不同的数值表示不同的状态,将状态量化,方便用户对其进行分析和数据处理。

常见应用比如掉电保存,用变量标记掉电保存的状态,上电的时候变量会恢复为初始值,初始值表示需要执行掉电保存脚本,通过判断变量是否为初始值来来决定是否执行掉电保存脚本,执行完毕后变量值改变,此后不再执行掉电保存

脚本

第一个页面 加载事件

拖入一个变量控件命名为 var_flg,设置int型,勾选全局属性,初始值不做设置 默认为0,(全局属性一定要勾选,否则当切换回控件所在界面时属性值会恢复为默认值)

 //掉电保存只在上电时执行一次

 if(var_flg.val == 0)//判断标记是否为0,为0则执行掉电保存 不为0则不执行

  {
   //掉电保存脚本
   //掉电保存脚本
   var_flg.val++;
}

2.2. 变量表示控件属性和控件值,通过改变变量的值设置控件属性

例如:设置浮点数数值为变量var1(浮点型),浮点数控件的id为var2(整型);

利用 idof(numf.valf);函数可以得到浮点数值属性的id为51。控件所在页面id为1.

脚本:

 setPropFloat(1,var2.val,51,var1.valf);//setpropfloat()函数参数为 页面id,控件id,控件属性id,属性值

变量值都可以由上位机发送,通过协议解析器解析获得。

2.3. 缓存数据

此处的典型应用是缓存密码,串口屏可以设置密码,通常用变量的字符串格式。

例如,拖入一个变量,数据类型为string,默认值为密码值这里设为123456。利用文本控件和键盘控件,文本控件用来调用键盘和显示密码,在键盘的输入完成事件写入密码核对脚本,密码正确显示图片1,密码错误显示图片2;

键盘 输入完成事件

// var1.txt 已设置默认值 123456
if(keyboard1.txt==var1.txt) //判断输入密码是否正确
{
   Image0.img=1;//图片控件显示图片1
   //隐藏键盘脚本
   //情况键盘内容脚本
}
else
{
   Image0.img=2;//图片控件显示图片2
   //隐藏键盘脚本
   //情况键盘内容脚本
}