psix_banned 1 #276213 Posted June 3, 2015 (edited) @psix89, ну значит у тебя игра не по родному пути стоит. Переустанови игру. Только что переустановил E:\World_of_Tanks wot.txt Edited June 3, 2015 by psix89 Quote Share this post Link to post Short link Share on other sites
leeuniverse 61 #276238 Posted June 3, 2015 (edited) Try this: [Code] Var Count: Integer; Function GetAppDir(Path: String): String; begin if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812NA}_is1') then begin RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812NA}_is1', 'InstallLocation', Path); Result := Path end else Result := ExpandConstant('C:\Games\World_of_Tanks') end; Function NextButtonClick(CurPageID: Integer): Boolean; begin Result := True; if CurPageID = wpSelectDir then begin case (FileExists(ExpandConstant('{app}\WOTLauncher.exe')) and FileExists(ExpandConstant('{app}\WorldOfTanks.exe'))) of False: begin if Count = 0 then MsgBox('Incorrect game folder!', mbError, MB_OK); Count := Count + 1; Result := (Count = 2); end; True: Result := True; end; end; end; Спасибо вам так много Kotyarko_O ...... Это работало идеально. :) That would have taken me 2 hours to figure out, LOL BTW, is it possible you or someone can help me with this question? Would be helpful. http://www.koreanrandom.com/forum/topic/9050-%D0%B8%D0%BD%D1%81%D1%82%D0%B0%D0%BB%D0%BB%D1%8F%D1%82%D0%BE%D1%80-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%BE%D0%B4%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2/page-172?do=findComment&comment=272346 Edited June 3, 2015 by leeuniverse Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #276251 Posted June 3, 2015 BTW, is it possible you or someone can help me with this question? Would be helpful.http://www.koreanran...172#entry272346 Contact the developer of this code, for example, in this theme. Quote Share this post Link to post Short link Share on other sites
leeuniverse 61 #276253 Posted June 3, 2015 Contact the developer of this code, for example, in this theme. Thanks, will try to see if he will respond, but being a Russian forum (and poor translating tools), who knows, LOL Quote Share this post Link to post Short link Share on other sites
Hatsan 3 #276357 Posted June 4, 2015 подскажи плиз как сделать так чтобы компаненты не выбирались при установки(т.е. не ставилась галочка)Где то до этого видел а щас не могу найти Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #276360 Posted June 4, 2015 @Hatsan, Flags: fixed Quote Share this post Link to post Short link Share on other sites
MS_RAMIS 0 #277259 Posted June 9, 2015 Дорого Времени Суток!!! Кто сможет подскажите в чем причина ???Взял BackUpPage тут из темы ... но почему то когда делаешь резервную копию (бекап) у меня получаються пустые папки или в папках вместо 10 файлов(папок) около 5 файлов... кусок скрипта function BackupCheck_3(): Boolean; begin If MoveRadioButton.Checked then begin MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\flash\lobby.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\flash')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\battle.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\Minimap.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\PlayersPanel.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\StatisticForm.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\TeamBasesPanel.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\VehicleMarkersManager.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\xvm.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\configs\'),ExpandConstant('{app}\res_mods\backup\configs')); MoveDir(ExpandConstant('{app}\res_mods\mods\'),ExpandConstant('{app}\res_mods\backup\mods')); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\flash\lobby.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\battle.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\Minimap.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\PlayersPanel.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\StatisticForm.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\TeamBasesPanel.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\VehicleMarkersManager.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\xvm.swf')); DelTree(ExpandConstant('{app}\res_mods\configs'), True, True, True); DelTree(ExpandConstant('{app}\res_mods\mods'), True, True, True); end; end; вот сам BackUpPage 'тут' #include "SHFileOperation.iss" [code] var BackupPage: TWizardPage; DeleteRadioButton, MoveRadioButton, NoneRadioButton: TNewRadioButton; const BackupDescText = 'Выберите необходимый пункт из представленных.'#13' '#13'Во избежание проблем совместимости и конфликтов между модами, рекомендуется удалить ваш старый XVM.'; DeleteDescText = 'Установщик удалит ваш старый XVM, который был установлен ранее'; MoveDescText = 'Установщик сделает резервную копию старого XVM, '#13'востановить его сможите из папки ...\res_mods\backup.'; NoneDescText = 'Установщик установит XVM поверх старого.'; function BackupCheck_1(): Boolean; var BackupDescLabel, DeleteDescLabel, MoveDescLabel, NoneDescLabel: TLabel; begin BackupPage:=CreateCustomPage(wpWelcome, 'Создание резервных копий файлов перед установкой', 'Пожалуйста, прочтите следующую важную информацию перед тем, как продолжить.'); BackupDescLabel:=TLabel.Create(WizardForm); BackupDescLabel.Parent:=BackupPage.Surface; BackupDescLabel.Left:=110; BackupDescLabel.Top:=10; BackupDescLabel.Width:=BackupPage.SurfaceWidth; BackupDescLabel.Height:=90; BackupDescLabel.AutoSize:=False; BackupDescLabel.Wordwrap:=True; BackupDescLabel.Caption:=BackupDescText; DeleteRadioButton:=TNewRadioButton.Create(WizardForm); DeleteRadioButton.Parent:=BackupPage.Surface; DeleteRadioButton.Checked:=True; DeleteRadioButton.Top:=105; DeleteRadioButton.Left:=110; DeleteRadioButton.Width:=BackupPage.SurfaceWidth; DeleteRadioButton.Font.Style:=[fsBold]; DeleteRadioButton.Font.Size:=9; DeleteRadioButton.Caption:='Удалить старый XVM (рекомендуется)' DeleteDescLabel:=TLabel.Create(WizardForm); DeleteDescLabel.Parent:=BackupPage.Surface; DeleteDescLabel.Left:=110; DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4; DeleteDescLabel.Width:=BackupPage.SurfaceWidth; DeleteDescLabel.Height:=40; DeleteDescLabel.AutoSize:=False; DeleteDescLabel.Wordwrap:=True; DeleteDescLabel.Caption:=DeleteDescText; MoveRadioButton:=TNewRadioButton.Create(WizardForm); MoveRadioButton.Parent:=BackupPage.Surface; MoveRadioButton.Checked:=False; MoveRadioButton.Top:=180; MoveRadioButton.Left:=110; MoveRadioButton.Width:=BackupPage.SurfaceWidth; MoveRadioButton.Font.Style:=[fsBold]; MoveRadioButton.Font.Size:=9; MoveRadioButton.Caption:='Сделать резервную копию XVMa' MoveDescLabel:=TLabel.Create(WizardForm); MoveDescLabel.Parent:=BackupPage.Surface; MoveDescLabel.Left:=110; MoveDescLabel.Top:=MoveRadioButton.Top + MoveRadioButton.Height + 4; MoveDescLabel.Width:=BackupPage.SurfaceWidth; MoveDescLabel.Height:=40; MoveDescLabel.AutoSize:=False; MoveDescLabel.Wordwrap:=True; MoveDescLabel.Caption:=MoveDescText; NoneRadioButton:=TNewRadioButton.Create(WizardForm); NoneRadioButton.Parent:=BackupPage.Surface; NoneRadioButton.Checked:=False; NoneRadioButton.Top:=255; NoneRadioButton.Left:=110; NoneRadioButton.Width:=BackupPage.SurfaceWidth; NoneRadioButton.Font.Style:=[fsBold]; NoneRadioButton.Font.Size:=9; NoneRadioButton.Caption:='Установить поверх старого XVMa' NoneDescLabel:=TLabel.Create(WizardForm); NoneDescLabel.Parent:=BackupPage.Surface; NoneDescLabel.Left:=110; NoneDescLabel.Top:=NoneRadioButton.Top + NoneRadioButton.Height + 4; NoneDescLabel.Width:=BackupPage.SurfaceWidth; NoneDescLabel.Height:=40; NoneDescLabel.AutoSize:=False; NoneDescLabel.Wordwrap:=True; NoneDescLabel.Caption:=NoneDescText; end; function BackupCheck_2(): Boolean; begin If DeleteRadioButton.Checked then begin DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\flash\Application.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\battle.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\Minimap.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\PlayersPanel.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\StatisticForm.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\TeamBasesPanel.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\VehicleMarkersManager.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\xvm.swf')); DelTree(ExpandConstant('{app}\res_mods\configs'), True, True, True); DelTree(ExpandConstant('{app}\res_mods\mods'), True, True, True); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); end; end; function BackupCheck_3(): Boolean; begin If MoveRadioButton.Checked then begin MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\flash\lobby.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\flash')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\battle.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\Minimap.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\PlayersPanel.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\StatisticForm.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\TeamBasesPanel.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\VehicleMarkersManager.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\xvm.swf'),ExpandConstant('{app}\res_mods\backup\{#Patch}\gui\scaleform')); MoveDir(ExpandConstant('{app}\res_mods\configs\'),ExpandConstant('{app}\res_mods\backup\configs')); MoveDir(ExpandConstant('{app}\res_mods\mods\'),ExpandConstant('{app}\res_mods\backup\mods')); CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\flash\lobby.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\battle.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\Minimap.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\PlayersPanel.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\StatisticForm.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\TeamBasesPanel.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\VehicleMarkersManager.swf')); DeleteFile(ExpandConstant('{app}\res_mods\{#Patch}\gui\scaleform\xvm.swf')); DelTree(ExpandConstant('{app}\res_mods\configs'), True, True, True); DelTree(ExpandConstant('{app}\res_mods\mods'), True, True, True); end; end; procedure CurStepChanged(CurStep: TSetupStep); begin If CurStep=ssInstall then begin BackupCheck_2(); BackupCheck_3(); end; end; procedure InitializeWizard1(); begin BackupCheck_1(); end; Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #277260 Posted June 9, 2015 Дорого Времени Суток!!! Кто сможет подскажите в чем причина ??? Взял BackUpPage тут из темы ... но почему то когда делаешь резервную копию (бекап) у меня получаються пустые папки или в папках вместо 10 файлов(папок) около 5 файлов... на юникоде запусти Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #277263 Posted June 9, 2015 (edited) Кто сможет подскажите в чем причина ??? У вас Ansi или Unicode компилятор? SHFileOperation, который выкладывался в этой теме для анси. Могу выложить для юникода. Edited June 9, 2015 by Kotyarko_O 1 Quote Share this post Link to post Short link Share on other sites
MS_RAMIS 0 #277266 Posted June 9, 2015 скачал Inno Setup здесь из шапки... а какой у меня точно не знаю, но думаю что Unicode ... написано что - 5.5.1.ee2 (u) (build 121002) Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #277269 Posted June 9, 2015 (edited) а какой у меня точно не знаю, но думаю что Unicode ... написано что - 5.5.1.ee2 (u) (build 121002) Да, это юникод. Вот SHFile для него: SHFileOperation.rar Edited June 9, 2015 by Kotyarko_O 1 Quote Share this post Link to post Short link Share on other sites
MS_RAMIS 0 #277271 Posted June 9, 2015 Kotyarko_O спасибо + !!! заработало;) Еще не подскажите скрипт на то что бы при нажатии на кнопку появлялось окно с инфой (например ФАК) ... Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #277289 Posted June 10, 2015 Еще не подскажите скрипт на то что бы при нажатии на кнопку появлялось окно с инфой (например ФАК) ... [Setup] AppName=My Application AppVersion=1.5 DefaultDirName={pf}\My Application [Files] Source: ............\Информация.rtf; Flags: dontcopy [Code] var Info: TNewButton; procedure information(Sender: TObject); forward; procedure RedesignWizardForm; begin Info := TNewButton.Create(WizardForm); with Info do begin Name := 'Info'; Parent := WizardForm; Left := ScaleX(80); Top := ScaleY(328); Width := ScaleX(75); Height := ScaleY(25); Cursor := crHand; Caption := 'Инфо'; OnClick := @information; end; end; procedure information(Sender:Tobject); var informationrtf: ansiString; informationForm: TSetupForm; informationEdit: TRichEditViewer; informationImage: TNewButton; begin ExtractTemporaryFile('Информация.rtf'); LoadStringFromFile(ExpandConstant('{tmp}')+'\Информация.rtf', informationrtf); //""""""""""""""""""""""""""""""""""""""""""""""// informationForm := CreateCustomForm(); with informationForm do begin ClientWidth:=ScaleX(700); ClientHeight:=ScaleY(570); Caption := 'Информация о Модпаке'; CenterInsideControl(WizardForm, False); //""""""""""""""""""""""""""""""""""""""""""""""// informationEdit := TRichEditViewer.Create(informationForm); with informationEdit do begin SetBounds(ScaleX(10),ScaleY(10),ScaleX(680),ScaleY(510)); Parent := informationForm; Font.Size := 8; RTFText:= informationrtf; ScrollBars := ssVertical; end; //""""""""""""""""""""""""""""""""""""""""""""""// informationImage := TNewButton.Create(informationForm); with informationImage do begin SetBounds(ScaleX(310),ScaleY(530),ScaleX(100),ScaleY(32)); Parent := informationForm; Font.Color := clWindowText; Font.Height := -12; Font.Name := '@Arial Unicode MS'; ParentFont := False; ModalResult:= mrOk; Caption := 'Закрыть'; Cursor := crHand; end; ShowModal; Free; end; end; procedure InitializeWizard(); begin RedesignWizardForm; end; 1 Quote Share this post Link to post Short link Share on other sites
MS_RAMIS 0 #277836 Posted June 14, 2015 [Setup] AppName=My Application AppVersion=1.5 DefaultDirName={pf}\My Application [Files] Source: ............\Информация.rtf; Flags: dontcopy [Code] var Info: TNewButton; procedure information(Sender: TObject); forward; procedure RedesignWizardForm; begin Info := TNewButton.Create(WizardForm); with Info do begin Name := 'Info'; Parent := WizardForm; Left := ScaleX(80); Top := ScaleY(328); Width := ScaleX(75); Height := ScaleY(25); Cursor := crHand; Caption := 'Инфо'; OnClick := @information; end; end; procedure information(Sender:Tobject); var informationrtf: ansiString; informationForm: TSetupForm; informationEdit: TRichEditViewer; informationImage: TNewButton; begin ExtractTemporaryFile('Информация.rtf'); LoadStringFromFile(ExpandConstant('{tmp}')+'\Информация.rtf', informationrtf); //""""""""""""""""""""""""""""""""""""""""""""""// informationForm := CreateCustomForm(); with informationForm do begin ClientWidth:=ScaleX(700); ClientHeight:=ScaleY(570); Caption := 'Информация о Модпаке'; CenterInsideControl(WizardForm, False); //""""""""""""""""""""""""""""""""""""""""""""""// informationEdit := TRichEditViewer.Create(informationForm); with informationEdit do begin SetBounds(ScaleX(10),ScaleY(10),ScaleX(680),ScaleY(510)); Parent := informationForm; Font.Size := 8; RTFText:= informationrtf; ScrollBars := ssVertical; end; //""""""""""""""""""""""""""""""""""""""""""""""// informationImage := TNewButton.Create(informationForm); with informationImage do begin SetBounds(ScaleX(310),ScaleY(530),ScaleX(100),ScaleY(32)); Parent := informationForm; Font.Color := clWindowText; Font.Height := -12; Font.Name := '@Arial Unicode MS'; ParentFont := False; ModalResult:= mrOk; Caption := 'Закрыть'; Cursor := crHand; end; ShowModal; Free; end; end; procedure InitializeWizard(); begin RedesignWizardForm; end; простите неуч... но походу у меня руки не оттуда растут !!! ... но у меня ругается на procedure InitializeWizard(); ... вот код [Setup] AppId={{#GameID} AppName={#MyAppName} AppVersion={#MyAppVer} AppPublisher={#MyAppPublisher} //====={ Ссылки }=====\\ AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} //====={ Папка установки }=====\\ DefaultDirName={code:MyDirName} AppendDefaultDirName=no DirExistsWarning=no CreateUninstallRegKey=yes Uninstallable=yes UninstallFilesDir={app}\Удаление {#MyAppName} //====={ Картинки }=====\\ SetupIconFile=Files\ico.ico UninstallDisplayIcon={app}\unins000.exe WizardImageFile=Files\img1.bmp WizardSmallImageFile=Files\Small.bmp //====={ Отключение строниц }=====\\ DisableProgramGroupPage=yes //====={ Лицензия и Фак }=====\\ ;LicenseFile=licensia.rtf InfoBeforeFile=faq.rtf //====={ Папка создания и название сетапа }=====\\ OutputDir=.\Output OutputBaseFilename={#MyAppName}_v{#MyInfoVer}{#MyAppVer} //====={ Сжатие сетапа }=====\\ InternalCompressLevel=max Compression=lzma2/max //--------------- ваши картинки ---------------\\ [Files] Source: "ReadMeRu.rtf"; DestDir: "{tmp}"; Flags: ignoreversion Source: Files\logo.bmp; Flags: dontcopy noencryption noencryption DestName: "WizardForm.BitmapImage1.bmp"; Source: "Files\img2.bmp"; Flags: dontcopy solidbreak [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(350); ClientHeight := ScaleY(250); CenterInsideControl(WizardForm, False); Caption:=''; onClose:=@FormClose; Ok:=tbutton.create(InfoForm) with Ok do begin SetBounds(ScaleX(290),ScaleY(210),ScaleX(50),ScaleY(30)); parent:=InfoForm; Caption:='OK'; onclick:=@OKclick; end; InfoBefore:= TRichEditViewer.Create(InfoForm); with InfoBefore do begin SetBounds(ScaleX(10),ScaleY(10),ScaleX(330),ScaleY(180)); Parent:= InfoForm; // ParentColor := True; // Color:= WizardForm.Color; // BorderStyle:= bsNone; ScrollBars:= ssVertical; ReadOnly:= true; RTFText:= ReadmeRu end; InfoForm.Show; WizardForm.Enabled:=false; end; end; procedure InitializeWizard; begin ExtractTemporaryFile('ReadMeRu.rtf'); LoadStringFromFile(ExpandConstant('{tmp}')+'\ReadMeRu.rtf', ReadmeRu); Info:=tbutton.create(WizardForm); with Info do begin Parent:=WizardForm; SetBounds(ScaleX(20),ScaleY(325),ScaleX(45),ScaleY(30)); Caption:='x'; 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 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.bmp') BtnPanel:=TPanel.Create(WizardForm) with BtnPanel do begin Left:=20 Top:=494 Width:=82 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.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} 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; AddCompDescription(1, CustomMessage('CompDesc1'), 'CompDescImg1.bmp'); AddCompDescription(2, CustomMessage('CompDesc2'), 'CompDescImg2.bmp'); AddCompDescription(3, CustomMessage('CompDesc3'), 'CompDescImg3.bmp'); AddCompDescription(4, CustomMessage('CompDesc4'), 'CompDescImg4.bmp'); AddCompDescription(5, CustomMessage('CompDesc5'), 'CompDescImg5.bmp'); AddCompDescription(6, CustomMessage('CompDesc6'), 'CompDescImg6.bmp'); AddCompDescription(7, CustomMessage('CompDesc7'), 'CompDescImg7.bmp'); AddCompDescription(8, CustomMessage('CompDesc8'), 'CompDescImg8.bmp'); AddCompDescription(9, CustomMessage('CompDesc9'), 'CompDescImg9.bmp'); AddCompDescription(10, CustomMessage('CompDesc10'), 'CompDescImg10.bmp'); AddCompDescription(11, CustomMessage('CompDesc11'), 'CompDescImg11.bmp'); AddCompDescription(12, CustomMessage('CompDesc12'), 'CompDescImg12.bmp'); AddCompDescription(13, CustomMessage('CompDesc13'), 'CompDescImg13.bmp'); AddCompDescription(14, CustomMessage('CompDesc14'), 'CompDescImg14.bmp'); AddCompDescription(15, CustomMessage('CompDesc15'), 'CompDescImg15.bmp'); AddCompDescription(16, CustomMessage('CompDesc16'), 'CompDescImg16.bmp'); AddCompDescription(17, CustomMessage('CompDesc17'), 'CompDescImg17.bmp'); AddCompDescription(18, CustomMessage('CompDesc18'), 'CompDescImg18.bmp'); AddCompDescription(19, CustomMessage('CompDesc19'), 'CompDescImg19.bmp'); AddCompDescription(20, CustomMessage('CompDesc20'), 'CompDescImg20.bmp'); AddCompDescription(21, CustomMessage('CompDesc21'), 'CompDescImg21.bmp'); AddCompDescription(22, CustomMessage('CompDesc22'), 'CompDescImg22.bmp'); AddCompDescription(23, CustomMessage('CompDesc23'), 'CompDescImg23.bmp'); AddCompDescription(24, CustomMessage('CompDesc24'), 'CompDescImg24.bmp'); AddCompDescription(25, CustomMessage('CompDesc25'), 'CompDescImg25.bmp'); AddCompDescription(26, CustomMessage('CompDesc26'), 'CompDescImg26.bmp'); AddCompDescription(27, CustomMessage('CompDesc27'), 'CompDescImg27.bmp'); AddCompDescription(28, CustomMessage('CompDesc28'), 'CompDescImg28.bmp'); AddCompDescription(29, CustomMessage('CompDesc29'), 'CompDescImg29.bmp'); AddCompDescription(30, CustomMessage('CompDesc30'), 'CompDescImg30.bmp'); AddCompDescription(31, CustomMessage('CompDesc31'), 'CompDescImg31.bmp'); AddCompDescription(32, CustomMessage('CompDesc32'), 'CompDescImg32.bmp'); AddCompDescription(33, CustomMessage('CompDesc33'), 'CompDescImg33.bmp'); AddCompDescription(34, CustomMessage('CompDesc34'), 'CompDescImg34.bmp'); AddCompDescription(35, CustomMessage('CompDesc35'), 'CompDescImg35.bmp'); AddCompDescription(36, CustomMessage('CompDesc36'), 'CompDescImg36.bmp'); AddCompDescription(37, CustomMessage('CompDesc37'), 'CompDescImg37.bmp'); AddCompDescription(38, CustomMessage('CompDesc38'), 'CompDescImg38.bmp'); AddCompDescription(39, CustomMessage('CompDesc39'), 'CompDescImg39.bmp'); AddCompDescription(40, CustomMessage('CompDesc40'), 'CompDescImg40.bmp'); AddCompDescription(41, CustomMessage('CompDesc41'), 'CompDescImg41.bmp'); AddCompDescription(42, CustomMessage('CompDesc42'), 'CompDescImg42.bmp'); end; end; Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #277839 Posted June 14, 2015 Во-первых, "ругается на.." писать не надо. Прилаживайте скрин ошибки.Во-вторых, если бы вы хоть попытались перевести то, о чём вам говорила та ошибка, возможно, исправили бы сами. Об этом в этой теме уже раз 100 говорили. 'Исправленный код' [Setup] AppId={{#GameID} AppName={#MyAppName} AppVersion={#MyAppVer} AppPublisher={#MyAppPublisher} //====={ Ссылки }=====\\ AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} //====={ Папка установки }=====\\ DefaultDirName={code:MyDirName} AppendDefaultDirName=no DirExistsWarning=no CreateUninstallRegKey=yes Uninstallable=yes UninstallFilesDir={app}\Удаление {#MyAppName} //====={ Картинки }=====\\ SetupIconFile=Files\ico.ico UninstallDisplayIcon={app}\unins000.exe WizardImageFile=Files\img1.bmp WizardSmallImageFile=Files\Small.bmp //====={ Отключение строниц }=====\\ DisableProgramGroupPage=yes //====={ Лицензия и Фак }=====\\ ;LicenseFile=licensia.rtf InfoBeforeFile=faq.rtf //====={ Папка создания и название сетапа }=====\\ OutputDir=.\Output OutputBaseFilename={#MyAppName}_v{#MyInfoVer}{#MyAppVer} //====={ Сжатие сетапа }=====\\ InternalCompressLevel=max Compression=lzma2/max //--------------- ваши картинки ---------------\\ [Files] Source: "ReadMeRu.rtf"; DestDir: "{tmp}"; Flags: ignoreversion Source: Files\logo.bmp; Flags: dontcopy noencryption noencryption DestName: "WizardForm.BitmapImage1.bmp"; Source: "Files\img2.bmp"; Flags: dontcopy solidbreak [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(350); ClientHeight := ScaleY(250); CenterInsideControl(WizardForm, False); Caption:=''; onClose:=@FormClose; Ok:=tbutton.create(InfoForm) with Ok do begin SetBounds(ScaleX(290),ScaleY(210),ScaleX(50),ScaleY(30)); parent:=InfoForm; Caption:='OK'; onclick:=@OKclick; end; InfoBefore:= TRichEditViewer.Create(InfoForm); with InfoBefore do begin SetBounds(ScaleX(10),ScaleY(10),ScaleX(330),ScaleY(180)); 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(20),ScaleY(325),ScaleX(45),ScaleY(30)); Caption:='x'; 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 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.bmp') BtnPanel:=TPanel.Create(WizardForm) with BtnPanel do begin Left:=20 Top:=494 Width:=82 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.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; AddCompDescription(1, CustomMessage('CompDesc1'), 'CompDescImg1.bmp'); AddCompDescription(2, CustomMessage('CompDesc2'), 'CompDescImg2.bmp'); AddCompDescription(3, CustomMessage('CompDesc3'), 'CompDescImg3.bmp'); AddCompDescription(4, CustomMessage('CompDesc4'), 'CompDescImg4.bmp'); AddCompDescription(5, CustomMessage('CompDesc5'), 'CompDescImg5.bmp'); AddCompDescription(6, CustomMessage('CompDesc6'), 'CompDescImg6.bmp'); AddCompDescription(7, CustomMessage('CompDesc7'), 'CompDescImg7.bmp'); AddCompDescription(8, CustomMessage('CompDesc8'), 'CompDescImg8.bmp'); AddCompDescription(9, CustomMessage('CompDesc9'), 'CompDescImg9.bmp'); AddCompDescription(10, CustomMessage('CompDesc10'), 'CompDescImg10.bmp'); AddCompDescription(11, CustomMessage('CompDesc11'), 'CompDescImg11.bmp'); AddCompDescription(12, CustomMessage('CompDesc12'), 'CompDescImg12.bmp'); AddCompDescription(13, CustomMessage('CompDesc13'), 'CompDescImg13.bmp'); AddCompDescription(14, CustomMessage('CompDesc14'), 'CompDescImg14.bmp'); AddCompDescription(15, CustomMessage('CompDesc15'), 'CompDescImg15.bmp'); AddCompDescription(16, CustomMessage('CompDesc16'), 'CompDescImg16.bmp'); AddCompDescription(17, CustomMessage('CompDesc17'), 'CompDescImg17.bmp'); AddCompDescription(18, CustomMessage('CompDesc18'), 'CompDescImg18.bmp'); AddCompDescription(19, CustomMessage('CompDesc19'), 'CompDescImg19.bmp'); AddCompDescription(20, CustomMessage('CompDesc20'), 'CompDescImg20.bmp'); AddCompDescription(21, CustomMessage('CompDesc21'), 'CompDescImg21.bmp'); AddCompDescription(22, CustomMessage('CompDesc22'), 'CompDescImg22.bmp'); AddCompDescription(23, CustomMessage('CompDesc23'), 'CompDescImg23.bmp'); AddCompDescription(24, CustomMessage('CompDesc24'), 'CompDescImg24.bmp'); AddCompDescription(25, CustomMessage('CompDesc25'), 'CompDescImg25.bmp'); AddCompDescription(26, CustomMessage('CompDesc26'), 'CompDescImg26.bmp'); AddCompDescription(27, CustomMessage('CompDesc27'), 'CompDescImg27.bmp'); AddCompDescription(28, CustomMessage('CompDesc28'), 'CompDescImg28.bmp'); AddCompDescription(29, CustomMessage('CompDesc29'), 'CompDescImg29.bmp'); AddCompDescription(30, CustomMessage('CompDesc30'), 'CompDescImg30.bmp'); AddCompDescription(31, CustomMessage('CompDesc31'), 'CompDescImg31.bmp'); AddCompDescription(32, CustomMessage('CompDesc32'), 'CompDescImg32.bmp'); AddCompDescription(33, CustomMessage('CompDesc33'), 'CompDescImg33.bmp'); AddCompDescription(34, CustomMessage('CompDesc34'), 'CompDescImg34.bmp'); AddCompDescription(35, CustomMessage('CompDesc35'), 'CompDescImg35.bmp'); AddCompDescription(36, CustomMessage('CompDesc36'), 'CompDescImg36.bmp'); AddCompDescription(37, CustomMessage('CompDesc37'), 'CompDescImg37.bmp'); AddCompDescription(38, CustomMessage('CompDesc38'), 'CompDescImg38.bmp'); AddCompDescription(39, CustomMessage('CompDesc39'), 'CompDescImg39.bmp'); AddCompDescription(40, CustomMessage('CompDesc40'), 'CompDescImg40.bmp'); AddCompDescription(41, CustomMessage('CompDesc41'), 'CompDescImg41.bmp'); AddCompDescription(42, CustomMessage('CompDesc42'), 'CompDescImg42.bmp'); end; end; 1 Quote Share this post Link to post Short link Share on other sites
MS_RAMIS 0 #277871 Posted June 14, 2015 + Спасибо работает, я понял в чем причина была ... Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #278054 Posted June 15, 2015 Кстати, новая версия innounp 0.42 научилась распаковывать "китайца". Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #278060 Posted June 15, 2015 Кстати, новая версия innounp 0.42 научилась распаковывать "китайца". Глянем что там у Юши :) Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #278061 Posted June 15, 2015 Глянем что там у Юши :) Что там смотреть, если секцию [ Code ] ты всё равно не вскроешь. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #278062 Posted June 15, 2015 Что там смотреть, если секцию [ Code ] ты всё равно не вскроешь.а какой тогда смысл распаковки этой, ведь главное то это секция Quote Share this post Link to post Short link Share on other sites