Jump to content
Korean Random

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


Recommended Posts

Вот хороший пример, жуй :)

attachicon.gifDescription&Image.rar

Спасибо но тут же такая же проблема, маленькое оконо исталера, картинки не в понятных сторонах, шас самая большая проблема сделать инсталер больше по размерам post-6639-0-50637300-1400665277_thumb.png

Link to comment
Short link
Share on other sites

Спасибо но тут же такая же проблема, маленькое оконо исталера, картинки не в понятных сторонах, шас самая большая проблема сделать инсталер больше по размерам

Пример

[Code]
Procedure InitializeWizard();
var
  HOffset, WOffset: Integer;
begin
  HOffset:=30;
  WOffset:=30;
  WizardForm.Height:=WizardForm.Height + HOffset;
  WizardForm.Width:=WizardForm.Width + WOffset;
  WizardForm.NextButton.Top:=WizardForm.NextButton.Top + HOffset;
  WizardForm.BackButton.Top:=WizardForm.BackButton.Top + HOffset;
  WizardForm.CancelButton.Top:=WizardForm.CancelButton.Top + HOffset;
  WizardForm.NextButton.Left:=WizardForm.NextButton.Left + WOffset;
  WizardForm.BackButton.Left:=WizardForm.BackButton.Left + WOffset;
  WizardForm.CancelButton.Left:=WizardForm.CancelButton.Left + WOffset;
  WizardForm.ComponentsList.Height:=WizardForm.ComponentsList.Height + HOffset;
  WizardForm.OuterNotebook.Height:=WizardForm.OuterNotebook.Height + HOffset;
  WizardForm.InnerNotebook.Height:=WizardForm.InnerNotebook.Height + HOffset;
  WizardForm.ComponentsList.Width:=WizardForm.ComponentsList.Width + WOffset;
  WizardForm.OuterNotebook.Width:=WizardForm.OuterNotebook.Width + WOffset;
  WizardForm.InnerNotebook.Width:=WizardForm.InnerNotebook.Width + WOffset;
  WizardForm.Bevel.Top:=WizardForm.Bevel.Top + HOffset;
  WizardForm.BeveledLabel.Top:=WizardForm.BeveledLabel.Top + HOffset;
  WizardForm.ComponentsDiskSpaceLabel.Top:=WizardForm.ComponentsDiskSpaceLabel.Top + HOffset;
  WizardForm.Bevel.Width:=WizardForm.Bevel.Width + WOffset;
  WizardForm.Bevel1.Width:=WizardForm.Bevel1.Width + WOffset;
  WizardForm.MainPanel.Width:=WizardForm.MainPanel.Width + WOffset;
  WizardForm.BeveledLabel.Width:=WizardForm.BeveledLabel.Width + WOffset;
  WizardForm.Bevel.Width:=WizardForm.Bevel.Width + WOffset;
  WizardForm.BeveledLabel.Width:=WizardForm.BeveledLabel.Width + WOffset;
  WizardForm.ComponentsDiskSpaceLabel.Width:=WizardForm.ComponentsDiskSpaceLabel.Width + WOffset;
  WizardForm.PageNameLabel.Width:=WizardForm.PageNameLabel.Width + WOffset;
  WizardForm.PageDescriptionLabel.Width:=WizardForm.PageDescriptionLabel.Width + WOffset;
  WizardForm.WizardSmallBitmapImage.Left:= WizardForm.WizardSmallBitmapImage.Left + WOffset;
  WizardForm.Center;
end;

© @AtotIK

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

Уважаемые, очередной дурной вопрос.

Накалякал такие строчки, для вывода изображения выбираемого ресурса:

begin
if not GetCursorPos(pt) then Exit;
InfoPic.Bitmap.LoadFromFile(PicFilePath);
try
with PicForm do
begin
Parent:=WizardForm
SetBounds(ScaleX(500), ScaleY(17), InfoPic.Width, InfoPic.Height);
Show;
end;
finally
SetFocus(WizardForm.Handle);
end;
end;

Это я привязал координаты к окну Визарда. На разных разрешениях монитора, соответственно, картинка будет "гулять". А как привязать к ComponentsList, который у меня располагается в том же окне слева?

Пробую привязать по-всячески - ругается. Возможно такое, или я опять не то что творю?

Link to comment
Short link
Share on other sites

Спасибо, но Вы меня не так поняли. Картинка должна располагаться правее на 5 от ComponentsList, а не в нем :-)

аа, тогда так:

SetBounds(WizardForm.ComponentsList.Left + WizardForm.ComponentsList.Width + 5, ScaleY(17), InfoPic.Width, InfoPic.Height);
Link to comment
Short link
Share on other sites

 

аа, тогда так:

SetBounds(WizardForm.ComponentsList.Left + WizardForm.ComponentsList.Width + 5, ScaleY(17), InfoPic.Width, InfoPic.Height);

Спасибо! Понял свою ошибку: я все пытался в ScaleX(......) засунуть "WizardForm.ComponentsList.Left +  5", вот и ругался он на меня :-)

Link to comment
Short link
Share on other sites

Пример

[code]
Procedure InitializeWizard();
var
  HOffset, WOffset: Integer;
begin
  HOffset:=30;
  WOffset:=30;
  WizardForm.Height:=WizardForm.Height + HOffset;
  WizardForm.Width:=WizardForm.Width + WOffset;
  WizardForm.NextButton.Top:=WizardForm.NextButton.Top + HOffset;
  WizardForm.BackButton.Top:=WizardForm.BackButton.Top + HOffset;
  WizardForm.CancelButton.Top:=WizardForm.CancelButton.Top + HOffset;
  WizardForm.NextButton.Left:=WizardForm.NextButton.Left + WOffset;
  WizardForm.BackButton.Left:=WizardForm.BackButton.Left + WOffset;
  WizardForm.CancelButton.Left:=WizardForm.CancelButton.Left + WOffset;
  WizardForm.ComponentsList.Height:=WizardForm.ComponentsList.Height + HOffset;
  WizardForm.OuterNotebook.Height:=WizardForm.OuterNotebook.Height + HOffset;
  WizardForm.InnerNotebook.Height:=WizardForm.InnerNotebook.Height + HOffset;
  WizardForm.ComponentsList.Width:=WizardForm.ComponentsList.Width + WOffset;
  WizardForm.OuterNotebook.Width:=WizardForm.OuterNotebook.Width + WOffset;
  WizardForm.InnerNotebook.Width:=WizardForm.InnerNotebook.Width + WOffset;
  WizardForm.Bevel.Top:=WizardForm.Bevel.Top + HOffset;
  WizardForm.BeveledLabel.Top:=WizardForm.BeveledLabel.Top + HOffset;
  WizardForm.ComponentsDiskSpaceLabel.Top:=WizardForm.ComponentsDiskSpaceLabel.Top + HOffset;
  WizardForm.Bevel.Width:=WizardForm.Bevel.Width + WOffset;
  WizardForm.Bevel1.Width:=WizardForm.Bevel1.Width + WOffset;
  WizardForm.MainPanel.Width:=WizardForm.MainPanel.Width + WOffset;
  WizardForm.BeveledLabel.Width:=WizardForm.BeveledLabel.Width + WOffset;
  WizardForm.Bevel.Width:=WizardForm.Bevel.Width + WOffset;
  WizardForm.BeveledLabel.Width:=WizardForm.BeveledLabel.Width + WOffset;
  WizardForm.ComponentsDiskSpaceLabel.Width:=WizardForm.ComponentsDiskSpaceLabel.Width + WOffset;
  WizardForm.PageNameLabel.Width:=WizardForm.PageNameLabel.Width + WOffset;
  WizardForm.PageDescriptionLabel.Width:=WizardForm.PageDescriptionLabel.Width + WOffset;
  WizardForm.WizardSmallBitmapImage.Left:= WizardForm.WizardSmallBitmapImage.Left + WOffset;
  WizardForm.Center;
end;

© @AtotIK

Да но получается вот так post-6639-0-92777600-1400683214_thumb.png

 

это то что я пробывал, но тем что ты дал скриптом тоже самое нужно чтоб он всё увеличил а не только окно а содержимое того же размера остаётся 

Link to comment
Short link
Share on other sites

Да но получается вот так

 

это то что я пробывал, но тем что ты дал скриптом тоже самое нужно чтоб он всё увеличил а не только окно а содержимое того же размера остаётся 

Святая корова, вы хоть что-нибудь сможете сделать без участия других? Проект в архиве сюда кидай и ничего пока не меняй. Посмотрю по-быстрому, раз обещал.

Link to comment
Short link
Share on other sites

нужно чтоб он всё увеличил а не только окно а содержимое того же размера остаётся

 

Ха, это не так просто. Нужно будет настроить поведение всех элементов что вы видите на форме, через свойства Align (выравнивание) и Anchors (фиксация границы при ресайзе окна). А для каких-то элементов придется прописать скрипт для изменения их размера или выравнивая перед показом формы.

Святая корова, вы хоть что-нибудь сможете сделать без участия других? Проект в архиве сюда кидай и ничего пока не меняй. Посмотрю по-быстрому, раз обещал.

 

Там в минимальных требованиях к программе надо дописать "Знание ObjPascal"

Edited by StranikS_Scan
Link to comment
Short link
Share on other sites

Ха, это не так просто. Нужно будет настроить поведение всех элементов что вы видите на форме, через свойства Align (выравнивание) и Anchors (фиксация границы при ресайзе окна). А для каких-то элементов придется прописать скрипт для изменения их размера или выравнивая перед показом формы.

 На самом деле всё просто.. осуществляется так же, как и тут, просто названия другие будут.

 

@liked, вон же у тебя есть редактор форм. Заходишь туда, наводишь мышку на элементы, и вписываешь их названия таким же способом, что и расширял основную форму.

Там в минимальных требованиях к программе надо дописать "Знание ObjPascal"

 Эти требования читаются не чаще, чем справка) а как мы видим из всего содержимого этой темы - читается она не часто.

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

Святая корова, вы хоть что-нибудь сможете сделать без участия других? Проект в архиве сюда кидай и ничего пока не меняй. Посмотрю по-быстрому, раз обещал.

 

Да сам делал, а вот картинки победить не могу вот проэкт без картинок BigMusic.rar хочу чтоб было примерно так post-6639-0-64716100-1400684151_thumb.png

 

Зарание спасибо

Link to comment
Short link
Share on other sites

liked, разве это было так сложно?

BigMusic_1.rar

Для других страниц по аналогии. Открываешь редактор форм, выбираешь нужное на странице и копируешь его имя в столбце справа, после изменяешь положение.

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

liked, разве это было так сложно?

attachicon.gifBigMusic_1.rar

Для других страниц по аналогии. Открываешь редактор форм, выбираешь нужное на странице и копируешь его имя в столбце справа, после изменяешь положение.

понятно спасибо дальше попробую сам картинки прикрутить

 

а я делал у меня почему то не получалась, оконо увеличивалась остальное нет оставалось прежним размером ешё раз спасибо

Edited by liked
Link to comment
Short link
Share on other sites

Вот с моего пака, начал пользоваться этим методом задолго до появления папкожовотвикера. Естественно, что с каждым патчем файлы дополняются/изменяются/удаляются.

attachicon.gifwot_tweaker_atotik.rar

Name: "AtotIK\Other\Tweaker_Fog"; Description: "Удалить туман на картах и увеличить дальность видимости";
Name: "AtotIK\Other\Tweaker_Tank_Smoke"; Description: "Удалить дым из выхлопной трубы"; Types: full;
Name: "AtotIK\Other\Tweaker_Tank_Destroy_Smoke"; Description: "Удалить дым от уничтоженных танков"; Types: full;
Name: "AtotIK\Other\Tweaker_Tank_Shoot_Smoke"; Description: "Удалить дым и пламя от выстрела"; Types: full;
Name: "AtotIK\Other\Tweaker_Tank_Hit"; Description: "Удалить эффект попадания в танк";
Name: "AtotIK\Other\Tweaker_Tank_Destroy"; Description: "Удалить эффект уничтожения танка";
Name: "AtotIK\Other\Tweaker_Shells"; Description: "Удалить эффект взрыва снарядов и попадания в объекты";
Name: "AtotIK\Other\Tweaker_Environment"; Description: "Удалить эффекты разрушения объектов";
Name: "AtotIK\Other\Tweaker_Trees"; Description: "Удалить эффект движения деревьев и проявления погоды"; Types: full;
Name: "AtotIK\Other\Tweaker_Skyboxes"; Description: "Удалить облака";

 

Это как можно сделать просто закинуть файлы в папку модс а в компанент листе прописать эти файлы и компаненты или как создать доп страницу?

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

Vupu, яничегонепонял, запятые расставьте и больше конкретики в вопросе. Всё что нужно делать можно логически понять и самому.

Link to comment
Short link
Share on other sites

Это как можно сделать просто закинуть файлы в папку модс а в компанент листе прописать эти файлы и компаненты или как создать доп страницу?

Уважаемые пользователи форума, не сочтите за наглость, но как мне добавить возможность копирования файлов в папку res_mods, и добавить их в список выбора файлов для установки.

Также я хотел бы узнать, как сделать новую страницу в моей программе.

С наилучшими пожеланиями, всегда ваш @Vupu.

Edited by Azbuka_slovensko
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...