变量控件
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
//隐藏键盘脚本
//情况键盘内容脚本
}