三易串口屏开发环境VP介绍

1. VP界面

  • 串口屏界面开发工具Visual Pix(以下简称VP),适用于win7及以上windows操作系统,默认为中文编辑界面。

  • 界面开发可视化,所见即所得,控件配合脚本即可实现各种复杂应用。

以下是整体界面风格: img

2. 菜单栏

2.1 文件 – 打开SD卡目录

点击打开SD卡目录后,会进入一个计算机C盘文件夹,此处用于存放一些文件。如视频、音频、图片资源以及数据的文件。

例如:当使用串口屏播放一段较长的视频时,因为串口屏本身容量有限,此时就只有将视频文件放入SD卡内,但是上位机模拟调试播放时,也需要有一个外部SD卡的环境,这里就是模拟串口屏模块使用SD卡的情况。

2.2 文件 – 工程文件操作

菜单项

说明

新建项目

新建一个串口屏工程项目,快捷键 Ctrl+N

打开项目

打开一个串口屏的工程,快捷键 Ctrl+O

关闭项目

关闭当前串口屏工程。

编辑项目

划重点,非常有用。相同分辨率的项目,可以重新选择其他尺寸的固件。例如240x320分辨率的工程可以在 2.4 2.8 3.2寸串口屏直接随意选择型号。如果分辨率不同,则也会显示,会根据分辨率不同,放大或者缩小显示范围,功能照样使用。

保存项目

保存当前串口屏工程。

另存项目

当前串口屏工程另存为其他名称或者为位置。

退出

退出VP编辑器。

新建工程项目界面如下:

SANY-WQ-S43-01-R:分辨率为480x272,S系列的4.3寸,通讯接口为RS-232,电阻触摸。

产品型号编码规则:SANY-液晶分辨率缩写-系列代码+尺寸-硬件版本号+触摸类型

名称

说明

举例

SANY

产品前缀

液晶分辨率

液晶行业约定俗称

例如:WQ:480X272 WV:800X480 WS:1024X600 WS:1280X720

系列代码

G 或者 S

G系列:1.54、2.4、2.8等; S系列:4.3、7.0、10.0等。

尺寸

24->2.4寸,70->7.0寸

硬件版本号

通讯方式,2位编码

01:RS232 02:RS485/02M:RS485带Modbus 04:lvttl+扩展IO+扩展串口 05 rs485+扩展IO,串口。带M标记,表示支持modbus。

触摸类型

N无触摸,R电阻触摸,C电容触摸

2.3 文件 – 编辑项目(工程型号更改)

说明

将一个型号的工程改为另一个型号,此功能可以更改已有工程的一些设置,如尺寸、产品型号、旋转角度。

操作简述

在已创建/打开的工程中,点击文件–>项目编辑,即可根据需要调整工程设置;

注意事项

选择为已有工程尺寸的其它尺寸时,变化的只是操作界面,工程中的素材尺寸不会改变;

选择不同的旋转角度也是一样,素材的尺寸和方向不会改变;

整个项目编辑的结果是可逆的,设置变成其他型号看到效果后,还可以再次使用项目编辑功能,恢复原状;

界面如下:

2.4 编辑

菜单项

说明

复制控件

复制功能内的一个控件,快捷键 Ctrl+C

剪切控件

剪切功能内的一个控件,快捷键 Ctrl+X

粘贴控件

粘贴功能内的一个控件,快捷键 Ctrl+V

删除控件

删除功能内的一个控件,快捷键 delete

撤销操作

撤销上一步操作,快捷键 Ctrl+Z

重做操作

重做功能内的一个控件,快捷键 Ctrl+Y

img

操作类的快捷方式如上: 简单明了,鼠标放上去会有提示。

2.5 调试

菜单项

说明

编译

编译当前工程,编译不通过,则输出面板输出错误,快捷键 Ctrl+B

下载

下载当前工程到串口屏模块。

插入USB数据线后,软件右下角显示连接,点击即可下载。

插入USB转串口的数据线,会弹出选择端口的窗口,选择正确的端口后,点击确定,开始下载。

调试

启动工程VP模拟器进行工程模拟运行,可以在VP软件中模拟串口屏工程的运行,方便客户调整工程中控件和脚本。

可以连接串口屏,进行上下同时运行工程,实现仿真。

可以发送串口命令到VP模拟器,可设置模拟器接收和串口接收(由于模拟客户运行状态,此时不可插入USB数据线,只能通过USB转串口设备通信)

2.6 视图

菜单项

说明

重置窗口布局

恢复窗口布局到默认状态,开发过程中,可能把各个工作区大小拖拽得比较乱,可用此键重新恢复默认布局。

2.7 工具

2.7.1 函数编辑器(自定义函数)

使用步骤

工具->函数编辑器,进入编辑界面,根据需求定义函数。如果用到重复性的计算,请使用函数功能,减少编码量,增加编程效率。

函数的定义

同C语言。

返回类型 函数名(类型说明 变量名,类型说明 变量名,…)

{

函数体;//一条或多条语句

}

img

1.函数体内操作控件属性时,需要控件勾选global属性,并且加上控件所在页的页名称

2.函数之间都是平行的,无主函数子函数的区别,不支持嵌套定义;

3.定义好函数后,先点击测试,保证函数无误(即找到n个函数), 然后点击确定退出;

函数的调用

img

1.在某个脚本事件中输入函数调用,且可在任意页面不限次数调用

2.可用控件属性值作实际参数,传递给函数;

3.不支持嵌套调用;

2.7.2 取字模(生成字库)

工程中所有显示字符的控件,都需要在控件的font属性内绑定一个字库,这个字库内包含的文字,就是控件能显示出的文字。用控件

菜单栏:工具->取字模,打开转换工具,字体转换工具的界面如下:

操作步骤

1. 字体: 选择需要的字体,此处字体的种类和计算机系统安装的字体一致

2. 字符集: 选择指定字符,可输入预览自己需要的文字;选择ASCII,生成全部ASCII码字符,不建议选择全部,会有过多不需要的字符占据空间

3. 字符选择工具: 字符集选择‘指定’时,字符选择工具可自动添加需要的文字,而不需要手动输入

例如:需要显示全中文的字库,可以在‘简体中文’处,选择一级字、二级字等,选择需要的字库后,确定并转换保存,即可使用

4. 风格: 普通和加粗,按需求选择

5. 抗锯齿: 选择 2x或4x抗锯齿,优点是,字体通过补偿灰度来实现字体拐弯处的流畅显示,缺点是字库大小会大2、4倍
不抗锯齿 img 4倍抗锯齿 img

建议如果不是太多字,考虑用4倍抗锯齿。

6. 高度: 即字体的大小,根据实际使用情况选择考虑到不同尺寸的串口屏实际使用情况,对最大字号都会有限制

7. 选择完成后,点击转换,给字库命名并选择字库存储位置,最后会弹窗提示是否导入到工程,选择是,再关闭字库工具面板,回到工程使用

注:
1. 在VP软件字体资源栏中双击字体的名称,可再次进入转换面板查看字体,再次添加修改转换字库

2. 由于各个串口屏flash存储有限,尽量只转换需要用到的字符

3.考虑到不同系类串口屏实际显示情况,对最大字号都会有限制

4.显示一个字库内没有的文字时,控件会显示出一个‘方框’,此时可以到字体资源面板,双击字库名称,进入字体转换面板后,手动添加缺失的字符。

2.7.3 固件下载

简介

串口屏固件,类似串口屏的操作系统,是执行串口屏工程的平台,运行在串口屏模块的主控芯片中。串口屏模块的固件,一直在不停的升级中,修改bug、增加功能、增加配置等,都需要固件支持。

下载接口

G系列(2.4、3.5等)只能用串口升级,S系列(4.3、7.0等)可以用USB或者串口升级。

下载方式介绍

有三种情况:

1. 工具菜单栏->固件下载

由我公司直接提供固件给用户,用户保存到本地后,用此方式下载,属于离线更新;

2. 工具菜单栏->在线固件下载

官方有新固件需要更新时,会更新服务器上的固件,便于用户在线更新;

3. 下载串口屏工程时,若有新固件,会提示有新固件可在线更新;

串口屏显示提示

下载时,弹出固件升级提示窗口,选择 ‘是’ 进行升级,升级固件时,串口屏背景会变成绿色并有下载提示。

固件下载成功后断电重启,屏幕是全绿色,并且显示‘no file’等字样,此时flash中的工程是已被擦除状态,需要重新下载工程。

注意:

正在下载固件的过程中,断开连接或下载异常导致固件下载不成功,串口屏重新上电后屏幕可能会变成全白,此时屏幕是处于没有固件的状态,需重新下载固件。

白屏后:用串口升级下载固件时,波特率选择115200下载即可;用USB可直接升级下载,不用选择波特率。

2.7.4 项目设置 – 波特率

菜单栏:工具->项目设置,或者点击快捷栏按钮 ,界面如下:

img

波特率可脚本更改,若想通过脚本设置系统变量,如设置波特率为9600:sys_baud = 9600;

注:屏幕掉电后会波特率恢复到项目设置的初始选择值;

2.7.5 项目设置 – Modbus主从机设置

当工程为带Modbus的版本时,进入项目设置界面,会增加以下设置:

img

当串口屏做主机时,勾选‘主机’,不勾选则默认为从机;

地址为做从机时的地址,从机地址可脚本更改,如设置从机地址100:sys_modbus_addr = 100;

注:屏幕掉电后地址会恢复到项目设置的填写值;

2.7.6 项目设置 – Bin文件生成和下载

  • 生成bin文件:进入项目设置后

  1. 勾选‘生成二进制文件’;

  2. 点击保存,然后编译工程文件;

  3. 工程文件的保存文件夹内会出现*.pix.bin文件。

  4. .pix文件,是客户编辑的共层源文件,可以重复打开编辑。

  5. .pix.bin 文件,是跟.pix文件同名的,编译后的二进制文件。

  • 下载bin文件:

此文件是烧录到串口屏模块中的文件,相当于编译完成的执行文件。

方法一、 使用SD卡:

在SD卡根目录下新建HMI文件夹,把*.pix.bin文件,放在HMI文件夹中,文件名改成“USER.bin”。断电插入SD卡,再上电后会自动烧录到串口屏,烧录过程串口屏会绿屏黑字和进度提示,烧录完成后,请断电拔出SD卡,最后串口屏重新上电,烧录完成;若烧录过程中出现断电或者取卡,则烧录失败,需要重新操作。

.bin文件方式烧录工程能脱离VP软件,实现客户的大规模生产。

**方法二、**工具菜单->二进制文件下载:

用转串口工具或USB线连接好屏幕后,点击选择工程的.bin文件即可下载。

此方式不用打开项目工程,不用更改bin文件的名称。

2.7.7 项目设置 – 编码格式和CRC16

  • 编码格式: 可选择UTF-8和GBK

应用:当用户在自己设备的单片机程序中,通过串口指令设置控件显示文字时,如:wset text1.txt “2022星期一”,可能 出现控件只显示2022,而不显示汉字的情况;这时就需要确定单片机程序和VP工程的编码格式是否一致。

  • CRC16**:** 多项式:8005、1021、3D65

脚本计算,请参考后续函数的介绍和用法章节,CRC16函数的相关操作函数。

2.7.8 项目设置 – 掉电保存

做掉电保存的第一步,需要先进入项目设置,开辟一段空间:

如要保存一个整数,在设置了用户Flash大小后,事件脚本如下:

fwInt(0,123);//[0] - [3] 空间段内存储整数123

fSave(); // 两个函数必须同时使用,才能完成存储操作

注:

Int、Float都为4字节;

String类型时,需要 字数*2+2段长度;

读出存储的整数:

num1.val = frInt(0);//读出[0] - [3] 空间段内存储的整数

数据的掉电存储和读取操作都需要用内置函数实现,请参考后续函数的介绍和用法章节,Flash的相关操作函数。

3. 快捷按钮

快捷按钮上的功能都是常用功能,如果和菜单栏重复的功能,请参考上面的介绍。

快捷键

说明

控件上移一层

为了显示效果,编辑时控件可能重合或者被遮盖,例如钟表的3个指针。使用这个功能可以把下层的控件移动到上层。

控件下移一层

为了显示效果,编辑时控件可能重合或者被遮盖,例如钟表的3个指针。使用这个功能可以把上层的控件移动到下层,使下层控件显示出来,进行设置。

联机预览

这个按钮被按下,则进入三易串口屏的特色功能。

用usb数据线(推荐)或usb转串口线,连接串口屏模块。

如果连接成功,则上位机和下位机都会显示当前的工程编辑情况。如果连接成功,VP界面底层栏会有,“预览:已连接”字样。

用户可以在VP编辑区,移动控件位置,修改属性,增加减少资源,会实时同步到下位机显示。

注意,上位机此时是编辑状态,并没有运行功能,下位机是运行状态,显示当前页面真实的运行起来的显示情况,上下会有差异,这个功能主要是让初学者用户可以实时看到自己的工程在串口屏上的运行情况。

显示ID号

显示各个控件的名称。如果客户的页面用了大量的控件,相互遮盖交叉,还有客户书写脚本时不方便找到各个控件的名称,此时点击此按钮,就显示所有控件的名称,非常方便。

4. 工具箱

工具箱中包含了各种经常用到的控件,工具箱中的控件,点击选中拖动到编辑区的合适位置,就可以使用了。注意,非显示控件,例如定时器等,也要拖动到编辑区,才能使用,这个操作作为用户确定要使用这个控件的标定。

工具箱的控件见下图:控件会一直增加,后续会出更多的复合控件。

控件

简介

视频控件

支持视频播放功能,默认3.5及以下小尺寸(下称为:G系列)不支持,如果您需要可以定做。G系列串口屏使用的芯片,播放速度达不到可以使用的程度,胜在性价比高。

大分辨率尺寸的串口屏(S系列),只支持Mp4格式的视频播放,可以控制声音,进度,切换,可以直接作为播放器使用。

注意:视频尺寸不能超过1280X720,声音也只支持单、双通道。

视频功能,支持TF卡热插拔,直接播放。

音频控件

全系列支持音频播放。不支持同时播放一路以上的音频。支持停止,播放,暂停功能,可以随时获取播放进度,可以跳转到某一时刻播放,方便用其他控制和联动。

音频在G系列串口屏上播放时,只支持8位wav格式,全系标配3W功放。

音频在大尺寸(下称:S系列)串口屏播放时,支持MP3格式和16位wav格式。

音频功能,支持TF卡热插拔,直接播放。

图片控件

G系列串口屏支持jpeg、BMP、没有透明度的PNG图片,VP会转换成二进制格式,所以图片所占空间以实际编译后为准。不支持带透明度的PNG图片,用户在做素材时,尽量避免用此种方式。

S系列串口屏,支持JPEG解码,图片占用空间很小。支持PNG透明图片

G系列图片会转换为RGB565格式,也就是16位颜色数据,支持颜色65535个。用户做图片时请注意,如果原图位RGB888格式的渐进颜色,可能会造成有水纹。这个现象是目前小尺寸液晶屏都不支持RGB888颜色造成,无法消除。

S系列支持RGB888格式,支持24位颜色数据,千万级颜色。用户做图片素材时,不需要考虑颜色降低问题。

GIF动画控件

全系支持GIF动画。用户可以导入GIF动画到VP编辑界面,VP工具会读取GIF动画的帧数据和时间数据,还原GIF动画的显示。GIF动画目前不支持硬件解码,所以会造成编译后数据变大,用户要注意动画会占用较大Flash存储空间。

GIF+音频,可以完美做产品片头。

二维码控件

全系支持动态二维码。二维码作为一个最常用的功能,支持起来比较麻烦,需要用到较大内存空间做算法。这个功能,在内存不足的情况下实现。

触摸热区控件

类同透明的按钮,也有按下、弹起事件。触摸热区功能可以加到任意的位置,点击屏幕上的这个区域,可以触发点击事件,方便客户做一些隐形的功能。

双态按钮控件

实现开关按钮的功能。按下后不会自动弹起,需要手动点击才能弹起。

按钮控件

实现按钮功能。重要功能,属性多,效果也多,背景可透明(S系列),透明后的功能大于触摸热区。

曲线控件

曲线功能可以实现客户透传的曲线数据,为了实现快速数据传输,透传数据使用二进制格式。

默认支持3通道的曲线。

默认缓冲3通道的曲线数据,到边界后会覆盖以前数据。

曲线刷新模式有推进式、覆盖式两个可选。

滚动文本控件

目前支持一串字符水平左右、垂直上下方向飞来飞去。经常作为提示用途。

文本控件

用于显示文本,可选择是否自动换行,占用空间小。支持各种客户定义的字体,支持1-100透明度选择。

多行文本控件

用于显示多行文本,可选择是否自动换行。如果串口屏带有触摸屏,可以拖动文本主体进行移动。

复选框控件

未选中是空心矩形,选中为中间是黑块的矩形。特色是,复选框的触控范围可在右侧水平方向上随意调整,用户不用只点击矩形框才能选中,可以点击右侧任意有效位置选中。

单选按钮控件

单选框为分组控件,可以设置有几个可选项,各个选项是互斥的。可以根据值改变的事件编写脚本。

滑块控件

使用滑块可以调整进度。滑块的不同位置,会有不同的对应值,可以根据值改变编写控制脚本,例如控制音频播放,背光亮度等。

进度条控件

进度条是被动控件,显示需要过程处理功能的进度。

进度范围值:0-100.

变量控件

勾选global属性可以设置为全局变量。全局变量可以在整个工程内使用,局部变量的作用区域在本页。

变量类型分为int、float、string三种。

Int为四字节整形数据;float为四字节浮点数据;string是ASCII的可见字符串。

使用变量控件,要拖动变量控件图标到编辑区域,作为有效使用标志。

变量控件可以使页面间和控件间的数据进行联动,通过脚本可以实现复杂逻辑。

数组控件

可以设置为全局变量和局部变量。全局变量可以在整个工程内使用,局部变量的作用区域在本页。

类型支持Byte、Int、Float、String四种。

使用变量控件,要拖动变量控件图标到编辑区域,作为有效使用标志。

变量控件可以使页面间和控件间的数据进行联动,通过脚本可以实现复杂逻辑。

浮点数控件

类似于文本框,是一个浮点数的显示控件,值为float类型,省去把浮点数转换为文本显示的处理过程。支持正负数。

整数控件

整数的显示控件,值为int类型,省去把整数转换为文本显示的处理过程。支持正负数。

定时器控件

定时器是重要控件,页面显示的自动动作效果主要来自定时器事件。控制定时器开启、关闭和定时间隔可以完成各种自动操作。

直线控件

在界面上画一条直线。如果是简单应用,用直线可以省去处理图片的工作,也节省存储空间。直线其实就是一个实心矩形,但是可以调整属性,使之有不同倾斜角度。

矩形控件

在界面上画一个矩形。如果是简单应用,用矩形可以省去处理图片的工作。矩形是带有边框的矩形,线宽,颜色,填充,都可以设置。


在界面上画一个圆形。如果是简单应用,用圆形可以省去处理图片的工作。圆形是带有边框的圆形,线宽,颜色,填充都可以处理。

指针控件

围绕中心转动的指针。目前指针的处理相当完善,中心,长端,短端的尖角角度和长度以及颜色,都可以通过配置直接生成,变化多端。并不是一条旋转的直线,不用配置样式,配置不同的参数,就可以生成几十种指针类型。配合绚丽的背景图,可以逼真实现现实中的仪表。

协议解析器控件

用户可以对接收到的数据,自行使用脚本进行数据处理,可以接入以及处理以下的数据(包括但不限于):

外设采集的数据,例如温度,倾角等。

用户键盘输入的键值。

红外控制信号。

用户主控芯片发来的自定义数据(用户可以做自己的HMI通讯协议)。

其他HMI的协议数据。

协议转换使用三易串口屏脚本,会使用C语言就可以轻松完成。

一个工程只能有一个。

作用于全局。

每接收到一次数据,控件内脚本执行一次。

具体使用请参考后续实验章节。

RTC控件

非可见控件形式,需使用系统变量在脚本内获取;

具体使用请参考后续实验章节。

键盘控件

上位机软件内置的一套键盘,包括数字、字母、符号键盘;

用户可根据需求,选择使用其中一个或全键盘;

键盘可放在任意页面,并可调整想要的尺寸;

用户可将软件自带键盘背景图替换成自己设计的图片;

各种类型键盘键可相互转换,可输入小写字母、ASCII码全部符号、数字以及中文。

环形进度条控件

和条形进度条的区别在于表现数据的形式上,一个水平或者垂直表示进度,而此控件是圆环进度,也可做成扇形比;

使用时需准备填充和未填充两张图片;

日志控件

用于打印屏幕模块接收的数据,可打印显示ASCII码、HEX数据;

CAN解析器控件

不可见控件,用法可类比协议解析器控件;

一个工程只能有一个。

作用于全局。

每接收到一次数据,控件内脚本执行一次。

具体使用请参考后续实验章节。

Modbus

解析器控件

不可见控件

一个工程只能有一个。

作用于全局。

每接收到一次数据,控件内脚本执行一次。

具体使用请参考后续实验章节。

IO控件

不可见控件

具体使用请参考后续实验章节。

ADC控件

不可见控件

具体使用请参考后续实验章节。

PWM控件

不可见控件

具体使用请参考后续实验章节。

5. 资源区

资源区存放用户做串口屏界面使用的资源,包括 图片,字库,动画,音频,视频。资源区在VP编辑器的左下方。如图:

1719298756744

功能

介绍

增加资源按钮

1719298786588(1)点击按钮,会弹出文件夹,用户可寻找目录,选择资源。

替换资源按钮

1719298819612选中需要替换的资源,点击按钮,会弹出文件夹,用户可寻找目录,替换资源。

位置上移按钮

1719298827732(1)选中资源,点击按钮,资源会上移一个位置,方便用户排列资源顺序。注意移动位置后,资源的编号会改变,脚本和属性中的资源都是按照编号来选择。

位置下移按钮

1719298810611选中资源,点击按钮,资源会上移一个位置,方便用户排列资源顺序。注意移动位置后,资源的编号会改变,脚本和属性中的资源都是按照编号来选择。

资源删除按钮

1719298801252(1) 选中资源,点击删除按钮,如果这个资源被控件使用,则会不能删除,必须解除控件的相应属性,没有控件使用这个资源,才会删除。如果不能删除,会给出使用这个资源的列表。

资源导出按钮

1719298833840(1) 选中资源。点击导出按钮,则可以导出资源到指定的硬盘位置,会存储为相应的文件格式。方便再次使用。

图片资源操作区

1719299503009点击后,可操作图片资源的增加、替换、删除、位置移动。图片操作简介

字库资源操作区

1719299511297(1)点击后,可操作字库资源的增加、替换、删除。字库操作简介

动画资源操作区

1719299516697点击后,可操作动画资源的增加、替换、删除、位置移动。动画操作简介

音频资源操作区

1719299524437点击后,可操作音频资源的增加、替换、删除。音频操作简介

视频资源操作区

1719299531341点击后,可操作视频资源的增加、替换、删除。视频操作简介

键盘资源操作区

1719299652050点击后,定制系统键盘,增加,替换,删除。键盘操作简介

6. 页面编辑区,输出区,事件编辑器

页面编辑区是页面显示主要工作区域,可以查看基本效果,位置,点击控件进行属性调整等。 输出区,主要功能是输出编译结果,提示编译错误。 事件编辑器,点击不同的控件,会出现不同的事件编辑区域。事件编辑区域中,可以使用类C语言编辑脚本,执行事件处理过程。

7. 页面区域

页面区域位于VP编辑器的右下角,执行新增页面,复制页面,粘贴页面,删除页面的操作。每个页面都有页ID和页名称组成,页名称只能是纯字母或字母和数字组成,ID不可修改,名称可以修改

功能

介绍

新建页面

点击按钮,新建一个页面,双击名称可重命名,命名只支持英文、数字和下划线组合。

复制页面

选中需要复制的页面,点击复制,然后点击后面的粘贴页面,完成页面的复制。

粘贴页面

选中需要复制的页面,点击复制,然后点击后面的粘贴页面,完成页面的复制。

删除页面

选中需要删除的页面,点击后删除页面。

页面上移

选中需要上下移动的页面,点击后改变页面层级顺序,但不会改变页面的ID号。

页面下移

选中需要上下移动的页面,点击后改变页面层级顺序,但不会改变页面的ID号。

页面ID

不可更改,新建页面时自动生成。

页面名称

双击名称可重命名,命名只支持英文、数字和下划线组合。在脚本跨页访问控件时,需要用到完整的页面名称。

8. 脚本语法介绍

8.1 概要

名称

功能

介绍

分隔符

语句结束符“;

英文状态下的分号,每条语句以此为分隔符,同C语言。

标识符

标识变量名称

一个标识符以字母 A-Z 或 a-z 或下划线_开始,后跟零个或多个字母、下划线和数字(0-9)。标识符区分大小写。同C语言。

关键字

语言组成的关键字

目前支持:

if,if else,for,while,do while, break ,continue,int ,float,void。

数据类型

变量的数据类型定义

byte: 带符号单字节。

int:带符号32位整型。

float:带符号32位单精度浮点型。

string:字符串类型(通过变量控件设置和使用)。

其中数组可选择的类型有:byte、int、float、string。

运算符

变量常量之间的运算

目前支持:算术运算符,关系运算符,逻辑运算符。

函数

带参数的功能处理集合

支持带变量的函数处理,方式同C语言,可自定义函数。

字符串

字符串常量

目前支持:字符串相加,用“+”运算符执行。

变量

可变数值的标识符

目前支持:脚本定义类型支持 int、float、byte,作用区域只在当前事件编辑区里,而变量控件可作用于全局。String变量定义,需通过变量控件设置和使用。

8.2 变量类型与定义

局部变量

声明一个整型变量: int a;

声明一个浮点型变量:float b;

定义一个byte数组:byte a[3];

也可直接赋初值:

整型变量: int a = 100;

浮点型变量:float b = 0.01;

byte数组: byte a[3] = {0x01,0x02,0x03};

以上定义只能作用于事件脚本编辑区,无法跨控件或跨页面使用

注意:脚本内变量定义的位置必须在事件脚本最前面,否则编译会报错。

全局变量

全局变量,只能通过变量控件实现。

拖入变量控件,首先在属性栏勾选global属性,勾选后才能全局使用;

控件type属性选择数据类型,可选择选择int、float、byte、string;

变量初值为val属性;

变量的值操作:

若type属性选择的int:var1.val = 123;//变量控件var1的值改为123

若type属性选择的float:var1.valf = 1.23;//变量控件var1的值改为1.23

若type属性选择的string:var1.txt = “good”;//变量控件var1的值改为“good”

8.3 运算符

算术

算术运算符包括:+ - * / %,对应
加 减 乘 除 取余,同C语言。

精度:4字节的整数或者浮点数。

关系

关系运算符包括:< 小于,<= 小于等于,>大于 ,>=大于等于, ==是否相等, !=是否不等。同C语言。

逻辑

逻辑运算符包括:&& 与运算, | 或运算,!非运算。同C语言。

位运算

位运算符包括:“<<”左移运算,“>>”右移运算,“&”位与,“|”位或,“^”位异或。同C语言。

8.4 条件语句

介绍

目前支持条件关键字:
if,if … else…

一个if 语句由一个布尔表达式后跟一个或多个语句组成。如果是一条语句,if,else后不用大括号{},如果为多条,用大括号{},同C语言。

举例:
if(text1.txt==“确定”)
{
text1.txt=“取消”;
}else if(text1.txt==“取消”)
{
text1.txt=“等待”;
}else
{
text1.txt=“确定”;
}
text1是文本控件的名字,txt是文本控件的属性。

8.5 循环语句

关键字

功能

举例

for

固定多次执行一个语句序列,简化管理循环变量的代码。同C语言。

while(a>10)
{
……
}
do
{
……
}while(a>10) 
for (a = 0; a < 100; a++)
{
……
}

while

当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。同C语言。

for

除了它是在循环主体结尾测试条件外,其他与 while 语句类似,同C语言。

break

终止循环语句,程序流将继续执行紧接着循环的下一条语句。同C语言。

continue

告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。同C语言。

8.6 脚本注释

单行注释

// 单行注释
text3.txt = "123";

多行注释:

/*多行注释
  多行注释
  多行注释*/
text3.txt = "123";
text3.txt = "456";