Inno setup Inno设置:使用注册表部分自定义向导页面中的数据

Inno setup Inno设置:使用注册表部分自定义向导页面中的数据,inno-setup,pascalscript,Inno Setup,Pascalscript,我想知道如何使用自定义向导页面中用户输入的值。我有一个自定义页面,用户在其中键入ODBC连接数据。这是本部分的代码: ServerDataPage:=CreateInputQueryPage(AskAuthPage.ID, “SQL Server连接数据”,“”, “请插入数据…”); ServerDataPage.Add('ODBC名称:',False); ServerDataPage.Add('服务器名称:',False); ServerDataPage.Add('User:',False)

我想知道如何使用自定义向导页面中用户输入的值。我有一个自定义页面,用户在其中键入ODBC连接数据。这是本部分的代码:

ServerDataPage:=CreateInputQueryPage(AskAuthPage.ID,
“SQL Server连接数据”,“”,
“请插入数据…”);
ServerDataPage.Add('ODBC名称:',False);
ServerDataPage.Add('服务器名称:',False);
ServerDataPage.Add('User:',False);
ServerDataPage.Add('密码:',False);
这是非常工作,因为它应该。页面将显示输入框和标题

我还从Inno设置中查找了一个示例。有这样一行:

ExamplePage.Values[0]:=GetPreviousData('Name',ExpandConstant('{sysuserinfoname}');
所以我认为一定有一个“落后”的东西,比如:

thisisaviable:=ServerDataPage.Values[x]
我可以使用这些变量创建这样的ODBC吗

Root: HKCU; SubKey: Software\ODBC\ODBC.INI\ODBC Data Sources; ValueType: string; ValueName: Leist; ValueData: SQL Server; Flags: createvalueifdoesntexist uninsdeletevalue
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Driver; ValueType: string; ValueData: {sys}\SQLSRV32.dll
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Server; ValueType: string; ValueData: SERVERADRESS
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Database; ValueType: string; ValueData: DATABASE NAME
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: LastUser; ValueType: string; ValueData: USER
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Password; ValueType: string; ValueData: PASSWORD
如果是这样的话,我应该把它放在脚本的什么地方?整个“自定义向导页面”都在
[code]
部分。这些变量在
[code]
部分之外也可用吗

问候语

使用a使用
[注册表]
(或任何其他)部分的自定义页面中的值:

[代码]
变量
ServerDataPage:TInputQueryWizardPage;
函数GetServerData(参数:string):string;
开始
结果:=ServerDataPage.Values[stroint(Param)];
结束;
[Registry]
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\ODBC Data Sources; \
    ValueType: string; ValueName: Leist; ValueData: SQL Server; \
    Flags: createvalueifdoesntexist uninsdeletevalue
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; \
    Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Driver; \
    ValueType: string; ValueData: {sys}\SQLSRV32.dll
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; \
    Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Server; \
    ValueType: string; ValueData: {code:GetServerData|0}
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; \
    Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Database; \
    ValueType: string; ValueData: {code:GetServerData|1}
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; \
    Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: LastUser; \
    ValueType: string; ValueData: {code:GetServerData|2}
Root: HKCU; SubKey: Software\ODBC\ODBC.INI\Leist; \
    Flags: createvalueifdoesntexist uninsdeletevalue; ValueName: Password; \
    ValueType: string; ValueData: {code:GetServerData|3}