20180125
script的结构
包括声明和函数块。声明可以在函数声明之前或者在函数语句和begin语句之间出现。
声明
每一个脚本都以全局数据声明为开始。此处定义常量(类似于C语言中的宏定义),声明每一个全局变量以及即将使用的用户定义的函数。
// Constant definitions #define PRODUCT "InstallShield" #define LIMIT 100 // Variable declarations CHAR cVal; NUMBER nVal; STRING szName; // Function declarations prototype DisplayMsg (NUMBER, STRING); prototype GetName (BYREF STRING);
函数块
以prototype语句生命过的所有函数必须在函数块中定义,在
endprogram
关键字之后其他的全局数据声明可以在功能块中,在endprogram语句和第一个函数声明之间或者在函数声明之间进行。 但是,在功能块中声明的数据仅对数据声明后定义的函数可见。
语法符号规则
分号结尾;
define and #include 不需要分号结尾;
关键字诸如program, endprogram, 和begin 等被置于单独行,不需要标点符号;
函数起始行不需要标点符号;
标签诸如start: 或者startthere: 以冒号结尾。(目前还没搞懂这里)
在括号内包含参数列表。用逗号分隔多个参数。
注释
和C语言一样
空格
InstallScript 不识别空白字符(spaces and tabs, carriage returns)
匈牙利命名法
For example, iPointSize denotes an integer variable, while szFileName indicates
a string variable.变量参数命名:第一个字母代表参数类型,v代表必须是变量,不能是常数:szPath可以是字符串常量,而svDir必须是字符串变量。
详见下表:
前缀表:
Prefix | Data Type |
---|