MS_RAMIS 0 #396529 Posted July 1, 2017 ВСЕМ Привет!!! увы я не гуру в Inno Setup помогите сделать встроенный wot_tweaker в установщике, то есть мне нужно что бы после страницы модов шла страница "Повысить FPS" с чебоксами отключения различных эффектов Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #396533 Posted July 1, 2017 ВСЕМ Привет!!! увы я не гуру в Inno Setup помогите сделать встроенный wot_tweaker в установщике, то есть мне нужно что бы после страницы модов шла страница "Повысить FPS" с чебоксами отключения различных эффектов Вот посмотри я ссылку давал .. готовый модпак и там исходник.. возьми и посмотри, скопируй , поизучай! https://koreanrandom.com/forum/topic/9050-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8%D0%BD%D1%81%D1%82%D0%B0%D0%BB%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%BE%D0%B4%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2-%D0%BD%D0%B0-%D0%B1%D0%B0%D0%B7%D0%B5-inno-setup/page-240?do=findComment&comment=395128 1 1 Quote Share this post Link to post Short link Share on other sites
Lom 48 #396536 Posted July 1, 2017 (edited) ВСЕМ Привет!!! увы я не гуру в Inno Setup помогите сделать встроенный wot_tweaker в установщике, то есть мне нужно что бы после страницы модов шла страница "Повысить FPS" с чебоксами отключения различных эффектов я тоже не гуру но можно сделать просто вот так))) [Setup] AppName="ххх" AppVersion=1.0 DefaultDirName=C:\Games\World_of_Tanks\ AppendDefaultDirName=no [Tasks] Name: "K"; Description: "WoT Tweaker Plus - для повышения FPS"; Flags: unchecked; Name: "K\2"; Description: "Увеличение максимальной дальности видимости"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\3"; Description: "Удаление тумана на всех картах"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\4"; Description: "Отключить эффекты погоды и дым на картах"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\5"; Description: "Отключить эффект взрыва снарядов и попадания в объекты"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\6"; Description: "Отключить облака"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\7"; Description: "Отключить дым от уничтоженных танков"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\8"; Description: "Отключить эффекты попадания по танкам"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\9"; Description: "Отключить тень под танками"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\10"; Description: "Отключить дым и пламя от выстрелов"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\11"; Description: "Отключить дым из выхлопных труб танков"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\12"; Description: "Отключить эффект движения деревьев"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; [Files] ///////////////////////////////////////////////////////////////////// WoT Tweaker Plus /////////////////////////// Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\2 Увеличение максимальной дальности видимости\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\2; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\3 Удаление тумана на всех картах\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\3; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\4 Отключить эффекты проявления погоды и дым от объектов на картах\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\4; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\5 Отключить эффект взрыва снарядов и попадания в объекты\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\5; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\6 Отключить облака\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\6; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\7 Отключить дым от уничтоженных танков\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\7; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\8 Отключить эффекты попадания по танкам\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\8; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\9 Отключить тень под танками\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\9; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\10 Отключить дым и пламя от выстрелов\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\10; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\11 Отключить дым из выхлопных труб танков\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\11; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\12 Отключить эффект движения деревьев\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\12; BeforeInstall: и после модов у тебя будет отдельная страница для твикера))) Edited July 1, 2017 by ЛОМ 2 Quote Share this post Link to post Short link Share on other sites
MS_RAMIS 0 #396537 Posted July 1, 2017 я тоже не гуру но можно сделать просто вот так))) [Setup] AppName="ххх" AppVersion=1.0 DefaultDirName=C:\Games\World_of_Tanks\ AppendDefaultDirName=no [Tasks] Name: "K"; Description: "WoT Tweaker Plus - для повышения FPS"; Flags: unchecked; Name: "K\2"; Description: "Увеличение максимальной дальности видимости"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\3"; Description: "Удаление тумана на всех картах"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\4"; Description: "Отключить эффекты погоды и дым на картах"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\5"; Description: "Отключить эффект взрыва снарядов и попадания в объекты"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\6"; Description: "Отключить облака"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\7"; Description: "Отключить дым от уничтоженных танков"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\8"; Description: "Отключить эффекты попадания по танкам"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\9"; Description: "Отключить тень под танками"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\10"; Description: "Отключить дым и пламя от выстрелов"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\11"; Description: "Отключить дым из выхлопных труб танков"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; Name: "K\12"; Description: "Отключить эффект движения деревьев"; GroupDescription: "Отключение эффектов:"; Flags: unchecked; [Files] ///////////////////////////////////////////////////////////////////// WoT Tweaker Plus /////////////////////////// Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\2 Увеличение максимальной дальности видимости\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\2; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\3 Удаление тумана на всех картах\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\3; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\4 Отключить эффекты проявления погоды и дым от объектов на картах\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\4; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\5 Отключить эффект взрыва снарядов и попадания в объекты\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\5; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\6 Отключить облака\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\6; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\7 Отключить дым от уничтоженных танков\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\7; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\8 Отключить эффекты попадания по танкам\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\8; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\9 Отключить тень под танками\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\9; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\10 Отключить дым и пламя от выстрелов\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\10; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\11 Отключить дым из выхлопных труб танков\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\11; BeforeInstall: Source: "F:\А ДЛЯ СБОРКИ\МОДЫ\МОДЫ\0 1 WoT Tweaker Plus\12 Отключить эффект движения деревьев\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Tasks: K\12; BeforeInstall: и после модов у тебя будет отдельная страница для твикера))) СПАСИБО БОЛЬШОЕ ))) только можно как нибудь изменить размер содержимого окна. т.е. у меня получилось не на все окно ... Quote Share this post Link to post Short link Share on other sites
Nowik1971 2 #396538 Posted July 1, 2017 (edited) СПАСИБО БОЛЬШОЕ ))) только можно как нибудь изменить размер содержимого окна. т.е. у меня получилось не на все окно ... В редакторе форм инно поменяй Таск ширину и высоту.... как надо растяни Edited July 1, 2017 by Nowik1971 1 1 Quote Share this post Link to post Short link Share on other sites
Lom 48 #396539 Posted July 1, 2017 (edited) СПАСИБО БОЛЬШОЕ ))) только можно как нибудь изменить размер содержимого окна. т.е. у меня получилось не на все окно ... в редакторе форм. В Select TasksPage просто растяни на сколько тебе нужно. ответили уже)) не заметил)) Edited July 1, 2017 by ЛОМ 1 Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #396553 Posted July 2, 2017 (edited) with WizardForm.TasksList do begin Left := ScaleX(172); Top := ScaleY(60); Width := ScaleX(444); Height := ScaleY(228); Color := clBlack; Font.Color := clWhite; Font.Height := -19; Font.Name := 'Times New Roman'; OnClick := @TasksListClick; ParentFont := False; end; в скрипте такое найди и меняй и двигай куда хочешь Edited July 2, 2017 by sergy2010 Quote Share this post Link to post Short link Share on other sites
MS_RAMIS 0 #396554 Posted July 2, 2017 в редакторе форм. В Select TasksPage просто растяни на сколько тебе нужно. ответили уже)) не заметил)) через редактор форм менял размер ... и получил код { RedesignWizardFormBegin } // Не удалять эту строку! // Не изменять эту секцию. Она создана автоматически. procedure RedesignWizardForm; begin with WizardForm.TasksList do begin Width := ScaleX(600); Height := ScaleY(350); end; { ReservationBegin } // Вы можете добавить ваш код здесь. { ReservationEnd } end; // Не изменять эту секцию. Она создана автоматически. { RedesignWizardFormEnd } // Не удалять эту строку! при компиляции выдает ошибку вот код [Code] //--------------- ФАК ---------------\\ var InfoForm: TSetupForm; Info, Ok: TButton; InfoBefore: TRichEditViewer; ReadmeRu,ReadmeEn: AnsiString; procedure Okclick(Sender: TObject); begin InfoForm.Close; WizardForm.Enabled:=True; end; procedure FormClose(Sender: TObject; var Action: TCloseAction); begin WizardForm.Enabled:=true; end; procedure InfoClick(Sender: TObject); begin InfoForm:= CreateCustomForm(); with InfoForm do begin ClientWidth := ScaleX(600); ClientHeight := ScaleY(400); CenterInsideControl(WizardForm, False); Caption:='Страница FAQ'; onClose:=@FormClose; Ok:=tbutton.create(InfoForm) with Ok do begin SetBounds(ScaleX(490),ScaleY(370),ScaleX(80),ScaleY(25)); parent:=InfoForm; Caption:='Закрыть'; onclick:=@OKclick; end; InfoBefore:= TRichEditViewer.Create(InfoForm); with InfoBefore do begin SetBounds(ScaleX(10),ScaleY(10),ScaleX(580),ScaleY(355)); Parent:= InfoForm; // ParentColor := True; // Color:= WizardForm.Color; // BorderStyle:= bsNone; ScrollBars:= ssVertical; ReadOnly:= true; RTFText:= ReadmeRu end; InfoForm.Show; WizardForm.Enabled:=false; end; end; procedure InitializeWizard3(); begin ExtractTemporaryFile('ReadMeRu.rtf'); LoadStringFromFile(ExpandConstant('{tmp}')+'\ReadMeRu.rtf', ReadmeRu); Info:=tbutton.create(WizardForm); with Info do begin Parent:=WizardForm; SetBounds(ScaleX(115),ScaleY(497),ScaleX(80),ScaleY(23)); Caption:='F.A.Q'; OnClick:=@InfoClick; end; end; //--------------- ФАК ---------------\\ function MyDirName(S:String): String; var InsPath: String; er: boolean; myFile:String; begin Result:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюда er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath); if er and (InsPath<>'') then //если ключ существует и там что-то записано begin Result := InsPath; end; end; //==== Проверка WoT ====\\ function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; case CurPageID of wpSelectDir: if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then begin MsgBox('Не верно указана папка с игрой World_of_Tanks!', mbError, MB_OK); Result := False; end; end; end; //==== Проверка WoT ====\\ //==== Переход на сайт ====\\ Procedure GoToSite(CurStep: TSetupStep); var RC: Integer; begin if CurStep = ssDone then begin ShellExec('', '{#MyAppURL}', '' , '', SW_SHOW, ewNoWait, RC); end; end; //==== Переход на сайт ====\\ procedure LogoOnClick(Sender: TObject); var ResCode: Integer; begin ShellExec('', '{#MyAppURL}', '' , '', SW_SHOW, ewNoWait, ResCode) end; var BitmapImage1: TBitmapImage; procedure RedesignWizardForm; var i: integer; BtnPanel: TPanel; BtnImage: TBitmapImage; begin ExtractTemporaryFile('logo_vk.bmp') BtnPanel:=TPanel.Create(WizardForm) with BtnPanel do begin Left:=20 Top:=494 Width:=85 Height:=27 Cursor:=crHand OnClick:=@logoOnClick Parent:=WizardForm end; BtnImage:=TBitmapImage.Create(WizardForm) with BtnImage do begin AutoSize:=True; Enabled:=False; Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\logo_vk.bmp') Parent:=BtnPanel end; { BitmapImage1 } BitmapImage1 := TBitmapImage.Create(WizardForm); with BitmapImage1 do begin Parent := WizardForm.SelectDirPage; Left := ScaleX(0); Top := ScaleY(115); Width := ScaleX(620); Height := ScaleY(260); ExtractTemporaryFile('WizardForm.BitmapImage1.bmp'); Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp')); end; end; function WindowResize(): Boolean; var HeightOffset, WidthOffset: Integer; begin HeightOffset:=170; WidthOffset:=200; WizardForm.Height:=WizardForm.Height + HeightOffset; WizardForm.Width:=WizardForm.Width + WidthOffset; WizardForm.NextButton.Top:=WizardForm.NextButton.Top + HeightOffset; WizardForm.BackButton.Top:=WizardForm.BackButton.Top + HeightOffset; WizardForm.CancelButton.Top:=WizardForm.CancelButton.Top + HeightOffset; WizardForm.NextButton.Left:=WizardForm.NextButton.Left + WidthOffset; WizardForm.BackButton.Left:=WizardForm.BackButton.Left + WidthOffset; WizardForm.CancelButton.Left:=WizardForm.CancelButton.Left + WidthOffset; WizardForm.OuterNotebook.Height:=WizardForm.OuterNotebook.Height + HeightOffset; WizardForm.InnerNotebook.Height:=WizardForm.InnerNotebook.Height + HeightOffset; WizardForm.OuterNotebook.Width:=WizardForm.OuterNotebook.Width + WidthOffset; WizardForm.InnerNotebook.Width:=WizardForm.InnerNotebook.Width + WidthOffset; WizardForm.WizardSmallBitmapImage.Left:= WizardForm.WizardSmallBitmapImage.Left + WidthOffset; WizardForm.Bevel.Top:=WizardForm.Bevel.Top + HeightOffset; WizardForm.BeveledLabel.Top:=WizardForm.BeveledLabel.Top + HeightOffset; WizardForm.Bevel.Width:=WizardForm.Bevel.Width + WidthOffset; WizardForm.Bevel1.Width:=WizardForm.Bevel1.Width + WidthOffset; WizardForm.MainPanel.Width:=WizardForm.MainPanel.Width + WidthOffset; WizardForm.BeveledLabel.Width:=WizardForm.BeveledLabel.Width + WidthOffset; WizardForm.Center; { /// --- Раскомментировать при желании ---- /// WizardForm.WelcomeLabel1.Hide; WizardForm.WelcomeLabel2.Hide; WizardForm.FinishedLabel.Hide; WizardForm.FinishedHeadingLabel.Hide; WizardForm.WizardBitmapImage.Width:=600; WizardForm.WizardBitmapImage.Height:=400; WizardForm.WizardBitmapImage2.Width:=600; WizardForm.WizardBitmapImage2.Height:=400; WizardForm.PageNameLabel.Hide; WizardForm.PageDescriptionLabel.Hide; WizardForm.WizardSmallBitmapImage.Top:=0; WizardForm.WizardSmallBitmapImage.Left:=0; WizardForm.WizardSmallBitmapImage.Width:=WizardForm.Width; WizardForm.WizardSmallBitmapImage.Height:=58; /// --- Конец ---- /// } WizardForm.WelcomeLabel1.Hide; WizardForm.WelcomeLabel2.Hide; WizardForm.WizardBitmapImage.Width:=697; WizardForm.WizardBitmapImage.Height:=483; WizardForm.FinishedHeadingLabel.Hide; WizardForm.FinishedLabel.Hide; WizardForm.YesRadio.Hide; WizardForm.NoRadio.Hide; WizardForm.WizardBitmapImage2.Width:=697; WizardForm.WizardBitmapImage2.Height:=483; WizardForm.PageNameLabel.Hide; WizardForm.PageDescriptionLabel.Hide; WizardForm.WizardSmallBitmapImage.Top:=0; WizardForm.WizardSmallBitmapImage.Left:=0; WizardForm.WizardSmallBitmapImage.Width:=697; WizardForm.WizardSmallBitmapImage.Height:=58; WizardForm.WelcomeLabel1.Width:=WizardForm.WelcomeLabel1.Width + WidthOffset; WizardForm.WelcomeLabel1.Height:=WizardForm.WelcomeLabel1.Height + HeightOffset; WizardForm.WelcomeLabel1.Width:=WizardForm.WelcomeLabel1.Width + WidthOffset; WizardForm.WelcomeLabel2.Width:=WizardForm.WelcomeLabel2.Width + WidthOffset; WizardForm.WelcomeLabel2.Height:=WizardForm.WelcomeLabel2.Height + HeightOffset; WizardForm.WelcomeLabel2.Width:=WizardForm.WelcomeLabel2.Width + WidthOffset; WizardForm.LicenseLabel1.Width:=WizardForm.LicenseLabel1.Width + WidthOffset; WizardForm.LicenseMemo.Height:=WizardForm.LicenseMemo.Height + HeightOffset; WizardForm.LicenseMemo.Width:=WizardForm.LicenseMemo.Width + WidthOffset; WizardForm.LicenseNotAcceptedRadio.Top:=WizardForm.LicenseNotAcceptedRadio.Top + HeightOffset; WizardForm.LicenseAcceptedRadio.Top:=WizardForm.LicenseAcceptedRadio.Top + HeightOffset; WizardForm.InfoBeforeClickLabel.Width:=WizardForm.InfoBeforeClickLabel.Width + WidthOffset; WizardForm.InfoBeforeMemo.Height:=WizardForm.InfoBeforeMemo.Height + HeightOffset; WizardForm.InfoBeforeMemo.Width:=WizardForm.InfoBeforeMemo.Width + WidthOffset; WizardForm.SelectDirLabel.Width:=WizardForm.SelectDirLabel.Width + WidthOffset; WizardForm.SelectDirBrowseLabel.Width:=WizardForm.SelectDirBrowseLabel.Width + WidthOffset; WizardForm.DiskSpaceLabel.Top:=WizardForm.DiskSpaceLabel.Top + HeightOffset; WizardForm.DirBrowseButton.Left:=WizardForm.DirBrowseButton.Left + HeightOffset; WizardForm.DirEdit.Width:=WizardForm.DirEdit.Width + HeightOffset; WizardForm.ComponentsDiskSpaceLabel.Top:=WizardForm.ComponentsDiskSpaceLabel.Top + HeightOffset; WizardForm.SelectComponentsLabel.Width:=WizardForm.SelectComponentsLabel.Width + WidthOffset; WizardForm.ComponentsList.Height:=WizardForm.ComponentsList.Height + HeightOffset; WizardForm.ComponentsList.Width:=WizardForm.ComponentsList.Width + WidthOffset; WizardForm.ReadyLabel.Width:=WizardForm.ReadyLabel.Width + WidthOffset; WizardForm.ReadyMemo.Height:=WizardForm.ReadyMemo.Height + HeightOffset; WizardForm.ReadyMemo.Width:=WizardForm.ReadyMemo.Width + WidthOffset; WizardForm.ProgressGauge.Width:=WizardForm.ProgressGauge.Width + HeightOffset; WizardForm.FilenameLabel.Width:=WizardForm.FilenameLabel.Width + HeightOffset; WizardForm.StatusLabel.Width:=WizardForm.StatusLabel.Width + HeightOffset; end; /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// type TComponentDesc = record Description: String; ImageName: String; Index: Integer; end; var CompDescs: array of TComponentDesc; CompDescPanel, CompDescImgPanel: TPanel; CompDescText: array[1..2] of TLabel; CompIndex, LastIndex: Integer; CompDescImg: TBitmapImage; procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea); var i: Integer; begin if Index = LastIndex then Exit; CompIndex := -1; for i := 0 to GetArrayLength(CompDescs) -1 do begin if (CompDescs[i].Index = Index) then begin CompIndex := i; Break; end; end; if (CompIndex >= 0) and (Area = iaItem) then begin if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then ExtractTemporaryFile(CompDescs[CompIndex].ImageName); CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName); CompDescImg.Show; CompDescText[2].Caption := CompDescs[CompIndex].Description; CompDescText[2].Enabled := True; end else begin CompDescText[2].Caption := CustomMessage('ComponentsInfo'); CompDescText[2].Enabled := False; CompDescImg.Hide; end; LastIndex := Index; end; procedure CompListMouseLeave(Sender: TObject); begin CompDescImg.Hide; CompDescText[2].Caption := CustomMessage('ComponentsInfo'); CompDescText[2].Enabled := False; LastIndex := -1; end; procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String); var i: Integer; begin i := GetArrayLength(CompDescs); SetArrayLength(CompDescs, i + 1); CompDescs[i].Description := ADescription; CompDescs[i].ImageName := AImageName; CompDescs[i].Index := AIndex - 1 end; procedure InitializeWizard(); begin InitializeWizard1(); {из BackUpPage.iss} //InitializeWizard2(); {из Music.iss} InitializeWizard3(); RedesignWizardForm; WindowResize(); begin WizardForm.SelectComponentsLabel.Hide; WizardForm.TypesCombo.Hide; WizardForm.ComponentsList.SetBounds(ScaleX(260), ScaleY(20), ScaleX(357), ScaleY(333)); WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription; WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave; CompDescImgPanel := TPanel.Create(WizardForm); with CompDescImgPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(0), ScaleY(20), ScaleX(253), ScaleY(203)); //рамка картинки BevelInner := bvLowered; end; CompDescText[1] := TLabel.Create(WizardForm); with CompDescText[1] do begin Parent := CompDescImgPanel; SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10)); AutoSize := False; WordWrap := True; Enabled := False; Caption := CustomMessage('ComponentsImgInfo'); end; CompDescImg := TBitmapImage.Create(WizardForm); with CompDescImg do begin Parent := CompDescImgPanel; SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10)); Stretch := True; Hide; end; CompDescPanel := TPanel.Create(WizardForm); with CompDescPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(0), ScaleY(230), ScaleX(253), ScaleY(123)); //Нижния рамка BevelInner := bvLowered; end; CompDescText[2] := TLabel.Create(WizardForm); with CompDescText[2] do begin Parent := CompDescPanel; SetBounds(ScaleX(5), ScaleY(5), CompDescPanel.Width - ScaleX(10), CompDescPanel.Height - ScaleY(10)); AutoSize := False; WordWrap := True; Enabled := False; Caption := CustomMessage('ComponentsInfo'); end; может кто поможет ... или возможно проще создать вторую страницу компонентов Quote Share this post Link to post Short link Share on other sites
BeJIuKuu_TaHKoBbIu_BouH 4 #396556 Posted July 2, 2017 давай-ка побеседуем в ЛС. я тебе помогу. 2 1 Quote Share this post Link to post Short link Share on other sites
MS_RAMIS 0 #396561 Posted July 2, 2017 давай-ка побеседуем в ЛС. я тебе помогу. СПАСИБО БОЛЬШОЕ за помощь, удачи тебе ;) 1 Quote Share this post Link to post Short link Share on other sites
Lom 48 #397453 Posted July 12, 2017 всем привет. подскажите как сделать так чтобы по любому всё удалялось из папок модс и ресмодс при деинсталляции? просто файлы скачанные из инета он оставляет почему то. у меня ша так в коде прописано function BackupCheck_2(): Boolean; begin If DeleteRadioButton.Checked then begin DelTree(ExpandConstant('{app}\res_mods'), True, True, True); ForceDirectories(ExpandConstant('{app}\res_mods\{#Patch}')); DelTree(ExpandConstant('{app}\mods'), True, True, True); ForceDirectories(ExpandConstant('{app}\mods\{#Patch}')); end; end; Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #397484 Posted July 12, 2017 (edited) а зачем вот это принудительная директория ForceDirectories(ExpandConstant('{app}\res_mods\{#Patch}')); разве не это должно быть CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); типа удалил и создаёт заново папки Edited July 12, 2017 by sergy2010 Quote Share this post Link to post Short link Share on other sites
BeJIuKuu_TaHKoBbIu_BouH 4 #397513 Posted July 13, 2017 (edited) как сделать так чтобы по любому всё удалялось из папок модс и ресмодс при деинсталляции? Так: procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin DelTree(ExpandConstant('{app}\res_mods'), True, True, True); DelTree(ExpandConstant('{app}\mods'), True, True, True); ForceDirectories(ExpandConstant('{app}\res_mods\{#Patch}')); ForceDirectories(ExpandConstant('{app}\mods\{#Patch}')); end; end; Или так: [UninstallDelete] Type: filesandordirs; Name: "{app}\res_mods\{#Patch}" Type: filesandordirs; Name: "{app}\res_mods\configs" Type: filesandordirs; Name: "{app}\mods\{#Patch}" Type: filesandordirs; Name: "{app}\mods\configs" Edited July 13, 2017 by Gad575 1 Quote Share this post Link to post Short link Share on other sites
Lom 48 #397514 Posted July 13, 2017 Так: procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin DelTree(ExpandConstant('{app}\res_mods'), True, True, True); DelTree(ExpandConstant('{app}\mods'), True, True, True); ForceDirectories(ExpandConstant('{app}\res_mods\{#Patch}')); ForceDirectories(ExpandConstant('{app}\mods\{#Patch}')); end; end; Или так: [UninstallDelete] Type: filesandordirs; Name: "{app}\res_mods\{#Patch}" Type: filesandordirs; Name: "{app}\res_mods\configs" Type: filesandordirs; Name: "{app}\mods\{#Patch}" Type: filesandordirs; Name: "{app}\mods\configs" как всегда помог!!! спасибо БОЛЬШОЕ ))) и еще вопросик)) а как сделать чтобы удалял и саму папку деинсталляции? у меня отдельная папка с названием пака и в ней уже файл удаления лежит. и вот надо чтобы он и эту папку тоже полностью удалял. Quote Share this post Link to post Short link Share on other sites
BeJIuKuu_TaHKoBbIu_BouH 4 #397517 Posted July 13, 2017 точно также, как и в примерах моих 1 Quote Share this post Link to post Short link Share on other sites
Lom 48 #397518 Posted July 13, 2017 (edited) точно также, как и в примерах моих точняк. тупанул))) всё получилось. спасибо еще раз! Edited July 13, 2017 by ЛОМ Quote Share this post Link to post Short link Share on other sites
sergy2010 24 #398101 Posted July 17, 2017 как реализовать такой значок в компонентах если с помощью шрифта то какие символы Quote Share this post Link to post Short link Share on other sites
shefer 7 #398556 Posted July 21, 2017 Привет всем! Стараюсь часто не беспокоить, но туплю чего-то. Помогите пожалуйста сделать несколько страниц для компонентов. Quote Share this post Link to post Short link Share on other sites
Lom 48 #398557 Posted July 21, 2017 (edited) Привет всем! Стараюсь часто не беспокоить, но туплю чего-то. Помогите пожалуйста сделать несколько страниц для компонентов. не это? https://koreanrandom.com/forum/topic/9050-создание-инсталляторов-для-модпаков-на-базе-inno-setup/?p=366786 вот тут точно всё как должно расписано)) https://koreanrandom.com/forum/topic/9050-создание-инсталляторов-для-модпаков-на-базе-inno-setup/?p=274586 Edited July 21, 2017 by ЛОМ Quote Share this post Link to post Short link Share on other sites
shefer 7 #398563 Posted July 21, 2017 (edited) не это? https://koreanrandom.com/forum/topic/9050-создание-инсталляторов-для-модпаков-на-базе-inno-setup/?p=366786 вот тут точно всё как должно расписано)) https://koreanrandom.com/forum/topic/9050-создание-инсталляторов-для-модпаков-на-базе-inno-setup/?p=274586 Спасибо! Как-то пропустил, все изи там , а я туплю) Только привязать к моему скрипту будет пот) Блин, фиг его под мой скрипт переделаешь! Edited July 21, 2017 by shefer Quote Share this post Link to post Short link Share on other sites