表达式
表达式由一系列运算符或数据组成,通过播放器的处理(运算)后会产生一个结果。最简单的表达式仅包含一个字面值常量或变量。较复杂的表达式则由运算符以及一个或多个操作数构成。本软件绝大多数命令均支持表达式,通过表达式可以使命令具有应对各种复杂要求的能力。
使用表达式
本软件中,除非特别说明,否则表达式由 %= 开始,并且以 % 结束,如下例:
例子 | 说明 |
---|---|
%=1 + 2% | 简单的算术表达式 |
%=5 * 变量1% | 有变量参与的算术运算 |
%=strlen( 变量1 )% | 调用函数strlen,求变量1中字符个数 |
%=strlen( 变量1 ) > 10 AND strlen( 变量2 ) < 20% | 一个逻辑表达式,检测是否变量1的字符个数在10到20个之间 |
提示
如果只是变量或是数组元素,则等于(=)符号可以省略,如:
%变量1%
%数组_1[12]%
- 在命令对话框中,只要带
图标的选项,均表示支持表达式。
- 特殊符号仅在表达式中使用的时候需要转义。
- 日期时间值在内存里面的存储结构是和 Windows SDK里面的结构SYSTEMTIME结构相同的。
- 数字型的变量在内存中是以双精度数来存放的。
表达式中的数据类型转换
在播放器运算一个表达式的时候,对于操作符两边的操作数,播放器会始终以左边的数据类型为准,如果右边的操作数数据类型不同,则会自动将其转换,然后再进行运算,如下例:
例子 | 说明 |
---|---|
%=1 + "2"% | 数字+文本,右边的文本"2"将自动转换为数字2,再运算,结果为数字:3 |
%="AB"+20% | 文本加数字,右边的数字将自动转换为文本"20",运算结果为文本:AB20 |
%="AB"+strlen( 变量1 )% | 函数strlen返回的数字将自动转换为,求变量1中字符个数 |
%="AB"+(strle( 变量1 )+10)% | 首先会进行括号内的运算,由于STRLEN函数返回的是一个数字,则会进行数字运算,完成后,在于"AB"进行的加法运算中,由于左边"AB"是一个文本,则会把右边的转换为文本,再进行文本的加法运算。 |