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

Вопрос Найдите ошибку в условии

Тема в разделе "Inno Setup", создана пользователем ui3, 1 апр 2019.

  1. ui3 ui3

    Новичок

    Регистрация:
    15 мар 2019
    Сообщения:
    4
    Симпатии:
    0
    Собственно, нашел код, который позволяет расширять WizardForm и все к нему составляющие.

    Изначально, в первоначальном виде, скрипт способствует расширять (по X, Y) оболочку инсталлятора, но не позволяет придать данные значения к отдельно взятым страницам.

    Пробовал как то прописать условие, для того, чтобы скрипт понимал к какой именно странице в инсталляторе я обращаюсь (В моём случае это SelectComponentsPage). Не получилось...

    Нужна помощь, вот исходник, откуда был взят код.

    Самоё прикольное в моём коде, он принимает настройки по условию (1:2) как на картинке, а не наоборт (2:1). Что я делаю не так?!
     

    Вложения:

  2. Старожил Супер модератор

    Регистрация:
    5 мар 2016
    Сообщения:
    409
    Симпатии:
    429
    Пол:
    Мужской
    ui3, переменная CurPageID всегда равна 0, потому что нигде не идет ни присвоение, ни вывода. Уместнее было бы использовать встроенную WizardForm.CurPageID, но тогда инициализацию процедуры GrowWizard нужно было бы делать в обработчике CurPageChanged(CurPageID: Integer), но забегая в перед, предположу заранее что скорее это приведет к многократным увеличениям размеров всех элементов, так как данный метод подразумевает однократное использование. Надеюсь внятно объяснил.

    P.S.: Используйте проверенные методы с ручным присваиванием или Вам решать...
     
  3. Пользователь

    Регистрация:
    27 мар 2014
    Сообщения:
    348
    Симпатии:
    75
    Пол:
    Мужской
    ui3, проверяйте
    Код (Inno):
    [Setup]
    AppName=My Application
    AppVersion=1.5
    DefaultDirName={pf}\My Application

    //#include "include\Components\Components.iss"

    [Components]
    Name: main; Description: Основные компоненты; Flags: checkablealone
    Name: main\ass; Description: Установить ассоциации:; Flags: checkablealone
    Name: main\ass\ani; Description: *.ani;

    [code]
    var
    resize: boolean;

    procedure ShiftDown(Control: TControl; DeltaY: Integer; restore: boolean);
    begin
      if restore then
      Control.Top := Control.Top - DeltaY else
      Control.Top := Control.Top + DeltaY;
    end;

    procedure ShiftRight(Control: TControl; DeltaX: Integer; restore: boolean);
    begin
      if restore then
      Control.Left := Control.Left - DeltaX else
      Control.Left := Control.Left + DeltaX;
    end;

    procedure ShiftDownAndRight(Control: TControl; DeltaX, DeltaY: Integer; restore: boolean);
    begin
      if restore then
      begin
      ShiftDown(Control, DeltaY, true);
      ShiftRight(Control, DeltaX, true);
      end else
      begin
      ShiftDown(Control, DeltaY, false);
      ShiftRight(Control, DeltaX, false);
      end;
    end;

    procedure GrowDown(Control: TControl; DeltaY: Integer; restore: boolean);
    begin
      if restore then
      Control.Height := Control.Height - DeltaY else
      Control.Height := Control.Height + DeltaY;
    end;

    procedure GrowRight(Control: TControl; DeltaX: Integer; restore: boolean);
    begin
      if restore then
      Control.Width := Control.Width - DeltaX else
      Control.Width := Control.Width + DeltaX;
    end;

    procedure GrowRightAndDown(Control: TControl; DeltaX, DeltaY: Integer; restore: boolean);
    begin
      if restore then
      begin
      GrowRight(Control, DeltaX, true);
      GrowDown(Control, DeltaY, true);
      end else
      begin
      GrowRight(Control, DeltaX, false);
      GrowDown(Control, DeltaY, false);
      end;
    end;

    procedure GrowRightAndShiftDown(Control: TControl; DeltaX, DeltaY: Integer; restore: boolean);
    begin
      if restore then
      begin
      GrowRight(Control, DeltaX, true);
      ShiftDown(Control, DeltaY, true);
      end else
      begin
      GrowRight(Control, DeltaX, false);
      ShiftDown(Control, DeltaY, false);
      end;
    end;

    procedure GrowWizard(DeltaX, DeltaY: Integer; restore: boolean);
    begin
      if (restore <> true) then
      begin
          GrowRightAndDown(WizardForm, DeltaX, DeltaY, false);
          with WizardForm do
          begin
           GrowRightAndShiftDown(Bevel, DeltaX, DeltaY, false);
            ShiftDownAndRight(CancelButton, DeltaX, DeltaY, false);
            ShiftDownAndRight(NextButton, DeltaX, DeltaY, false);
            ShiftDownAndRight(BackButton, DeltaX, DeltaY, false);
            GrowRightAndDown(OuterNotebook, DeltaX, DeltaY, false);
            GrowRight(BeveledLabel, DeltaX, false);
            GrowRight(MainPanel, DeltaX, false);
            ShiftRight(WizardSmallBitmapImage, DeltaX, false);
            GrowRight(PageDescriptionLabel, DeltaX, false);
            GrowRight(PageNameLabel, DeltaX, false);
            GrowRight(Bevel1, DeltaX, false);
            GrowRightAndDown(InnerNotebook, DeltaX, DeltaY, false);
            GrowRightAndShiftDown(ComponentsDiskSpaceLabel, DeltaX, DeltaY, false);
            GrowRightAndDown(ComponentsList, DeltaX, DeltaY, false);
            GrowRight(TypesCombo, DeltaX, false);
            GrowRight(SelectComponentsLabel, DeltaX, false);
          end;
      end
      else
      begin
        if resize <> false then
          begin
            resize := false;
            GrowRightAndDown(WizardForm, DeltaX, DeltaY, true);
            with WizardForm do
              begin
                GrowRightAndShiftDown(Bevel, DeltaX, DeltaY, true);
                ShiftDownAndRight(CancelButton, DeltaX, DeltaY, true);
                ShiftDownAndRight(NextButton, DeltaX, DeltaY, true);
                ShiftDownAndRight(BackButton, DeltaX, DeltaY, true);
                GrowRightAndDown(OuterNotebook, DeltaX, DeltaY, true);
                GrowRight(BeveledLabel, DeltaX, true);
                GrowRight(MainPanel, DeltaX, true);
                ShiftRight(WizardSmallBitmapImage, DeltaX, true);
                GrowRight(PageDescriptionLabel, DeltaX, true);
                GrowRight(PageNameLabel, DeltaX, true);
                GrowRight(Bevel1, DeltaX, true);
                GrowRightAndDown(InnerNotebook, DeltaX, DeltaY, true);
                GrowRightAndShiftDown(ComponentsDiskSpaceLabel, DeltaX, DeltaY, true);
                GrowRightAndDown(ComponentsList, DeltaX, DeltaY, true);
                GrowRight(TypesCombo, DeltaX, true);
                GrowRight(SelectComponentsLabel, DeltaX, true);
              end;
          end;
      end;
    end;

    procedure CurPageChanged(CurPageID: Integer);
    begin
      if CurPageID = wpSelectComponents then
        begin
          GrowWizard(ScaleX(150), ScaleY(150), false);
          resize := true;
        end else GrowWizard(ScaleX(150), ScaleY(150), true);
    end;
     

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