psix_banned Posted June 3, 2015 Share Posted June 3, 2015 (edited) @psix89, ну значит у тебя игра не по родному пути стоит. Переустанови игру. Только что переустановил E:\World_of_Tanks wot.txt Edited June 3, 2015 by psix89 @ Quote Link to comment Short link Share on other sites More sharing options...
leeuniverse Posted June 3, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 3, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
leeuniverse Posted June 3, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Hatsan Posted June 4, 2015 Share Posted June 4, 2015 подскажи плиз как сделать так чтобы компаненты не выбирались при установки(т.е. не ставилась галочка)Где то до этого видел а щас не могу найти @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 4, 2015 Share Posted June 4, 2015 @Hatsan, Flags: fixed @ Quote Link to comment Short link Share on other sites More sharing options...
MS_RAMIS Posted June 9, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 9, 2015 Share Posted June 9, 2015 Дорого Времени Суток!!! Кто сможет подскажите в чем причина ??? Взял BackUpPage тут из темы ... но почему то когда делаешь резервную копию (бекап) у меня получаються пустые папки или в папках вместо 10 файлов(папок) около 5 файлов... на юникоде запусти @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 9, 2015 Share Posted June 9, 2015 (edited) Кто сможет подскажите в чем причина ??? У вас Ansi или Unicode компилятор? SHFileOperation, который выкладывался в этой теме для анси. Могу выложить для юникода. Edited June 9, 2015 by Kotyarko_O 1 @ Quote Link to comment Short link Share on other sites More sharing options...
MS_RAMIS Posted June 9, 2015 Share Posted June 9, 2015 скачал Inno Setup здесь из шапки... а какой у меня точно не знаю, но думаю что Unicode ... написано что - 5.5.1.ee2 (u) (build 121002) @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 9, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
MS_RAMIS Posted June 9, 2015 Share Posted June 9, 2015 Kotyarko_O спасибо + !!! заработало;) Еще не подскажите скрипт на то что бы при нажатии на кнопку появлялось окно с инфой (например ФАК) ... @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 10, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
MS_RAMIS Posted June 14, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted June 14, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
MS_RAMIS Posted June 14, 2015 Share Posted June 14, 2015 + Спасибо работает, я понял в чем причина была ... @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted June 15, 2015 Share Posted June 15, 2015 Кстати, новая версия innounp 0.42 научилась распаковывать "китайца". @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 15, 2015 Share Posted June 15, 2015 Кстати, новая версия innounp 0.42 научилась распаковывать "китайца". Глянем что там у Юши :) @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted June 15, 2015 Share Posted June 15, 2015 Глянем что там у Юши :) Что там смотреть, если секцию [ Code ] ты всё равно не вскроешь. @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted June 15, 2015 Share Posted June 15, 2015 Что там смотреть, если секцию [ Code ] ты всё равно не вскроешь.а какой тогда смысл распаковки этой, ведь главное то это секция @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
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.