gpt4 book ai didi

installation - 获取单选按钮值 [INNO SETUP]

转载 作者:行者123 更新时间:2023-12-02 04:42:41 26 4
gpt4 key购买 nike

我正在尝试在 Inno Setup 中创建一个新窗口。在这个窗口中:

  • 应该有5个单选按钮
  • 用户只能选择其中一项
  • 当用户单击下一步按钮时,我必须获取并保存单选按钮的值(在某处?),并将此值提供给带有参数的批处理文件(将运行)
  • 我想我应该在 NextButtonClick 的函数中执行一些操作,但我不知道如何才能达到单选按钮的值并保存。

感谢任何帮助。

那个窗口的截图:

enter image description here

现在,我的代码如下:

    #define MyAppName "CDV  Client"
#define MyAppVersion "3.6.1 build 2"
#define MyAppPublisher " CDV"
#define MyAppURL "https://example-cm-1"
#define MyAppExeName "example.exe"


[Setup]
AlwaysUsePersonalGroup=true
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppID={{7C9325AD-6818-42CA-839E}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={code:DriveLetter}:\Tool\CDVClient
DefaultGroupName=Ser
AllowNoIcons=true
OutputBaseFilename=CDVClient_setup
Compression=lzma/Max
SolidCompression=true
SetupLogging=true
PrivilegesRequired=none
DirExistsWarning=yes
AlwaysShowDirOnReadyPage=true
AlwaysShowGroupOnReadyPage=true

[Code]
function DriveLetter(Param: String): String;
begin
if DirExists('d:\') then
Result := 'D'
else if DirExists('e:\') then
Result := 'E'
else
Result := 'C'
end;

var
CDVRadioButton: TNewRadioButton;
ISCRadioButton: TNewRadioButton;
TestRadioButton: TNewRadioButton;
Test2RadioButton: TNewRadioButton;
Test3RadioButton: TNewRadioButton;
lblBlobFileFolder: TLabel;

procedure InitializeWizard;
var
LabelFolder: TLabel;
MainPage: TWizardPage;
FolderToInstall: TNewEdit;

begin
MainPage := CreateCustomPage(wpWelcome, 'Deneme', 'Deneme2');
LabelFolder := TLabel.Create(MainPage);
LabelFolder.Parent := WizardForm;
LabelFolder.Top := 168;
LabelFolder.Left := 6;
LabelFolder.Caption := 'Directory:'

lblBlobFileFolder := TLabel.Create(MainPage);
lblBlobFileFolder.Parent := MainPage.Surface;
lblBlobFileFolder.Top := LabelFolder.Top - 160;
lblBlobFileFolder.Left := LabelFolder.Left;
lblBlobFileFolder.Width := LabelFolder.Width * 5;
lblBlobFileFolder.Caption := 'Please select the convenient extension ';

CDVRadioButton := TNewRadioButton.Create(MainPage);
CDVRadioButton.Parent := MainPage.Surface;
CDVRadioButton.Top := LabelFolder.Top - 120;
CDVRadioButton.Left := LabelFolder.Left;
CDVRadioButton.Width := LabelFolder.Width * 5;
CDVRadioButton.Caption := 'CDV';
CDVRadioButton.Checked := true;

ISCRadioButton := TNewRadioButton.Create(MainPage);
ISCRadioButton.Parent := MainPage.Surface;
ISCRadioButton.Top := LabelFolder.Top - 80;
ISCRadioButton.Left := LabelFolder.Left;
ISCRadioButton.Width := LabelFolder.Width * 5;
ISCRadioButton.Caption := 'ISC';

TestRadioButton := TNewRadioButton.Create(MainPage);
TestRadioButton.Parent := MainPage.Surface;
TestRadioButton.Top := LabelFolder.Top - 40;
TestRadioButton.Left := LabelFolder.Left;
TestRadioButton.Width := LabelFolder.Width * 5;
TestRadioButton.Caption := 'Test1';

Test2RadioButton := TNewRadioButton.Create(MainPage);
Test2RadioButton.Parent := MainPage.Surface;
Test2RadioButton.Top := LabelFolder.Top ;
Test2RadioButton.Left := LabelFolder.Left;
Test2RadioButton.Width := LabelFolder.Width * 5;
Test2RadioButton.Caption := 'Test2';

Test3RadioButton := TNewRadioButton.Create(MainPage);
Test3RadioButton.Parent := MainPage.Surface;
Test3RadioButton.Top := LabelFolder.Top + 40;
Test3RadioButton.Left := LabelFolder.Left;
Test3RadioButton.Width := LabelFolder.Width * 5;
Test3RadioButton.Caption := 'Test3';
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
// I should do something in here but what ? :/
end;

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; OnlyBelowVersion: 0,6.1

[Files]
; add recursesubdirs
Source: "C:\Program Files\Inno Setup 5\Examples\batu.bat"; DestDir: "{app}"; Flags: overwritereadonly recursesubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent

最佳答案

您可以检查单选按钮的“选中”属性以查看选择了哪一个:

if (CDVRadioButton.Checked) then
begin
Do stuff...
end
else if (ISCRadioButton.Checked) then
begin
Do some other stuff...
end;

HTH

关于installation - 获取单选按钮值 [INNO SETUP],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20476219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com