1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Вопрос Чтение и запись в INI-файл

Тема в разделе "Inno Setup", создана пользователем Chopser, 26 авг 2018.

  1. Ветеран

    Регистрация:
    11 окт 2012
    Сообщения:
    33
    Симпатии:
    0
    Как сделать чтобы сохранялись значения в INI-файл при отметке чекбоксов или радиокнопок и при следующем запуске из него эти значения читались и при другом выборе чекбоксов перезаписывались? Нужно для чтения и записи настроек. Заранее спасибо.
     
  2. Ветеран

    Регистрация:
    27 мар 2014
    Сообщения:
    343
    Симпатии:
    74
    Пол:
    Мужской
    Запись SetIniString, чтение GetIniString
     
    Nemko и sergey3695 нравится это.
  3. Ветеран

    Регистрация:
    11 окт 2012
    Сообщения:
    33
    Симпатии:
    0
    Это я в курсе, а можно примерчик запоминания состояния чекбоксов через INI-файл? Через реестр понятно, а вот в INI не получается совместить запись-чтение.
     
  4. Ветеран

    Регистрация:
    27 мар 2014
    Сообщения:
    343
    Симпатии:
    74
    Пол:
    Мужской
    Chopser,
    Код (Inno):
    [Setup]
    AppName=MyProg
    AppVersion= 1.5
    CreateAppDir=no
    OutputBaseFilename=setup

    [Code]
    var
      NewCheckBox1: TNewCheckBox;
      NewCheckBox2: TNewCheckBox;
      NewCheckBox3: TNewCheckBox;
      NewCheckBox4: TNewCheckBox;
      NewCheckBox5: TNewCheckBox;
      NewCheckBox6: TNewCheckBox;
      NewCheckBox7: TNewCheckBox;
      NewCheckBox8: TNewCheckBox;

    procedure RedesignWizardForm;
    begin
      with WizardForm.WelcomeLabel2 do
      begin
        Visible := False;
      end;

      with WizardForm.WelcomeLabel1 do
      begin
        Visible := False;
      end;

      { NewCheckBox1 }
      NewCheckBox1 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox1 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(96);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox1';
        Checked := GetIniString('General', 'NewCheckBox1', '', ExpandConstant('{src}\settings.ini'))='True';
      end;

      { NewCheckBox2 }
      NewCheckBox2 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox2 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(136);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox2';
        Checked := GetIniString('General', 'NewCheckBox2', '', ExpandConstant('{src}\settings.ini'))='True';
      end;

      { NewCheckBox3 }
      NewCheckBox3 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox3 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(176);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox3';
        Checked := GetIniString('General', 'NewCheckBox3', '', ExpandConstant('{src}\settings.ini'))='True';
      end;

      { NewCheckBox4 }
      NewCheckBox4 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox4 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(216);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox4';
        Checked := GetIniString('General', 'NewCheckBox4', '', ExpandConstant('{src}\settings.ini'))='True';
      end;

      { NewCheckBox5 }
      NewCheckBox5 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox5 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(96);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox5';
        Checked := GetIniString('General', 'NewCheckBox5', '', ExpandConstant('{src}\settings.ini'))='True';
      end;

      { NewCheckBox6 }
      NewCheckBox6 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox6 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(136);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox6';
        Checked := GetIniString('General', 'NewCheckBox6', '', ExpandConstant('{src}\settings.ini'))='True';
      end;

      { NewCheckBox7 }
      NewCheckBox7 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox7 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(176);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox7';
        Checked := GetIniString('General', 'NewCheckBox7', '', ExpandConstant('{src}\settings.ini'))='True';
      end;

      { NewCheckBox8 }
      NewCheckBox8 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox8 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(216);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox8';
        Checked := GetIniString('General', 'NewCheckBox8', '', ExpandConstant('{src}\settings.ini'))='True';
      end;
    end;

    procedure InitializeWizard();
    begin
      RedesignWizardForm;
    end;

    procedure RememberCheckBoxState();
    begin
      if NewCheckBox1.Checked then SetIniString('General', 'NewCheckBox1', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox1', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox2.Checked then SetIniString('General', 'NewCheckBox2', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox2', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox3.Checked then SetIniString('General', 'NewCheckBox3', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox3', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox4.Checked then SetIniString('General', 'NewCheckBox4', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox4', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox5.Checked then SetIniString('General', 'NewCheckBox5', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox5', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox6.Checked then SetIniString('General', 'NewCheckBox6', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox6', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox7.Checked then SetIniString('General', 'NewCheckBox7', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox7', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox8.Checked then SetIniString('General', 'NewCheckBox8', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox8', 'False', ExpandConstant('{src}\settings.ini'));
    end;

    procedure DeinitializeSetup();
    begin
      RememberCheckBoxState();
    end;
    Код (Text):
    [General]
    NewCheckBox1=True
    NewCheckBox2=False
    NewCheckBox3=False
    NewCheckBox4=True
    NewCheckBox5=False
    NewCheckBox6=True
    NewCheckBox7=True
    NewCheckBox8=False

    Хотя правильнее будет так:
    Код (Inno):
    [Setup]
    AppName=MyProg
    AppVersion= 1.5
    CreateAppDir=no
    OutputBaseFilename=setup

    [Code]
    var
      NewCheckBox1: TNewCheckBox;
      NewCheckBox2: TNewCheckBox;
      NewCheckBox3: TNewCheckBox;
      NewCheckBox4: TNewCheckBox;
      NewCheckBox5: TNewCheckBox;
      NewCheckBox6: TNewCheckBox;
      NewCheckBox7: TNewCheckBox;
      NewCheckBox8: TNewCheckBox;

    procedure GetCheckBoxState();
    begin
      if FileExists(ExpandConstant('{src}\settings.ini')) then
        begin
          if GetIniString('General', 'NewCheckBox1', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox1.Checked := True else NewCheckBox1.Checked := False;
          if GetIniString('General', 'NewCheckBox2', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox2.Checked := True else NewCheckBox2.Checked := False;
          if GetIniString('General', 'NewCheckBox3', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox3.Checked := True else NewCheckBox3.Checked := False;
          if GetIniString('General', 'NewCheckBox4', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox4.Checked := True else NewCheckBox4.Checked := False;
          if GetIniString('General', 'NewCheckBox5', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox5.Checked := True else NewCheckBox5.Checked := False;
          if GetIniString('General', 'NewCheckBox6', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox6.Checked := True else NewCheckBox6.Checked := False;
          if GetIniString('General', 'NewCheckBox7', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox7.Checked := True else NewCheckBox7.Checked := False;
          if GetIniString('General', 'NewCheckBox8', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox8.Checked := True else NewCheckBox8.Checked := False;
        end;
    end;

    procedure RedesignWizardForm;
    begin
      with WizardForm.WelcomeLabel2 do
      begin
        Visible := False;
      end;

      with WizardForm.WelcomeLabel1 do
      begin
        Visible := False;
      end;

      { NewCheckBox1 }
      NewCheckBox1 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox1 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(96);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox1';
        Checked := False;
      end;

      { NewCheckBox2 }
      NewCheckBox2 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox2 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(136);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox2';
        Checked := False;
      end;

      { NewCheckBox3 }
      NewCheckBox3 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox3 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(176);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox3';
        Checked := True;
      end;

      { NewCheckBox4 }
      NewCheckBox4 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox4 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(216);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox4';
        Checked := True;
      end;

      { NewCheckBox5 }
      NewCheckBox5 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox5 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(96);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox5';
        Checked := False;
      end;

      { NewCheckBox6 }
      NewCheckBox6 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox6 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(136);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox6';
        Checked := False;
      end;

      { NewCheckBox7 }
      NewCheckBox7 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox7 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(176);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox7';
        Checked := True;
      end;

      { NewCheckBox8 }
      NewCheckBox8 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox8 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(216);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox8';
        Checked := True;
      end;
    end;

    procedure InitializeWizard();
    begin
      RedesignWizardForm;
      GetCheckBoxState(); //чтение
    end;

    procedure RememberCheckBoxState();
    begin
      if NewCheckBox1.Checked then SetIniString('General', 'NewCheckBox1', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox1', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox2.Checked then SetIniString('General', 'NewCheckBox2', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox2', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox3.Checked then SetIniString('General', 'NewCheckBox3', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox3', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox4.Checked then SetIniString('General', 'NewCheckBox4', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox4', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox5.Checked then SetIniString('General', 'NewCheckBox5', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox5', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox6.Checked then SetIniString('General', 'NewCheckBox6', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox6', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox7.Checked then SetIniString('General', 'NewCheckBox7', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox7', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox8.Checked then SetIniString('General', 'NewCheckBox8', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox8', 'False', ExpandConstant('{src}\settings.ini'));
    end;

    procedure DeinitializeSetup();
    begin
      RememberCheckBoxState(); //запись
    end;
     
    Последнее редактирование: 26 авг 2018
    Nemko нравится это.
  5. Ветеран

    Регистрация:
    11 окт 2012
    Сообщения:
    33
    Симпатии:
    0
    Хамик, спасибо большое, буду пробовать.
     
  6. Ветеран

    Регистрация:
    11 окт 2012
    Сообщения:
    33
    Симпатии:
    0
    Попробовал вариант 2, при отмене на странице с чекбоксами - все равно перезаписывает файл settings.ini. То есть выбираем определенные чекбоксы, а потом жмем "Отмена" - файл настроек все равно перезаписывается и при следующем запуске имеем измененный набор чекбоксов, хотя установки не было.
     
  7. Ветеран

    Регистрация:
    27 мар 2014
    Сообщения:
    343
    Симпатии:
    74
    Пол:
    Мужской
    Chopser, Откуда мне знать когда вам нужно перезаписывать. Дал пример, процедуры чтения и записи отдельно написаны, пропишите их там где вам нужно.
     
  8. Ветеран

    Регистрация:
    11 окт 2012
    Сообщения:
    33
    Симпатии:
    0
    Хамик, ну при отмене установки то не должно выполняться вообще ничего, в том числе и запись в INI. Запись должна выполняться только при нажатии NextButton. У меня всего одна страница и на ней NextButton с текстом "ОК". Типа просто конфигуратор для программы которая читает данные из INI-файла.
     
  9. Ветеран

    Регистрация:
    27 мар 2014
    Сообщения:
    343
    Симпатии:
    74
    Пол:
    Мужской
    Chopser, Добавляем процедуру записи на кнопку Next на странице WelcomePage
    Код (Inno):
    [Setup]
    AppName=MyProg
    AppVersion= 1.5
    CreateAppDir=no
    OutputBaseFilename=setup

    [Code]
    var
      NewCheckBox1: TNewCheckBox;
      NewCheckBox2: TNewCheckBox;
      NewCheckBox3: TNewCheckBox;
      NewCheckBox4: TNewCheckBox;
      NewCheckBox5: TNewCheckBox;
      NewCheckBox6: TNewCheckBox;
      NewCheckBox7: TNewCheckBox;
      NewCheckBox8: TNewCheckBox;

    procedure GetCheckBoxState();
    begin
      if FileExists(ExpandConstant('{src}\settings.ini')) then
        begin
          if GetIniString('General', 'NewCheckBox1', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox1.Checked := True else NewCheckBox1.Checked := False;
          if GetIniString('General', 'NewCheckBox2', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox2.Checked := True else NewCheckBox2.Checked := False;
          if GetIniString('General', 'NewCheckBox3', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox3.Checked := True else NewCheckBox3.Checked := False;
          if GetIniString('General', 'NewCheckBox4', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox4.Checked := True else NewCheckBox4.Checked := False;
          if GetIniString('General', 'NewCheckBox5', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox5.Checked := True else NewCheckBox5.Checked := False;
          if GetIniString('General', 'NewCheckBox6', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox6.Checked := True else NewCheckBox6.Checked := False;
          if GetIniString('General', 'NewCheckBox7', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox7.Checked := True else NewCheckBox7.Checked := False;
          if GetIniString('General', 'NewCheckBox8', '', ExpandConstant('{src}\settings.ini'))='True' then NewCheckBox8.Checked := True else NewCheckBox8.Checked := False;
        end;
    end;

    procedure RedesignWizardForm;
    begin
      with WizardForm.WelcomeLabel2 do
      begin
        Visible := False;
      end;

      with WizardForm.WelcomeLabel1 do
      begin
        Visible := False;
      end;

      { NewCheckBox1 }
      NewCheckBox1 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox1 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(96);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox1';
        Checked := False;
      end;

      { NewCheckBox2 }
      NewCheckBox2 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox2 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(136);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox2';
        Checked := False;
      end;

      { NewCheckBox3 }
      NewCheckBox3 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox3 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(176);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox3';
        Checked := True;
      end;

      { NewCheckBox4 }
      NewCheckBox4 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox4 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(216);
        Top := ScaleY(216);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox4';
        Checked := True;
      end;

      { NewCheckBox5 }
      NewCheckBox5 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox5 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(96);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox5';
        Checked := False;
      end;

      { NewCheckBox6 }
      NewCheckBox6 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox6 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(136);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox6';
        Checked := False;
      end;

      { NewCheckBox7 }
      NewCheckBox7 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox7 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(176);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox7';
        Checked := True;
      end;

      { NewCheckBox8 }
      NewCheckBox8 := TNewCheckBox.Create(WizardForm);
      with NewCheckBox8 do
      begin
        Parent := WizardForm.WelcomePage;
        Left := ScaleX(344);
        Top := ScaleY(216);
        Width := ScaleX(97);
        Height := ScaleY(17);
        Caption := 'NewCheckBox8';
        Checked := True;
      end;
    end;

    procedure InitializeWizard();
    begin
      RedesignWizardForm;
      GetCheckBoxState(); //чтение
    end;

    procedure RememberCheckBoxState();
    begin
      if NewCheckBox1.Checked then SetIniString('General', 'NewCheckBox1', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox1', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox2.Checked then SetIniString('General', 'NewCheckBox2', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox2', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox3.Checked then SetIniString('General', 'NewCheckBox3', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox3', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox4.Checked then SetIniString('General', 'NewCheckBox4', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox4', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox5.Checked then SetIniString('General', 'NewCheckBox5', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox5', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox6.Checked then SetIniString('General', 'NewCheckBox6', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox6', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox7.Checked then SetIniString('General', 'NewCheckBox7', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox7', 'False', ExpandConstant('{src}\settings.ini'));
      if NewCheckBox8.Checked then SetIniString('General', 'NewCheckBox8', 'True', ExpandConstant('{src}\settings.ini')) else SetIniString('General', 'NewCheckBox8', 'False', ExpandConstant('{src}\settings.ini'));
    end;

    function NextButtonClick(CurPageID: Integer): Boolean;
    begin
      if CurPageID = wpWelcome then RememberCheckBoxState(); //запись
    end;

     
     
  10. Ветеран

    Регистрация:
    18 сен 2014
    Сообщения:
    440
    Симпатии:
    59
    Пол:
    Мужской
    Парни вроде вопрос элементарный но боюсь запутаться..
    Надо чтоб инсталлятор внес запись в ini файл в котором изначально одна строчка
    Код (C++):
    [Engine.XComModOptions]
     
    А надо сделать так
    Код (C++):
    [Engine.XComModOptions]
    ActiveMods="LW_Overhaul"
     
     
  11. Ветеран

    Регистрация:
    27 мар 2014
    Сообщения:
    343
    Симпатии:
    74
    Пол:
    Мужской
    dixen18,
    Код (Text):
    SetIniString('Engine.XComModOptions', 'ActiveMods', '"LW_Overhaul"', ExpandConstant('{src}\settings.ini'));
     
    dixen18 нравится это.
  12. Ветеран

    Регистрация:
    18 сен 2014
    Сообщения:
    440
    Симпатии:
    59
    Пол:
    Мужской
    Хамик, Спасибо) Уже все сделано)
     
  13. Ветеран

    Регистрация:
    11 окт 2012
    Сообщения:
    33
    Симпатии:
    0
    Хамик, спасибо большое за помощь.
     

Поделиться этой страницей