Вопрос Вопрос по установки

JodyFa

Новичок
вот
Код:
procedure CreateIni();
begin
  SaveStringsToFile(ExpandConstant('{app}\Desktop.ini'), ['[.ShellClassInfo]', 'IconFile=icon.ico', 'IconIndex=0'], False);
end;
сюда,верно?
 

Socolino

Новичок
Подскажите пж , в конце установки у меня две галочки выбор войти на сервер 1 или 2, но можно выбрать сразу две галочки, что приведет к ошибке игры, как сделать чтобы можно было одну из этих галочек только выбрать ?
2025-01-16_154319.PNG
 

Crachlow

Старожил
Пример со stackoverflow
Код:
[Setup]
AppVersion=1.5
AppName=My Prog
DefaultDirName=.\{#SetupSetting('AppName')}
OutputDir=.
Uninstallable=false
CreateUninstallRegKey=false
DirExistsWarning=false

[Run]
Filename: "{win}\system32\cmd.EXE"; Description: "Launch Console"; Flags: postinstall skipifsilent nowait
Filename: "{win}\system32\control.EXE"; Description: "Launch Panel"; Flags: postinstall skipifsilent unchecked nowait
Filename: "{win}\system32\notepad.EXE"; Description: "Launch Notepad"; Flags: postinstall skipifsilent unchecked
Filename: "{win}\system32\calc.EXE"; Description: "Launch Calculator"; Flags: postinstall skipifsilent unchecked


[Code]

type
  TRunEntry = record
    Caption: string;
    Checked: Boolean;
    Object: TObject;
  end;

procedure RebuildRunList;
var
  RunEntries: array of TRunEntry;
  I: Integer;
begin
  { Save run list ... }
  SetArrayLength(RunEntries, WizardForm.RunList.Items.Count);
  for I := 0 to WizardForm.RunList.Items.Count - 1 do
  begin
    RunEntries[I].Caption := WizardForm.RunList.ItemCaption[I];
    RunEntries[I].Checked := WizardForm.RunList.Checked[I];
    RunEntries[I].Object := WizardForm.RunList.ItemObject[I];
  end;

  { ... clear it ... }
  WizardForm.RunList.Items.Clear;

  { ... and re-create }
  for I := 0 to GetArrayLength(RunEntries) - 1 do
  begin
    { the first two entries are radio buttons }
    if (I = 2) or (I = 3) then
    begin
      WizardForm.RunList.AddRadioButton(
        RunEntries[I].Caption, '', 0, RunEntries[I].Checked, True,
        RunEntries[I].Object);
    end
      else
    begin
      WizardForm.RunList.AddCheckBox(
        RunEntries[I].Caption, '', 0, RunEntries[I].Checked, True, True, True,
        RunEntries[I].Object);
    end;
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpFinished then
  begin
  RebuildRunList;
 end;
end;
 

ZVSRus

Участник
Подскажите пж , в конце установки у меня две галочки выбор войти на сервер 1 или 2, но можно выбрать сразу две галочки, что приведет к ошибке игры, как сделать чтобы можно было одну из этих галочек только выбрать ?
Данный пример есть в справке. называется: Чекбоксы(1из3)
 

Хамик

Старожил
как сделать чтобы можно было одну из этих галочек только выбрать ?
Код:
[Setup]
AppName=app
AppVerName=app
DefaultDirName={pf}\app

[Run]
Filename: "{app}\license.txt"; Description: "Перейти на сайт"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Запустить обновление"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Войти на сервер с модом"; Flags: postinstall shellexec unchecked
Filename: "{app}\license.txt"; Description: "Войти на сервер без модом"; Flags: postinstall shellexec unchecked

[code]
procedure CheckMod(Sender: TObject);
begin
  case WizardForm.RunList.ItemIndex of
    2: WizardForm.RunList.Checked[3] := False;
    3: WizardForm.RunList.Checked[2] := False;
  end;
end;

procedure InitializeWizard();
begin
  WizardForm.RunList.OnClick := @CheckMod;
end;
 
Сверху