第二章 语法
1.1 inno setup 语法介绍
inno setup 是由 Delphi开发,并且开源,其中[Code]字段语法是Pascal脚本,Pascal脚本和Delphi语法基本相同,如果你会Delphi,对于这个还是很容易上手的,并且部分Delphi语句可以直接拿过来使用。
Pascal语言广泛用于各种软件,程序分为名称(program后自拟)、设置(var后规定)、开始(begin)、程序(正文)、读取(read/readln)、结束(end),结构层次强,严谨而又紧密。
那么给一个简单的例子,将本段代码粘贴到[code]区域即可使用,其中InitializeWizard()函数为安装包初始化事件,本事件将在下一章详解。
procedure InitializeWizard();
begin
MsgBox('Hello world', MBInformation, MB_OK);
end;运行效果如下
图 1.1-1 运行效果图
1.2 函数声明
Pascal规定,子程序声明为:procedure 函数名(参数);或 function 函数名(参数):返回值类型;,其中每句procedure 声明函数不需要返回参数,function 声明函数需要返回一个数值。
为了语法严谨,每句代码结尾应加上分号“;”,和PHP是一样的,当然,不加也无所谓,但是建议最好还是加上。
函数声明后需要使用begin和end包围,如下:
procedure 函数名(参数);
begin
代码语句
end;begin和end相当于大多数语言里面的大括号,如PHP的函数声明
function hell (参数)
{
函数体
返回值
}1.3 变量与赋值
inno setup代码段的变量声明和大多数的语法相当,但是变量名后的类型需要用冒号相连,并且变量名在前,变量类型在后,如:
var
hello:String;
intvalue:Integer;其中,var为声明开头,可以换行或者紧跟变量声明声明语句。var只需要输入一次。同一种变量可以写为:
var hello,hello2:String每一个变量名使用英文逗号隔开。
赋值语句,赋值语句只能在函数体内使用,不能在函数外使用,否则会出现未定义错误。赋值语句语法为变量名:=数值;,如:
hello:='Hello world';和其他语言不同的是等号前需要加上英文冒号。
综上,我们可以在代码区测试的代码
var hello:String;
procedure InitializeWizard();
begin
hello:='Hello world';
MsgBox(hello, MBInformation, MB_OK);
end;测试效果如图
图 1.3-1 运行效果图
1.4 判断语句
inno setup中的判断语句和大多数语言相当,又具有一定的区别。
if 判断语句 then
begin
代码块
end;其中,开始和结束符号还是begin和end。其中begin和end并不是必须的,如果没有分支,就不需要加此语句,如:
*变量声明已省略
a:=1;
if a=1 then
MsgBox('a的确等于1', MBInformation, MB_OK);
如果有分支判断,必须加上begin和end,如
if a=1 then
begin
MsgBox('a的确等于1', MBInformation, MB_OK);
end;
else
begin
MsgBox('a不等于1', MBInformation, MB_OK);
end;其中,判断语句可以使用()包裹,这一点和其他的语法是一样的,如: if (a=1) then,但是加了本符号,第一个end后面不能添加分号!
好了,我们安装包需要用到的语法,基本上就这些了,后面还需要的话我会添加
本文介绍了Inno Setup的Pascal脚本语法,包括语法基础、函数声明、变量赋值和判断语句。通过示例展示了如何在安装包初始化事件中使用Pascal脚本,帮助Delphi程序员快速上手。
4570

被折叠的 条评论
为什么被折叠?



