Jump to content
Korean Random

Создание инсталляторов для модпаков на базе Inno Setup


Recommended Posts

День добрый Уважаемые Форумчане!

Листая данный форум узнал много интересного и воплотил это в своей сборке. Огромная за инфу благодарность. Но у меня есть проблемма и я надеюсь Вы мне в этом поможете.

 

 

Прикрутив скин обнаружил что участок скрола пустой. Методом научного тыка добавил ScrollBar и он теперь отображается но от сюда и возникает проблемма

 

attachicon.gifЛицензия.jpg

 

Этот самый скрол не работает. То-есть лицензия прокручивается а ползунок скрола на это не риагирует. Стоит как сувенир. Подскажите как привязать его к прокрутке. Заранее благодарен!

Кините скин ? Пожалуйста) :ok:

Link to comment
Short link
Share on other sites

Размер оригинального изображения больше, чем в инсталяторе

 

Размер картинки и формы где она расположена идентичны. Обратите внимание на саму картинку. Сведение оригинала ровное, а в инстале искажается. Почему?

post-30748-0-55475700-1424343367_thumb.jpg

Link to comment
Short link
Share on other sites

Размер картинки и формы где она расположена идентичны. Обратите внимание на саму картинку. Сведение оригинала ровное, а в инстале искажается. Почему?

тебе же сказали картинка больше чем рамка!!!

Link to comment
Short link
Share on other sites

А как и что такое чекбокс?

как то так 

[Setup]
AppName=Моя программа
AppVersion=1.5
DefaultDirName={pf}\Моя программа
DirExistsWarning=no
AppendDefaultDirName=no

[Languages]
Name: "RU"; MessagesFile: "compiler:Languages\Russian.isl"

[CustomMessages]
RU.CompSubtitlesLng=Язык субтитров
RU.CompVoiceLng=Язык озвучки
RU.CompRussian=Русский
RU.CompEnglish=Английский

[Files]
Source: "compiler:Languages\Russian.isl"; DestDir: "{app}"; DestName: "TextRussian.isl"; Check: IsComponentsForm1(1)
Source: "compiler:Default.isl"; DestDir: "{app}"; DestName: "TextEnglish.isl"; Check: IsComponentsForm1(2)
Source: "compiler:Languages\Russian.isl"; DestDir: "{app}"; DestName: "VoiceRussian.isl"; Check: IsComponentsForm1(4)
Source: "compiler:Default.isl"; DestDir: "{app}"; DestName: "VoiceEnglish.isl"; Check: IsComponentsForm1(5)
//========================================================================\\
Source: "compiler:Languages\Russian.isl"; DestDir: "{app}"; DestName: "TextRussian.isl"; Check: IsComponentsForm2(1)
Source: "compiler:Default.isl"; DestDir: "{app}"; DestName: "TextEnglish.isl"; Check: IsComponentsForm2(2)
Source: "compiler:Languages\Russian.isl"; DestDir: "{app}"; DestName: "VoiceRussian.isl"; Check: IsComponentsForm2(4)
Source: "compiler:Default.isl"; DestDir: "{app}"; DestName: "VoiceEnglish.isl"; Check: IsComponentsForm2(5)
//========================================================================\\
Source: "compiler:Languages\Russian.isl"; DestDir: "{app}"; DestName: "TextRussian.isl"; Check: IsComponentsForm3(1)
Source: "compiler:Default.isl"; DestDir: "{app}"; DestName: "TextEnglish.isl"; Check: IsComponentsForm3(2)
Source: "compiler:Languages\Russian.isl"; DestDir: "{app}"; DestName: "VoiceRussian.isl"; Check: IsComponentsForm3(4)
Source: "compiler:Default.isl"; DestDir: "{app}"; DestName: "VoiceEnglish.isl"; Check: IsComponentsForm3(5)

[Code]
var
  ComponentsPage1,ComponentsPage2,ComponentsPage3: TWizardPage;
  SelectComponentsLabel1,SelectComponentsLabel2,SelectComponentsLabel3: TNewStaticText;
  ComponentsList1,ComponentsList2,ComponentsList3: TNewCheckListBox;

procedure ComponentsForm1;
begin
  ComponentsPage1 := CreateCustomPage(wpSelectComponents, 'ПЕРВАЯ СТРАНИЦА', SetupMessage(msgSelectComponentsDesc));
//========================================================================\\
  SelectComponentsLabel1 := TNewStaticText.Create(WizardForm);
  with SelectComponentsLabel1 do
  begin
    Parent := ComponentsPage1.Surface;
    SetBounds(ScaleX(0), ScaleY(0), ScaleX(417), ScaleY(42));
    AutoSize := False;
    WordWrap := True;
    Caption := SetupMessage(msgSelectComponentsLabel2);
  end;
//========================================================================\\
  ComponentsList1 := TNewCheckListBox.Create(WizardForm);
  with ComponentsList1 do
  begin
    Parent := ComponentsPage1.Surface;
    SetBounds(ScaleX(0), ScaleY(61), ScaleX(417), ScaleY(169));
    AddCheckBox(CustomMessage('CompSubtitlesLng'), '', 0, True, False, False, True, nil);  //0
      AddRadioButton(CustomMessage('CompRussian'), '', 1, True, True, nil);                //1
      AddRadioButton(CustomMessage('CompEnglish'), '', 1, False, True, nil);               //2
    AddCheckBox(CustomMessage('CompVoiceLng'), '', 0, True, False, False, True, nil);      //3
      AddRadioButton(CustomMessage('CompRussian'), '', 1, True, True, nil);                //4
      AddRadioButton(CustomMessage('CompEnglish'), '', 1, False, True, nil);               //5
  end;
end;
procedure ComponentsForm2;
begin
  ComponentsPage2 := CreateCustomPage(ComponentsPage1.ID, 'ВТОРАЯ СТРАНИЦА', SetupMessage(msgSelectComponentsDesc));
//========================================================================\\
  SelectComponentsLabel2 := TNewStaticText.Create(WizardForm);
  with SelectComponentsLabel2 do
  begin
    Parent := ComponentsPage2.Surface;
    SetBounds(ScaleX(0), ScaleY(0), ScaleX(417), ScaleY(42));
    AutoSize := False;
    WordWrap := True;
    Caption := SetupMessage(msgSelectComponentsLabel2);
  end;
//========================================================================\\
  ComponentsList2 := TNewCheckListBox.Create(WizardForm);
  with ComponentsList2 do
  begin
    Parent := ComponentsPage2.Surface;
    SetBounds(ScaleX(0), ScaleY(61), ScaleX(417), ScaleY(169));
    AddCheckBox(CustomMessage('CompSubtitlesLng'), '', 0, True, False, False, True, nil);  //0
      AddRadioButton(CustomMessage('CompRussian'), '', 1, True, True, nil);                //1
      AddRadioButton(CustomMessage('CompEnglish'), '', 1, False, True, nil);               //2
    AddCheckBox(CustomMessage('CompVoiceLng'), '', 0, True, False, False, True, nil);      //3
      AddRadioButton(CustomMessage('CompRussian'), '', 1, True, True, nil);                //4
      AddRadioButton(CustomMessage('CompEnglish'), '', 1, False, True, nil);               //5
  end;
end;

procedure ComponentsForm3;
begin
  ComponentsPage3 := CreateCustomPage(ComponentsPage2.ID, 'ТРЕТЬЯ СТРАНИЦА', SetupMessage(msgSelectComponentsDesc));
//========================================================================\\
  SelectComponentsLabel3 := TNewStaticText.Create(WizardForm);
  with SelectComponentsLabel3 do
  begin
    Parent := ComponentsPage3.Surface;
    SetBounds(ScaleX(0), ScaleY(0), ScaleX(417), ScaleY(42));
    AutoSize := False;
    WordWrap := True;
    Caption := SetupMessage(msgSelectComponentsLabel2);
  end;
//========================================================================\\
  ComponentsList3 := TNewCheckListBox.Create(WizardForm);
  with ComponentsList3 do
  begin
    Parent := ComponentsPage3.Surface;
    SetBounds(ScaleX(0), ScaleY(61), ScaleX(417), ScaleY(169));
    AddCheckBox(CustomMessage('CompSubtitlesLng'), '', 0, True, False, False, True, nil);  //0
      AddRadioButton(CustomMessage('CompRussian'), '', 1, True, True, nil);                //1
      AddRadioButton(CustomMessage('CompEnglish'), '', 1, False, True, nil);               //2
    AddCheckBox(CustomMessage('CompVoiceLng'), '', 0, True, False, False, True, nil);      //3
      AddRadioButton(CustomMessage('CompRussian'), '', 1, True, True, nil);                //4
      AddRadioButton(CustomMessage('CompEnglish'), '', 1, False, True, nil);               //5
  end;
end;

function IsComponentsForm1(CompIndex: Integer): Boolean;
var
  i: Integer;
begin
  Result := False;
  for i := 0 to ComponentsList1.ItemCount - 1 do
  begin
    if CompIndex <= (ComponentsList1.ItemCount - 1) then
      Result := ComponentsList1.Checked[CompIndex];
  end;
end;
//========================================================================\\
function IsComponentsForm2(CompIndex: Integer): Boolean;
var
  i: Integer;
begin
  Result := False;
  for i := 0 to ComponentsList2.ItemCount - 1 do
  begin
    if CompIndex <= (ComponentsList2.ItemCount - 1) then
      Result := ComponentsList2.Checked[CompIndex];
  end;
end;
//========================================================================\\
function IsComponentsForm3(CompIndex: Integer): Boolean;
var
  i: Integer;
begin
  Result := False;
  for i := 0 to ComponentsList3.ItemCount - 1 do
  begin
    if CompIndex <= (ComponentsList3.ItemCount - 1) then
      Result := ComponentsList3.Checked[CompIndex];
  end;
end;

procedure InitializeWizard();
begin
  ComponentsForm1;
  ComponentsForm2;
  ComponentsForm3;
end;

Edited by ♫♫♫Dark_Knight_MiX♫♫♫
Link to comment
Short link
Share on other sites

Всем прив. Как добавить еще одну вкладку Components

А как и что такое чекбокс?

Для начала ознакомиться с программой и языком, который в ней используется.

Edited by Kotyarko_O
  • Upvote 2
Link to comment
Short link
Share on other sites

Рамка 355х210, картинку уменьшил до 320х190 но искажений стало ещё больше. И в чём прикол!?

А что ты хотел?

Есть растровые форматы без потерь, а есть с ними. И если формат с потерями преобразовать в формат без потерь, то потери будут.

 

Edited by Kotyarko_O
  • Upvote 1
  • Downvote 1
Link to comment
Short link
Share on other sites

А что ты хотел?

Есть растровые форматы без потерь, а есть с ними. И если формат с потерями преобразовать в формат без потерь, то потери будут.

 

Полезной информации ноль... К чему трёп о форматах. Где решение проблемы? К тому же картинка глючит только в данной рамке, в других идеально.

Link to comment
Short link
Share on other sites

Полезной информации ноль... К чему трёп о форматах. Где решение проблемы? К тому же картинка глючит только в данной рамке, в других идеально.

Пздц, решение - рамка такого же размера, как и картинка Edited by woole
Link to comment
Short link
Share on other sites

Трёп? - Ну ок.

Без обид. Но я сюда за советом пришёл а не за рассуждениями.

Пздц, решение - рамка такого же размера, как и картинка

Я с того и начал. "Размер картинки и формы где она расположена идентичны."Размер менял, но так только хуже.

  • Downvote 1
Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...