Inno setup 仅当在Inno设置中选择了特定组件时,才显示自定义页面并将输入保存到文件
我正在尝试为我的应用程序构建一个设置,它包含两个部分:服务器和客户端。客户端部分需要有一个由用户输入的IP地址。我正在使用自定义页面提示输入IP地址。但我需要显示自定义页面,只有当用户选择“客户端”组件时Inno setup 仅当在Inno设置中选择了特定组件时,才显示自定义页面并将输入保存到文件,inno-setup,pascalscript,Inno Setup,Pascalscript,我正在尝试为我的应用程序构建一个设置,它包含两个部分:服务器和客户端。客户端部分需要有一个由用户输入的IP地址。我正在使用自定义页面提示输入IP地址。但我需要显示自定义页面,只有当用户选择“客户端”组件时 [Components] Name: "Serveur"; Description: "Server installation"; Types: Serveur; Flags: exclusive; Name: "Client"; Description: "Client installat
[Components]
Name: "Serveur"; Description: "Server installation"; Types: Serveur; Flags: exclusive;
Name: "Client"; Description: "Client installation"; Types: Client; Flags: exclusive
[Types]
Name: "Serveur"; Description: "Server Installation"
Name: "Client"; Description: "Client Installation"
[代码]
变量
页面:TInputQueryWizardPage;
ip:字符串;
过程初始化Wizard();
开始
页面:=CreateInputQueryPage(欢迎使用,
“服务地址”,第192.168.1.120段示例,
“维列兹引荐信”和“服务地址”;
第页添加('IP:',错误);
Page.Values[0]:=ExpandConstant('192.168.x.x');
结束;
函数NextButtonClick(CurPageID:Integer):布尔值;
开始
如果(CurPageID=Page.ID),则
开始
ip:=页值[0];
SaveStringToFile('C:\Program Files\AppClient\ipAddress.txt',ip,False);
结束;
结果:=真;
结束;
wpSelectComponents
传递到CreateInputQueryPage
:
var
页面:TInputQueryWizardPage;
过程初始化Wizard();
开始
第页:=
CreateInputQueryPage(
wpSelectComponents,'IP地址du serveur','par示例:192.168.1.120',
“维列兹引荐信”和“服务地址”;
第页添加('IP:',错误);
Page.Values[0]:='192.168.x.x';
结束;
(还要注意,对不包含任何常量的字符串文本调用ExpandConstant
没有意义)函数IsClient:Boolean;
开始
结果:=IsComponentSelected('Client');
结束;
函数ShouldSkipPage(PageID:Integer):布尔值;
开始
结果:=假;
如果PageID=Page.ID,则
开始
结果:=非IsClient;
结束;
结束;
另见{app}
常量
过程CurStepChanged(CurStep:TSetupStep);
变量
IP:字符串;
开始
如果(CurStep=ssInstall)和IsClient(),则
开始
IP:=页值[0];
SaveStringToFile(ExpandConstant({app}\ipAddress.txt'),IP,False);
结束;
结束;