Ekspoint 2,122 #262500 Posted April 12, 2015 Спасибо вам за помощь но увы не получается... как ни как первый день это все изучаю и знаний не хватает. к тому же делаю не с нуля а на примере другого пака. раньше для меня это было что то нереальное. ни когда не пробовал проги писать. да и не шарю. но все же СПАСИБО за помощь. темку почитай (станиц 60) Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #262501 Posted April 12, 2015 Dark_Knight_MiX, тему почитай (страниц 60) © 1 1 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #262503 Posted April 12, 2015 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #262506 Posted April 12, 2015 Dark_Knight_MiX, тему почитай (страниц 60) © я то читал всю Quote Share this post Link to post Short link Share on other sites
Fenixx 1 #262548 Posted April 13, 2015 Все добрый день! Как добавить картинку к компонентам? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #262564 Posted April 13, 2015 Как добавить картинку к компонентам? http://forum.oszone.net/post-2169372-662.html 1 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #262591 Posted April 13, 2015 Все добрый день! Как добавить картинку к компонентам? только картинка [Setup] AppName=Моя программа AppVersion=1.5 DefaultDirName={pf}\Моя программа [Languages] Name: "RU"; MessagesFile: "compiler:Languages\Russian.isl" [CustomMessages] RU.CompName1=Компонент 1 RU.CompName2=Компонент 2 RU.ComponentsInfo=Наведите курсор мыши на компонент, чтобы прочитать его описание. RU.ComponentsImgInfo=Наведите курсор мыши на компонент, чтобы посмотреть его превью. RU.CompDesc1=Описание первого компонента RU.CompDesc2=Описание второго компонента [Files] Source: "compiler:WizModernImage.bmp"; DestName: "CompDescImg1.bmp"; Flags: dontcopy Source: "compiler:WizModernImage-IS.bmp"; DestName: "CompDescImg2.bmp"; Flags: dontcopy Source: "compiler:WizModernImage.bmp"; DestName: "MainPic.bmp"; Flags: dontcopy [Types] Name: full; Description: Full installation; Flags: iscustom [Components] Name: comp1; Description: "{cm:CompName1}"; Types: full Name: comp2; Description: "{cm:CompName2}"; Types: full Name: comp3; Description: "{cm:CompName1}"; Types: full Name: comp4; Description: "{cm:CompName2}"; Types: full Name: comp5; Description: "{cm:CompName1}"; Types: full Name: comp6; Description: "{cm:CompName2}"; Types: full Name: comp7; Description: "{cm:CompName1}"; Types: full Name: comp8; Description: "{cm:CompName2}"; Types: full [Code] type TComponentDesc = record ImageName: String; Index: Integer; end; var CompDescs: array of TComponentDesc; CompDescImgPanel: TPanel; 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; end else begin CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; LastIndex := Index; end; procedure CompListMouseLeave(Sender: TObject); begin LastIndex := -1; CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; procedure AddCompDescription(AIndex: Integer; AImageName: String); var i: Integer; begin i := GetArrayLength(CompDescs); SetArrayLength(CompDescs, i + 1); CompDescs[i].ImageName := AImageName; CompDescs[i].Index := AIndex - 1 end; procedure InitializeWizard(); begin ExtractTemporaryFile('MainPic.bmp'); WizardForm.SelectComponentsLabel.Hide; WizardForm.TypesCombo.Hide; WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(200)); WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription; WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave; CompDescImgPanel := TPanel.Create(WizardForm); with CompDescImgPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120)); BevelInner := bvLowered; 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; Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; AddCompDescription(1, 'CompDescImg1.bmp'); AddCompDescription(2, 'CompDescImg2.bmp'); end; картинка и описание [Setup] AppName=Моя программа AppVersion=1.5 AppPublisher=YURSHAT AppPublisherURL= DefaultDirName={pf}\Моя программа [Languages] Name: "RU"; MessagesFile: "compiler:Languages\Russian.isl" [CustomMessages] RU.CompName1=Компонент 1 RU.CompName2=Компонент 2 RU.ComponentsInfo=Наведите курсор мыши на компонент, чтобы прочитать его описание. RU.ComponentsImgInfo=Наведите курсор мыши на компонент, чтобы посмотреть его превью. RU.CompDesc1=Описание первого компонента RU.CompDesc2=Описание второго компонента [Files] Source: "compiler:WizModernImage.bmp"; DestName: "CompDescImg1.bmp"; Flags: dontcopy Source: "compiler:WizModernImage-IS.bmp"; DestName: "CompDescImg2.bmp"; Flags: dontcopy Source: "compiler:WizModernImage.bmp"; DestName: "MainPic.bmp"; Flags: dontcopy [Components] Name: comp1; Description: "{cm:CompName1}"; Name: comp2; Description: "{cm:CompName2}"; Name: comp3; Description: "{cm:CompName1}"; Name: comp4; Description: "{cm:CompName2}"; Name: comp5; Description: "{cm:CompName1}"; Name: comp6; Description: "{cm:CompName2}"; [code] 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 CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); CompDescText[2].Caption := CustomMessage('ComponentsInfo'); CompDescText[2].Enabled := False; end; LastIndex := Index; end; procedure CompListMouseLeave(Sender: TObject); begin CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); 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 ExtractTemporaryFile('MainPic.bmp'); WizardForm.SelectComponentsLabel.Hide; WizardForm.TypesCombo.Hide; WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(205)); WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription; WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave; CompDescImgPanel := TPanel.Create(WizardForm); with CompDescImgPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120)); 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; Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp')); end; CompDescPanel := TPanel.Create(WizardForm); with CompDescPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(192), ScaleY(125), ScaleX(225), ScaleY(80)); 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'); end; 2 Quote Share this post Link to post Short link Share on other sites
Fenixx 1 #262624 Posted April 13, 2015 (edited) Спасибо! попробовал сделал получилось!) Не под скажите как сделать?(удалить установленные моды и сделать рез копию) [media=1][/media] Edited April 13, 2015 by Fenixx Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #262653 Posted April 14, 2015 Спасибо! попробовал сделал получилось!) Не под скажите как сделать?(удалить установленные моды и сделать рез копию) [media=1][/media] http://www.koreanrandom.com/forum/topic/9050-инсталлятор-для-модпаков/?p=157502 1 Quote Share this post Link to post Short link Share on other sites
Fenixx 1 #262666 Posted April 14, 2015 Dark_Knight_MiX спасибо все разобрался! как сделать что бы получился один setap, потому что в моем инсталляторе там ISDone, как сделать так чтобы было сжатие как в ScriptModPack2? Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #262669 Posted April 14, 2015 (edited) Dark_Knight_MiX спасибо все разобрался! как сделать что бы получился один setap, потому что в моем инсталляторе там ISDone, как сделать так чтобы было сжатие как в ScriptModPack2? ISDone убери [Setup] Compression=lzma2/normal InternalCompressLevel=ultra64 Возможные значения: zip zip/1 до zip/9 bzip bzip/1 до bzip/9 lzma lzma/fast lzma/normal lzma/max lzma/ultra (рассмотрите требования к памяти ниже перед использованием) lzma/ultra64 (рассмотрите требования к памяти ниже перед использованием) lzma2 lzma2/fast lzma2/normal lzma2/max lzma2/ultra (рассмотрите требования к памяти ниже перед использованием) lzma2/ultra64 (рассмотрите требования к памяти ниже перед использованием) none Значение по умолчанию: lzma2/max Описание: Определяет метод и уровень (1-9) сжатия инсталлятора. Чем выше уровень сжатия, тем медленнее будет создаваться инсталлятор. К тому же может понадобиться больше памяти на сжатие/декомпрессию. Метод zip быстр в обоих направлениях, не требователен к памяти (требуется менее 1MB для обоих направлений для сжатия на 9 уровне), но сжимает не так хорошо, как другие поддерживаемые методы. zip, как lzma2, имеет единственное достоинство: в отличие от остальных методов он не будет увеличивать несжимаемые файлы (т.е. уже сжатые файлы). Если уровень сжатия не указан, он равен 7. bzip метод сжатия, который используется компрессором bzip2 [external link]. Он обычно сжимает лучше, чем zip , но работает медленнее в обоих направлениях. Для сжатия требуется более 8 MB памяти, для декомпрессии более 4 MB. Если уровень сжатия не указан, он равен 9. lzma метод сжатия, который используется компрессором 7-Zip LZMA [external link]. Обычно он сжимает гораздо лучше, чем zip и bzip. Впрочем, это зависит от уровня сжатия - он может оказаться и гораздо медленнее и потребовать гораздо больше памяти. В таблице показано примерное потребление памяти каждого уровня сжатия lzma. Если уровень сжатия не указан, он равен максимальному. Распаковка (размер словаря) Сжатие fast (худший) 32 КБ 3 МБ normal 2 МБ 26 МБ max (по умолчанию) 8 МБ 95 МБ ultra 32 МБ 372 МБ ultra64 (лучший) 64 MБ 676 MБ lzma2 метод сжатия, который используется компрессором 7-Zip LZMA2 [external link]. LZMA2 - измененная версия LZMA, который предлагает лучшую степень сжатия для несжимаемых данных (случайные данные расширяются приблизительно на 0.005 %, по сравнению с 1.35 % с исходным LZMA), и дополнительно может сжать многократные части больших файлов параллельно, значительно увеличивая скорость сжатия, но с возможным сокращением степени сжатия (см. LZMANumBlockThreads). Как LZMA, LZMA 2 может использовать много памяти; см. вышеупомянутую таблицу. Если уровень сжатия не указан, он равен максимальному. Edited April 14, 2015 by Dark_Knight_MiX 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #262670 Posted April 14, 2015 как сделать что бы получился один setap setup Quote Share this post Link to post Short link Share on other sites
voin_123 5 #262693 Posted April 14, 2015 Подключай языки и используй для каждой надписи вариации на разных языках: [Languages] Name: "RU"; MessagesFile: "compiler:Languages\Russian.isl" Name: "EN"; MessagesFile: "compiler:Languages\English.isl" [CustomMessages] RU.CompName1=Компонент 1 RU.CompName2=Компонент 2 EN.CompName1=Component 1 EN.CompName2=Component 2 СПС а как изменить язык для BackUpPage.iss Quote Share this post Link to post Short link Share on other sites
Fenixx 1 #262705 Posted April 14, 2015 все удалил про ISDone выдает ошибку Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #262707 Posted April 14, 2015 все удалил про ISDone выдает ошибку Не всё удалил. Quote Share this post Link to post Short link Share on other sites
Fenixx 1 #262708 Posted April 14, 2015 Не всё удалил. В том то и проблема то что все удалил, в поисковике искал тоже искал ничего не нашел Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #262709 Posted April 14, 2015 В том то и проблема то что все удалил, в поисковике искал тоже искал ничего не нашел Удалил не всё. Показывай тогда код. Quote Share this post Link to post Short link Share on other sites
Fenixx 1 #262714 Posted April 14, 2015 (edited) Удалил не всё. Показывай тогда код. 'Код' #define MyAppName "mod" #define NeedSize 6100 #define NeedMem 512 ///ñ êîìïîíåíòàìè è áåç #define Components ////ñ ñëàéäàìè èëè ïðîñòî ñ êàðòèíêîé ;#define Slides #define Image ///////////////////////////////////// [setup] AppName={#MyAppName} AppVersion=2.0 AppPublisher=avtor DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} OutputBaseFilename=setup Compression=lzma2/ultra64 SolidCompression=true [Languages] Name: rus; MessagesFile: compiler:Languages\Russian.isl //Name: eng; MessagesFile: compiler:Languages\English.isl [Files] Source: "MODS\PRICEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\P; Source: "MODS\DAMAGEPANEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\DP; //=== çâîíîê êðèòà ===///=== ñòàâèòü âíà÷àëå êîìàíäó êîïèðîâàíèå ôàéëîâ, à óæå ïîòîì óñòàíîâêó ìîäà ===\\ Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.8.6\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\ZK; Source: "MODS\ZVONOK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\ZK; Source: "MODS\ZOOM\COMANDOR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z; Source: "MODS\ZOOM\NOSCROLL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z\NS; Source: "MODS\ZOOM\ZOOM4X\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z\ZX4; Source: "MODS\TREE\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\T; Source: "MODS\INFO\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\I; Source: "MODS\COLORMESENGER\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\CM; Source: "MODS\CLOCK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\CLOCK; Source: "MODS\ANGAR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\A; Source: "MODS\XVM\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM; Source: dll\b2p.dll; Flags: dontcopy Source: dll\botva2.dll; Flags: dontcopy Source: dll\gdiplus.dll; Flags: dontcopy Source: dll\isSlideShow.dll; Flags: dontcopy Source: dll\InnoCallback.dll; Flags: dontcopy #ifdef Slides Source: SlidesFiles\*; Flags: dontcopy #endif #ifdef Image Source: Files\fonAC.jpg; Flags: dontcopy #endif Source: Files\about.png; Flags: dontcopy Source: Files\aboutlog.png; Flags: dontcopy Source: Files\Button.png; Flags: dontcopy Source: Files\cb.png; Flags: dontcopy Source: Files\dir.png; Flags: dontcopy Source: Files\edit.png; Flags: dontcopy Source: Files\exit.png; Flags: dontcopy Source: Files\group.png; Flags: dontcopy Source: Files\min.png; Flags: dontcopy Source: Files\pb.png; Flags: dontcopy Source: Files\pb1.png; Flags: dontcopy Source: Files\tasks.png; Flags: dontcopy Source: Files\t&c.bmp; Flags: dontcopy Source: Files\ready.png; Flags: dontcopy #ifdef Components Source: Files\work1.jpg; Flags: dontcopy Source: Files\work2.jpg; Flags: dontcopy Source: Files\work3.jpg; Flags: dontcopy Source: Files\work4.jpg; Flags: dontcopy Source: Files\work5.jpg; Flags: dontcopy Source: Files\work6.jpg; Flags: dontcopy Source: Files\work7.jpg; Flags: dontcopy Source: Files\work8.jpg; Flags: dontcopy Source: Files\workerror.jpg; Flags: dontcopy #else Source: Files\2work1.jpg; Flags: dontcopy Source: Files\2work2.jpg; Flags: dontcopy Source: Files\2work3.jpg; Flags: dontcopy Source: Files\2work4.jpg; Flags: dontcopy Source: Files\2work5.jpg; Flags: dontcopy Source: Files\2work6.jpg; Flags: dontcopy Source: Files\2work7.jpg; Flags: dontcopy Source: Files\2workerror.jpg; Flags: dontcopy #endif [CustomMessages] rus.Welcome1=Âàñ ïðèâåòñòâóåò Ìàñòåð óñòàíîâêè èãðû %n«{#MyAppName}» rus.Welcome2=Ðåêîìåíäóåòñÿ çàêðûòü àíòèâèðóñíûå ïðîãðàììû, à òàêæå âñå ïðî÷èå ïðèëîæåíèÿ ïåðåä òåì, êàê ïðîäîëæèòü.%n%nÍàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü, èëè «Îòìåíà», ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè. rus.Dir1=Ïðîãðàììà óñòàíîâèò «{#MyAppName}» â ñëåäóþùóþ ïàïêó. rus.Dir2=Íàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü. Åñëè Âû õîòèòå âûáðàòü äðóãóþ ïàïêó, íàæìèòå «Îáçîð». rus.Group1=Ïðîãðàììà ñîçäàñò ÿðëûêè â ñëåäóþùåé ïàïêå ìåíþ «Ïóñê». rus.FreeSpace=Äîñòóïíî ìåñòà íà äèñêå:..... rus.NeedSpace=Òðåáóåòñÿ ìåñòà äëÿ óñòàíîâêè:..... rus.AfterInstallSpace=Ïîñëå óñòàíîâêè èãðà çàéìåò:..... rus.nic=Íå ñîçäàâàòü ïàïêó â ìåíþ «Ïóñê» rus.Comp=Âûáåðèòå êîìïîíåíòû, êîòîðûå Âû õîòèòå óñòàíîâèòü; %nñíèìèòå ôëàæêè ñ êîìïîíåíòîâ, óñòàíàâëèâàòü êîòîðûå íå òðåáóåòñÿ. %nÍàæìèòå «Äàëåå», êîãäà Âû áóäåòå ãîòîâû ïðîäîëæèòü. rus.dop=Âûáåðèòå äîïîëíèòåëüíûå çàäà÷è, êîòîðûå íåîáõîäèìî âûïîëíèòü rus.ic=Äîáàâèòü ÿðëûê íà ðàáî÷èé ñòîë rus.Fin1=Óñòàíîâêà èãðû «{#MyAppName}» %nóñïåøíî çàâåðøåíà rus.Fin2=%n%nÄëÿ åå çàïóñêà âûáåðèòå ñîîòâåòñòâóþùèé ÿðëûê â ìåíþ "Ïóñê" %nèëè íà Ðàáî÷åì ñòîëå. %n%nÍàæìèòå "Çàâåðøèòü", ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè. rus.ExtractedFile=Èçâëåêàåòñÿ ôàéë: rus.Extracted=Óñòàíîâêà... rus.Error=Îøèáêà ðàñïàêîâêè! rus.ElapsedTime=Ïðîøëî: rus.RemainingTime=Îñòàëîñü âðåìåíè: rus.rbc=Îòêàò óñòàíîâêè... rus.p=Ïðîãðåññ: rus.exit=Âûõîä rus.Error1=Óñòàíîâêà èãðû «{#MyAppName}» íå çàâåðøåíà. rus.Error2=%nÂî âðåìÿ óñòàíîâêè ïðîèçîøëà îøèáêà, ïîæàëóéñòà îòêëþ÷èòå ñòîðîííèå ïðîãðàììû è ïîâòîðèòå ïîïûòêó óñòàíîâêè. %n%nÍàæìèòå «Çàâåðøèòü», ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè. rus.DX=Îáíîâèòü DirectX rus.VC=Óñòàíîâèòü Microsoft Visual C++ rus.ready1=Ïðîãðàììà óñòàíîâêè ãîòîâà íà÷àòü óñòàíîâêó «{#MyAppName}» íà Âàø êîìïüþòåð. rus.ready2=Èíôîðìàöèÿ: rus.ready3=Èãðà áóäåò óñòàíîâëåíà â rus.ready4=Ïàïêà â ìåíþ ïóñê rus.ready5=Áóäåò ñîçäàí ÿðëûê íà ðàáî÷åì ñòîëå rus.ready6=ßðëûê íà ðàáî÷åì ñòîëå ñîçäàí íå áóäåò rus.doppo=Óñòàíîâèòü äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå rus.ready7=Áóäåò óñòàíîâëåíî äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå rus.ready8=Äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå óñòàíîâëåíî íå áóäåò [icons] Name: {userdesktop}\{#MyAppName}; Filename: {app}\Data\Engine\KapowMulti.exe; WorkingDir: {app}; IconFilename: {app}\Data\Engine\KapowMulti.exe; Check: CheckError and IconsChecks Name: {group}\{cm:UninstallProgram}; Filename: {uninstallexe}; Check: CheckError [Run] Filename: {src}\Redist\dxwebsetup.exe; WorkingDir: {src}\Redist\; Flags: waituntilterminated; Check: CheckError and DpoChecks Filename: {src}\Redist\vcredist_x86.exe; WorkingDir: {src}\Redist\; Parameters: /Q; Flags: waituntilterminated; Check: not IsWin64 and CheckError and DpoChecks Filename: {src}\Redist\vcredist_x64.exe; WorkingDir: {src}\Redist\; Parameters: /Q; Flags: waituntilterminated; Check: IsWin64 and CheckError and DpoChecks [Tasks] Name: VCCheck; Description: Óñòàíîâèòü Microsoft Visual C++ 2005 Redist #ifdef Components [Types] Name: custom; Description: Full installation; Flags: iscustom [Components] Name: KMP; Description: KPAH Mod Pack; Types: custom; Flags: fixed Name: KMP\P; Description: 1. Ïðèöåë.; Flags: disablenouninstallwarning Name: KMP\DP; Description: 2. Äàìàã ïàíåëü.; Flags: disablenouninstallwarning Name: KMP\ZK; Description: 2. Çâóêîâîé ìîä çâîíîê ïðè êðèòå ìîäóëÿ.; Flags: disablenouninstallwarning Name: KMP\Z; Description: 3. Zoom.; Flags: disablenouninstallwarning Name: KMP\Z\NS; Description: à. NoScroll- êîë¸ñèêî íå ïåðåêëþ÷àåò â ñíàéïåðñêèé ðåæèì; Flags: checkablealone ; Name: KMP\Z\ZX4; Description: á. 4-õ ïîçèöèîííûé ñíàéïåðñêèé ïðèöåë ; Flags: checkablealone ; Name: KMP\T; Description: 4. Äåðåâî ðàçâèòèÿ.; Name: KMP\I; Description: 5. Èíôîðìàöèîííàÿ ïàíåëü âûáðàííîé öåëè.; Name: KMP\CM; Description: 6. Öâåòíûå ñîîáùåíèÿ(ßñåíÊðàñåí).; Name: KMP\CLOCK; Description: 7. ×àñû â àíãàðå.; Name: KMP\A; Description: 8. Àíãàð.; Name: KMP\XVM; Description: 9. Ïîëüçîìåð(Îëåíåìåð).; #endif [uninstallDelete] Type: filesandordirs; Name: {app} const PCFonFLY = true; notPCFonFLY = false; VK_ESCAPE = 27;varimg1, img2: longint; Cancel: Integer; Error: Boolean; PCFVer: Double; edit, dir, group, work1, work2, work3, work4, work5, work6, work7, work8, workerror, tasks, ready: Longint; hCancelBtn, hNextBtn, hBackBtn, hDirBrowseBtn, hGroupBrowseBtn, Min, CloseBtn, nic, IconsCheck, CancelBtn, MinBtn, AboutBtn, dpo: HWND; WFButtonFont: TFont; UpdBtn, UpdTasks: TTimer; WelcomeLabel1, MainLabel, WelcomeLabel2, dir1, IconsCheckLbl, NeedSpaceLabel, Dir1Label, FreeSpaceLabel, niclabel, doplbl, Pct, CurrFileName, Time1, Time2, i, dxlbl, vclbl, complbl, ready0, ready1, ready2, ready3, ready4, ready5, ready6, ready7, ready8, ready9, dpolbl: TLabel; FreeMB, TotalMB: Cardinal; SizeInt: Longint; Enabled: Boolean; LogoForm: TForm; closebnt: HWND; TimerID: LongWord; CurrentPicture:integer; PicList: TStringlist; imgpanel: tpanel;#include "AddIss\botva2.iss"#include "AddIss\progressbar.iss"var pb: TImgPB;function ReleaseCapture: Longint; external '[email protected] stdcall';///type TCallback = function (OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): longword;type TProc=procedure(HandleW, msg, idEvent, TimeSys: LongWord);function GetKeyState(nVirtKey: Integer): ShortInt; external 'GetKeyState@user32 stdcall delayload';///#ifdef Slidesfunction WrapTimerProc(callback:TProc; paramcount:integer):longword; external 'wrapcallback@files:innocallback.dll stdcall';function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord; external '[email protected] stdcall';function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external '[email protected] stdcall';function GetSystemMetrics(nIndex:Integer):Integer; external '[email protected] stdcall';procedure InitializeSlideShow(Hwnd:Thandle; l,t,w,h:integer;Animate:boolean; Stretch:integer); external 'InitializeSlideShow@files:isslideshow.dll stdcall';procedure DeinitializeSlideShow; external 'DeinitializeSlideShow@files:isslideshow.dll stdcall';procedure ShowImage_(file_: PAnsiChar; effect_: longint); external 'ShowImage@files:isslideshow.dll stdcall';#endif////procedure LabelOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin ReleaseCapture; SendMessage(WizardForm.Handle,$0112,$F012,0)end;function ProgressCallback(OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): longword;begin if (GetKeyState(VK_ESCAPE) < 0) then begin if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:= 1; end; if OveralPct<=1000 then ImgPBSetPosition(pb, OveralPct); Pct.Caption := ExpandConstant('{cm:p} ')+IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%'; CurrFileName.Caption:=ExpandConstant('{cm:ExtractedFile} ')+MinimizePathName(CurrentFile, CurrFileName.Font, CurrFileName.Width-ScaleX(100)); Time1.Caption:=ExpandConstant('{cm:ElapsedTime} ')+TimeStr2; Time2.Caption:=ExpandConstant('{cm:RemainingTime} ')+TimeStr1; Result := Cancel;end;function IconsChecks: Boolean;begin Result:= BtnGetChecked(IconsCheck);end;function DpoChecks: Boolean;begin Result:= BtnGetChecked(dpo);end;procedure CancelButtonOnClick(h: HWND);begin SuspendProc; if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:= 1; ResumeProc;end;function cm(s: PAnsiChar): String;begin Result:= ExpandConstant('{cm:'+s+'}');end;#ifdef Slidesprocedure ShowImage(file: string);begin if Pos(ExpandConstant('{tmp}\'), File)>0 then StringChange(File, ExpandConstant('{tmp}\'), ''); if Pos('{tmp}\', File)>0 then StringChange(File, '{tmp}\', ''); ExtractTemporaryFile(file); ShowImage_(ExpandConstant('{tmp}\'+File), 1); DeleteFile(ExpandConstant('{tmp}\'+File));end;#endifprocedure HideControls;begin Pct.Hide; i.Hide; CurrFileName.Hide; Time1.Hide; Time2.Hide; ImgPBDelete(pb); if Error then begin i.Show; i.Caption:= cm('rbc'); end;end;procedure CreateControls;begin Pct := TLabel.Create(WizardForm); with Pct do begin AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; AutoSize:= false; Left:= ScaleX(55); Top:= ScaleY(420); Width:= ScaleX(180); Transparent:= true; BringToFront; end; CurrFileName := TLabel.Create(WizardForm); with CurrFileName do begin Parent:= WizardForm; AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; AutoSize:= false; Width:= ScaleX(300); Left:= ScaleX(55); Top:= ScaleY(375); Transparent:= true; end; Time1 := TLabel.Create(WizardForm); with Time1 do begin AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; AutoSize:= false; Width:= ScaleX(200); Left:= ScaleX(55); Top:= ScaleY(390); Transparent:= true; end; Time2 := TLabel.Create(WizardForm); with Time2 do begin AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; AutoSize:= false; Width:= Time1.Width+ScaleX(40); Left:= ScaleX(55); Top:= Time1.Top+ScaleY(15); Transparent:= true; end; i := TLabel.Create(WizardForm); with i do begin AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; AutoSize:= false; Width:= Time1.Width+ScaleX(40); Left:= ScaleX(55); Top:= ScaleY(360); Transparent:= true; Caption:= cm('Extracted'); end;end;function CheckError: Boolean;begin Result:= not Error;end;///procedure FrameMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin WizardForm.SetFocus; ReleaseCapture; SendMessage(WizardForm.Handle,$0112,$F012,0);end;function InitializeSetup:boolean;begin if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll'); if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll'); if not FileExists(ExpandConstant('{tmp}\gdiplus.dll')) then ExtractTemporaryFile('gdiplus.dll'); Result:=True;end;//************************************************ [Íà÷àëî - Çàãðóçêà èçîáðàæåíèé è ïîäãîòîâêà âèçàðäà] ***************************************************//procedure CreateWizardImg;beginwith WizardForm do beginBorderStyle := bsNone;ClientWidth:=ScaleX(733);ClientHeight:=ScaleY(506);InnerNotebook.Hide;OuterNotebook.Hide;Bevel.Hide;Center;Color:= $191919;end; #ifdef Slides imgPanel := TPanel.Create(WizardForm); imgPanel.Top := ScaleY(73); imgPanel.Left := ScaleX(19); imgPanel.Width := ScaleX(695); imgPanel.Height := ScaleY(225); imgPanel.BevelOuter := bvNone; imgPanel.Parent := WizardForm; InitializeSlideShow(imgPanel.Handle, ScaleX(0), ScaleY(0), ScaleX(695), ScaleY(225), true, 8); #endif #ifdef Components work1:= ImgLoad(WizardForm.handle, ExpandConstant('work1.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work2:= ImgLoad(WizardForm.handle, ExpandConstant('work2.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work3:= ImgLoad(WizardForm.handle, ExpandConstant('work3.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work4:= ImgLoad(WizardForm.handle, ExpandConstant('work4.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work5:= ImgLoad(WizardForm.handle, ExpandConstant('work5.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work6:= ImgLoad(WizardForm.handle, ExpandConstant('work6.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work7:= ImgLoad(WizardForm.handle, ExpandConstant('work7.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work8:= ImgLoad(WizardForm.handle, ExpandConstant('work8.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); workerror:= ImgLoad(WizardForm.handle, ExpandConstant('workerror.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); #else work1:= ImgLoad(WizardForm.handle, ExpandConstant('2work1.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work2:= ImgLoad(WizardForm.handle, ExpandConstant('2work2.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work3:= ImgLoad(WizardForm.handle, ExpandConstant('2work3.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work4:= ImgLoad(WizardForm.handle, ExpandConstant('2work4.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work5:= ImgLoad(WizardForm.handle, ExpandConstant('2work5.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work6:= ImgLoad(WizardForm.handle, ExpandConstant('2work6.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work7:= ImgLoad(WizardForm.handle, ExpandConstant('2work7.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); workerror:= ImgLoad(WizardForm.handle, ExpandConstant('2workerror.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); #endif #ifdef Image ImgLoad(WizardForm.handle, ExpandConstant('fonAC.jpg'), ScaleX(19), ScaleY(73), ScaleX(695), ScaleY(225), True, True); #endif edit:= ImgLoad(WizardForm.handle, ExpandConstant('edit.png'), ScaleX(145), ScaleY(380), ScaleX(328), ScaleY(24), True, True); ready:= ImgLoad(WizardForm.handle, ExpandConstant('ready.png'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); dir:= ImgLoad(WizardForm.handle, ExpandConstant('dir.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True); group:= ImgLoad(WizardForm.handle, ExpandConstant('group.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True); tasks:= ImgLoad(WizardForm.handle, ExpandConstant('tasks.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True); ImgApplyChanges(WizardForm.Handle);end;//************************************************ [Êîíåö - Çàãðóçêà èçîáðàæåíèé è ïîäãîòîâêà âèçàðäà] ***************************************************////************************************************ [Íà÷àëî - Òåêñòóðû êíîïîê] ***************************************************//procedure SetStateNewButtons;begin with WizardForm.BackButton do begin BtnSetText(hBackBtn,PAnsiChar(Caption)); BtnSetVisibility(hBackBtn,Visible); BtnSetEnabled(hBackBtn,Enabled); BtnRefresh(hBackBtn); end; with WizardForm.NextButton do begin BtnSetText(hNextBtn,PAnsiChar(Caption)); BtnSetVisibility(hNextBtn,Visible); BtnSetEnabled(hNextBtn,Enabled); BtnRefresh(hNextBtn); end; with WizardForm.CancelButton do begin BtnSetText(hCancelBtn, PAnsiChar(cm('exit'))); BtnSetVisibility(hCancelBtn,Visible); BtnSetEnabled(hCancelBtn,Enabled); BtnRefresh(hCancelBtn); end; BtnSetText(hDirBrowseBtn,PAnsiChar(WizardForm.DirBrowseButton.Caption)); BtnSetText(hGroupBrowseBtn,PAnsiChar(WizardForm.GroupBrowseButton.Caption));end;procedure TimerRefreshBtn(S: TObject);begin BtnRefresh(hBackBtn); BtnRefresh(hNextBtn); BtnRefresh(hCancelBtn); BtnRefresh(hDirBrowseBtn); BtnRefresh(hGroupBrowseBtn); if BtnGetChecked(nic) then ready3.Caption:= cm('ready4') + ': ' + '-- --' else ready3.Caption:= cm('ready4') + ': ' + WizardForm.GroupEdit.Text;end;procedure WizardFormBtnClick(hBtn: HWND);var Btn:TButton;begin case hBtn of hCancelBtn: Btn:=WizardForm.CancelButton; hNextBtn: Btn:=WizardForm.NextButton; hBackBtn: Btn:=WizardForm.BackButton; hDirBrowseBtn: Btn:=WizardForm.DirBrowseButton; hGroupBrowseBtn: Btn:=WizardForm.GroupBrowseButton; end; Btn.OnClick(Btn); SetStateNewButtons; BtnRefresh(hBtn);end;procedure MinimizeBtnClick(h: HWND);begin WizardForm.SetFocus; ReleaseCapture; SendMessage(WizardForm.Handle,$112,61472,0);end;procedure CancelBtnClick(h: HWND);begin WizardForm.CancelButton.OnClick(WizardForm.CancelButton);end;procedure CancelBtnClick1(h: HWND);begin LogoForm.Hide; BtnSetEnabled(AboutBtn, not LogoForm.Visible);end;procedure NoIconsClick(hBtn: HWND);var Check:boolean;begin Check:= BtnGetChecked(hBtn); BtnSetEnabled(hGroupBrowseBtn, not Check); WizardForm.GroupEdit.Enabled:= not Check; WizardForm.NoIconsCheck.Checked:= Check; WizardForm.GroupEdit.Color:= $ffffff;end;procedure DpoOnClick(hBtn: TObject);begin BtnSetChecked(dpo, not BtnGetChecked(dpo)); if BtnGetChecked(dpo) then dpolbl.Font.Color:= $363636 else dpolbl.Font.Color:= clgray;end;procedure DpoOnClick1(hBtn: HWND);begin if BtnGetChecked(hBtn) then dpolbl.Font.Color:= $363636 else dpolbl.Font.Color:= clgray;end;procedure AboutClick(hBtn: HWND);var ok: HWND;begin closebnt:= BtnCreate(LogoForm.Handle, ScaleX(473 - 20), ScaleY(0), ScaleX(11), ScaleY(33), ExpandConstant('exit.png'), 1, False); BtnSetEvent(closebnt, BtnClickEventID,WrapBtnCallback(@CancelBtnClick1, 1)); ok:=BtnCreate(LogoForm.Handle, ScaleX(373), ScaleY(403), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(ok,BtnClickEventID,WrapBtnCallback(@CancelBtnClick1,1)); BtnSetFont(ok,WFButtonFont.Handle); BtnSetFontColor(ok, $363636, $363636, $363636, clgray); BtnSetText(ok,'OK'); ImgLoad(LogoForm.Handle, 'aboutlog.png', 0, 0, ScaleX(473), ScaleY(440), true, true); LogoForm.Show; BtnSetEnabled(AboutBtn, not LogoForm.Visible); ImgApplyChanges(LogoForm.Handle);end;procedure IconsClick(hBtn: HWND);var Check: Boolean;begin if BtnGetChecked(IconsCheck) then IconsCheckLbl.Font.Color:= $363636 else IconsCheckLbl.Font.Color:= clgray;end;procedure nicOnClick(Sender: TObject);begin BtnSetChecked(nic, not BtnGetChecked(nic)); NoIconsClick(nic);end;procedure IconsOnClick(Sender: TObject);begin BtnSetChecked(IconsCheck, not BtnGetChecked(IconsCheck)); if BtnGetChecked(IconsCheck) then IconsCheckLbl.Font.Color:= $363636 else IconsCheckLbl.Font.Color:= clgray;end;procedure ButtonsTextures;begin WFButtonFont:=TFont.Create; WFButtonFont.Name:= 'Tahoma'; WFButtonFont.Size:= 9; WFButtonFont.Color:= $363636;with WizardForm.NextButton do begin hNextBtn:=BtnCreate(WizardForm.Handle, ScaleX(500), ScaleY(470), ScaleX(93), ScaleY(33), 'button.png', 5, False); BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hNextBtn,WFButtonFont.Handle); BtnSetFontColor(hNextBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end;with WizardForm.BackButton do begin hBackBtn:=BtnCreate(WizardForm.Handle, ScaleX(400), ScaleY(470), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(hBackBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hBackBtn,WFButtonFont.Handle); BtnSetFontColor(hBackBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end;with WizardForm.CancelButton do begin hCancelBtn:=BtnCreate(WizardForm.Handle, ScaleX(620), ScaleY(470), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(hCancelBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hCancelBtn,WFButtonFont.Handle); BtnSetFontColor(hCancelBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end; CancelBtn:=BtnCreate(WizardForm.Handle, ScaleX(717), ScaleY(0), ScaleX(11), ScaleY(33), ExpandConstant('exit.png'), 1, False); BtnSetEvent(CancelBtn, BtnClickEventID,WrapBtnCallback(@CancelBtnClick,1)); BtnSetFont(CancelBtn, WFButtonFont.Handle); BtnSetText(CancelBtn,''); MinBtn:=BtnCreate(WizardForm.Handle, ScaleX(704), ScaleY(4), ScaleX(8), ScaleY(33), ExpandConstant('min.png'), 1, false); BtnSetEvent(MinBtn, BtnClickEventID,WrapBtnCallback(@MinimizeBtnClick,1)); AboutBtn:=BtnCreate(WizardForm.Handle, ScaleX(20), ScaleY(470), ScaleX(29), ScaleY(35), ExpandConstant('about.png'), 5, false); BtnSetChecked(AboutBtn, true); BtnSetEvent(AboutBtn, BtnClickEventID,WrapBtnCallback(@AboutClick,1));with WizardForm.DirBrowseButton do begin hDirBrowseBtn:=BtnCreate(WizardForm.Handle, ScaleX(502), ScaleY(375), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(hDirBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hDirBrowseBtn,WFButtonFont.Handle); BtnSetFontColor(hDirBrowseBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end;with WizardForm.GroupBrowseButton do begin hGroupBrowseBtn:=BtnCreate(WizardForm.Handle, ScaleX(502), ScaleY(375), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(hGroupBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hGroupBrowseBtn,WFButtonFont.Handle); BtnSetFontColor(hGroupBrowseBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end; nic:=BtnCreate(WizardForm.Handle, ScaleX(140),ScaleY(405), ScaleX(30),ScaleY(30), ExpandConstant('cb.png'), 1, true); BtnSetChecked(nic, false); BtnSetEvent(nic,BtnClickEventID,WrapBtnCallback(@NoIconsClick,1)); IconsCheck:=BtnCreate(WizardForm.Handle, ScaleX(200), ScaleY(380), ScaleX(30), ScaleY(30), ExpandConstant('cb.png'), 1, true); BtnSetChecked(IconsCheck, true); BtnSetEvent(IconsCheck, BtnClickEventID, WrapBtnCallback(@IconsClick, 1)); dpo:=BtnCreate(WizardForm.Handle, ScaleX(200), ScaleY(410), ScaleX(30), ScaleY(30), ExpandConstant('cb.png'), 1, true); BtnSetChecked(dpo, true); BtnSetEvent(dpo, BtnClickEventID, WrapBtnCallback(@DpoOnClick1, 1));end;//************************************************ [Êîíåö - Òåêñòóðû êíîïîê] ***************************************************////************************************************[Íà÷àëî - Ïðîâåðêà ìåñòà íà äèñêå]*************************************************************//Function NumToStr(Float: Extended): String;Begin Result:= Format('%.2n', [Float]); StringChange(Result, ',', ','); while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = ',')) and (Pos(',', Result) > 0) do SetLength(Result, Length(Result)-1);End;function CompareNum(FirstNum, SecondNum: Integer): Boolean;beginif FirstNum < SecondNum then Result:= False else Result:= True;end;Function MbOrTb(Byte: Extended): AnsiString;beginif Byte < 1024 then Result:= NumToStr(Byte) + ' MB' else if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' GB' else Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' TB'end;procedure GetFreeSpaceCaption(Sender: TObject);var Path: AnsiString; gsod: Boolean;begin Path := ExtractFileDrive(WizardForm.DirEdit.Text); gsod:= GetSpaceOnDisk(Path, True, FreeMB, TotalMB); if gsod then begin FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} ') + MbOrTB(FreeMb) + ' (' + IntToStr((FreeMb*100) div TotalMB) + ' %)'; NeedSpaceLabel.Caption := ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt); BtnSetEnabled(hNextBtn, true); WizardForm.NextButton.Enabled:= true; end else if not gsod then begin FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} 0 MB'); NeedSpaceLabel.Caption := ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt) BtnSetEnabled(hNextBtn, false); WizardForm.NextButton.Enabled:= false; Exit; end; ready2.Caption:=ready2.Caption + ': ' + WizardForm.DirEdit.Text;end;procedure NeedSpace;beginSizeInt:= {#NeedSize}FreeSpaceLabel := TLabel.Create(WizardForm);FreeSpaceLabel.SetBounds(ScaleX(145), ScaleY(410), ScaleX(209), ScaleY(13))FreeSpaceLabel.Parent := WizardForm;FreeSpaceLabel.Font.Name:='Arial';FreeSpaceLabel.Font.Size:= 8;FreeSpaceLabel.Font.Color:= $363636;FreeSpaceLabel.Transparent:=true;FreeSpaceLabel.Font.Style := [fsBold];NeedSpaceLabel := TLabel.Create(WizardForm);NeedSpaceLabel.SetBounds(ScaleX(145), ScaleY(430), ScaleX(209), ScaleY(13))NeedSpaceLabel.Parent := WizardForm;NeedSpaceLabel.Font.Name:='Arial';NeedSpaceLabel.Font.Size:= 8;NeedSpaceLabel.Font.Color:= $363636;NeedSpaceLabel.Transparent:=true;NeedSpaceLabel.Font.Style:= [fsBold];WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption;WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0;end;//************************************************[Êîíåö - Ïðîâåðêà ìåñòà íà äèñêå]*************************************************************////************************************************ [Íà÷àëî - Ñîçäàíèå ëåáåëîâ] ***************************************************//procedure CreateLabel;begin//Áåç ýòîãî êíîïêè íîðìàëüíî íå ïåðåðèñîâûâàþòñÿ, åñëè çàïóñòèòü ñåòàï è ïðè ýòîì íàâåñòè êóðñîð íà êíîïêó. UpdBtn:= TTimer.Create(nil); UpdBtn.Interval:= 1; UpdBtn.OnTimer:= @TimerRefreshBtn;///////////////////////////////////////////////////////////////////////////////////////////////////////////MainLabel:= TLabel.Create(WizardForm);with MainLabel dobegin Left:= ScaleX(0); Top:= ScaleY(7); Width:= ScaleX(752); Height:= ScaleY(34); AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:='Corbel'; Alignment:= taCenter; Font.Size:= 10; Font.Color:= $aeacac; Font.Style := [fsBold]; Parent:= WizardForm; OnMouseDown:=@LabelOnMouseDown; Caption:= WizardForm.Caption;end;//WelcomeWelcomeLabel1:= TLabel.Create(WizardForm);with WelcomeLabel1 dobegin Left:= ScaleX(140); Top:= ScaleY(330); Width:= ScaleX(450); Height:= ScaleY(65); AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:='Arial'; Font.Size:= 10; Font.Color:=$363636; Font.Style := [fsBold]; Alignment := taCenter; Parent:= WizardForm; Caption:= cm('Welcome1');end;WelcomeLabel2:=TLabel.Create(WizardForm);with WelcomeLabel2 dobegin Left:= ScaleX(140); Top:= ScaleY(370);; Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:='Arial'; Font.Size:= 9; Font.Color:=$363636; Alignment := taCenter; Font.Style := [fsBold]; Transparent:= true; Parent:= WizardForm; Caption:= cm('Welcome2');end;//SelectDirwith WizardForm.DirEdit do begin Parent:= WizardForm; Left:= ScaleX(148); Top:= ScaleY(384); BorderStyle:= bsNone; Color:= $ffffff; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:= $363636; Width:= ScaleX(324); Height:= ScaleY(18); end;with WizardForm.GroupEdit do begin Parent:= WizardForm; Left:= ScaleX(148); Top:= ScaleY(384); BorderStyle:= bsNone; Color:= $ffffff; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:= $363636; Width:= ScaleX(324); Height:= ScaleY(18); end;dir1:=TLabel.Create(WizardForm);with dir1 dobegin Left:= ScaleX(300); Top:= ScaleY(480); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; Caption:= cm('dir1');end;/////////////////////////niclabel:=TLabel.Create(WizardForm);with niclabel dobegin Left:= ScaleX(170); Top:= ScaleY(412); Width:= ScaleX(250); Height:= ScaleY(16); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('nic'); OnClick:= @nicOnClick;end;/////////////////////////////////ExtractTemporaryFile('t&c.bmp');with WizardForm.ComponentsList do begin Left:= ScaleX(435); Top:= ScaleY(330); Width:= ScaleX(275); Height:= ScaleY(110); Color:= WizardForm.Color; Font.Color:= $363636; Font.Style:= [fsBold]; Font.Size:= 8; Font.Name:= 'Arial' BorderStyle:= bsSingle; Font.Color:= $363636; LoadBGBmpFromFile(ExpandConstant('{tmp}\t&c.bmp'), 0, 0); Parent:= WizardForm;end;complbl:=TLabel.Create(WizardForm);with complbl dobegin Left:= ScaleX(20); Top:= ScaleY(363); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 9; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('comp');end;///////////////////////////////doplbl:=TLabel.Create(WizardForm);with doplbl dobegin Left:= ScaleX(215); Top:= ScaleY(348); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('dop');end;IconsCheckLbl:=TLabel.Create(WizardForm);with IconsCheckLbl dobegin Left:= ScaleX(230); Top:= ScaleY(387); Width:= ScaleX(250); Height:= ScaleY(16); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ic'); OnClick:= @IconsOnClick;end;//////////////////////////////////DeleteFile(ExpandConstant('{tmp}\t&c.bmp'));ready0:=TLabel.Create(WizardForm);with ready0 dobegin Left:= ScaleX(140); Top:= ScaleY(340); Width:= ScaleX(470); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready1')end;ready1:=TLabel.Create(WizardForm);with ready1 dobegin Left:= ScaleX(143); Top:= ScaleY(370); Width:= ScaleX(550); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready2')end;ready2:=TLabel.Create(WizardForm);with ready2 dobegin Left:= ScaleX(160); Top:= ScaleY(385); Width:= ScaleX(460); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready3');end;ready3:=TLabel.Create(WizardForm);with ready3 dobegin Left:= ScaleX(160); Top:= ScaleY(400); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready4');end;ready4:=TLabel.Create(WizardForm);with ready4 dobegin Left:= ScaleX(160); Top:= ScaleY(415); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready5');end;ready5:=TLabel.Create(WizardForm);with ready5 dobegin Left:= ScaleX(160); Top:= ScaleY(415); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready6');end;dpolbl:=TLabel.Create(WizardForm);with dpolbl dobegin Left:= ScaleX(230); Top:= ScaleY(423); Width:= ScaleX(350); Height:= ScaleY(16); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('doppo'); OnClick:= @DpoOnClick;end;ready6:=TLabel.Create(WizardForm);with ready6 dobegin Left:= ScaleX(160); Top:= ScaleY(430); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready7');end;ready7:=TLabel.Create(WizardForm);with ready7 dobegin Left:= ScaleX(160); Top:= ScaleY(430); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready8');end; LogoForm:= TForm.Create(WizardForm); LogoForm.BorderStyle:= bsNone; LogoForm.SetBounds(ScaleX(WizardForm.Width div 2 - 230), ScaleY(40), ScaleX(473), ScaleY(440)); LogoForm.Parent:= WizardForm;end;//************************************************ [Êîíåö - Ñîçäàíèå ëåáåëîâ] ***************************************************//procedure InitializeWizard;begin Enabled:= true; CreateWizardImg; CreateLabel; ButtonsTextures; NeedSpace; #ifdef Slides PicList:=tstringlist.Create; ExtractTemporaryFile('fon1.jpg'); ExtractTemporaryFile('fon2.jpg'); ExtractTemporaryFile('fon3.jpg'); ExtractTemporaryFile('fon4.jpg'); ExtractTemporaryFile('fon5.jpg'); ExtractTemporaryFile('fon6.jpg'); ExtractTemporaryFile('fon7.jpg'); ExtractTemporaryFile('fon8.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon1.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon2.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon3.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon4.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon5.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon6.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon7.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon8.jpg'); #endifend;#ifdef Slidesprocedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord);beginCurrentPicture:=CurrentPicture+1;if CurrentPicture=piclist.count+1 then CurrentPicture:=1;ShowImage(piclist.strings[CurrentPicture - 1]);end;#endifprocedure CurPageChanged(CurPageID: Integer);begin SetStateNewButtons; WelcomeLabel1.Hide; WelcomeLabel2.Hide; BtnSetVisibility(hDirBrowseBtn, false); BtnSetVisibility(hGroupBrowseBtn, false); BtnSetVisibility(nic, false); ImgSetVisibility(edit, false); ImgSetVisibility(dir, false); ImgSetVisibility(group, false); ImgSetVisibility(work1, false); ImgSetVisibility(work2, false); ImgSetVisibility(work3, false); ImgSetVisibility(work4, false); ImgSetVisibility(work5, false); ImgSetVisibility(work6, false); ImgSetVisibility(work7, false); ImgSetVisibility(ready, false); #ifdef Components ImgSetVisibility(work8, false); #endif ImgSetVisibility(workerror, false); ImgSetVisibility(tasks, false); WizardForm.DirEdit.Hide; WizardForm.GroupEdit.Hide; dir1.Hide; FreeSpaceLabel.Hide; NeedSpaceLabel.Hide; niclabel.Hide; WizardForm.ComponentsList.Hide; BtnSetVisibility(IconsCheck, false); doplbl.Hide; IconsCheckLbl.Hide; WizardForm.TasksList.Hide; complbl.Hide; ready0.Hide; ready1.Hide; ready2.Hide; ready3.Hide; ready4.Hide; ready5.Hide; ready6.Hide; ready7.Hide; BtnSetVisibility(dpo, false); dpolbl.Hide; if CurPageID = wpWelcome then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon1.jpg')) #endif LogoForm.Hide; WelcomeLabel1.Show; WelcomeLabel2.Show; ImgSetVisibility(work1, true); CancelBtnClick1(0); ImgSetVisibility(img1, true); end; if CurPageID = wpSelectDir then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon2.jpg')) #endif BtnSetVisibility(hDirBrowseBtn, true); ImgSetVisibility(edit, true); ImgSetVisibility(dir, true); WizardForm.DirEdit.Show; FreeSpaceLabel.Show; NeedSpaceLabel.Show; dir1.Show; dir1.Caption:= cm('dir1'); dir1.Left:= ScaleX(220); dir1.Top:= ScaleX(343); ImgSetVisibility(work2, true); LogoForm.Hide; CancelBtnClick1(0); ImgSetVisibility(img2, true); end; if CurPageID = wpSelectComponents then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon3.jpg')) #endif #ifdef Components WizardForm.ComponentsList.Show; WizardForm.ComponentsList.DragMode; WizardForm.ComponentsList.Dragging; ImgSetVisibility(work3, true); complbl.Show; LogoForm.Hide; CancelBtnClick1(0); #endif end; if CurPageID = wpSelectProgramGroup then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon4.jpg')) #endif BtnSetVisibility(hGroupBrowseBtn, true); ImgSetVisibility(edit, true); WizardForm.GroupEdit.Show; ImgSetVisibility(group, true); dir1.Caption:= cm('group1'); dir1.Left:= ScaleX(220); dir1.Top:= ScaleX(343); dir1.Show; BtnSetVisibility(nic, true); niclabel.Show; #ifdef Components ImgSetVisibility(work4, true); #else ImgSetVisibility(work3, true); #endif LogoForm.Hide; CancelBtnClick1(0); end; if CurPageID = wpSelectTasks then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon5.jpg')) #endif BtnSetVisibility(IconsCheck, true); doplbl.Show; IconsCheckLbl.Show; #ifdef Components ImgSetVisibility(work5, true); #else ImgSetVisibility(work4, true); #endif ImgSetVisibility(tasks, true); BtnSetVisibility(dpo, true); dpolbl.Show; LogoForm.Hide; CancelBtnClick1(0); end; if CurPageID = wpReady then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon6.jpg')) #endif #ifdef Components ImgSetVisibility(work6, true); #else ImgSetVisibility(work5, true); #endif ready0.Show; ready1.Show; ready2.Show; ready3.Show; if BtnGetChecked(IconsCheck) then begin ready5.Hide; ready4.Show end else begin ready4.Hide; ready5.Show; end; if BtnGetChecked(dpo) then begin ready7.Hide; ready6.Show end else begin ready6.Hide; ready7.Show; end; LogoForm.Hide; CancelBtnClick1(0); ImgSetVisibility(ready, true); end; if CurPageID = wpInstalling then begin #ifdef Slides CurrentPicture:=1; TimerID:=SetTimer(0, 0, 3000, WrapTimerProc(@OnTimer, 4)); //çàäåðæêà 3000 ìñ (3 ñåêóíäû) #endif #ifdef Components ImgSetVisibility(work7, true); #else ImgSetVisibility(work6, true); #endif LogoForm.Hide; CancelBtnClick1(0); end; if CurPageID = wpFinished then begin #ifdef Slides KillTimer(0, TimerID); ShowImage(ExpandConstant('{tmp}\fon8.jpg')) #endif #ifdef Components ImgSetVisibility(work8, true); #else ImgSetVisibility(work7, true); #endif WelcomeLabel1.Caption:= cm('Fin1'); WelcomeLabel2.Caption:= cm('Fin2'); WelcomeLabel2.Top:= WelcomeLabel2.Top-ScaleY(23); WelcomeLabel1.Show; WelcomeLabel2.Show; i.Hide; LogoForm.Hide; CancelBtnClick1(0); end; if (CurPageID = wpFinished) and Error then begin WelcomeLabel1.Caption:= cm('Error1'); WelcomeLabel2.Caption:= cm('Error2') ImgSetVisibility(workerror, true); LogoForm.Hide; CancelBtnClick1(0); end; ImgApplyChanges(WizardForm.Handle);end;procedure DeinitializeSetup;begin if Enabled then gdipShutdown;#ifdef SlidesDeinitializeSlideShow;KillTimer(0, TimerID);#endifend;скрипт.rar Edited April 14, 2015 by Fenixx Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #262718 Posted April 14, 2015 @Fenixx, скрипт лучше скидывать в полном комплекте всего, что необходимо для компиляции (кроме самих модов), а то не очень весело по кускам собирать. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #262724 Posted April 14, 2015 'Код' #define MyAppName "mod" #define NeedSize 6100 #define NeedMem 512 ///ñ êîìïîíåíòàìè è áåç #define Components ////ñ ñëàéäàìè èëè ïðîñòî ñ êàðòèíêîé ;#define Slides #define Image ///////////////////////////////////// [setup] AppName={#MyAppName} AppVersion=2.0 AppPublisher=avtor DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} OutputBaseFilename=setup Compression=lzma2/ultra64 SolidCompression=true [Languages] Name: rus; MessagesFile: compiler:Languages\Russian.isl //Name: eng; MessagesFile: compiler:Languages\English.isl [Files] Source: "MODS\PRICEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\P; Source: "MODS\DAMAGEPANEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\DP; //=== çâîíîê êðèòà ===///=== ñòàâèòü âíà÷àëå êîìàíäó êîïèðîâàíèå ôàéëîâ, à óæå ïîòîì óñòàíîâêó ìîäà ===\\ Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods\0.8.6\audio\"; Flags: external recursesubdirs skipifsourcedoesntexist; Components: KMP\ZK; Source: "MODS\ZVONOK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\ZK; Source: "MODS\ZOOM\COMANDOR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z; Source: "MODS\ZOOM\NOSCROLL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z\NS; Source: "MODS\ZOOM\ZOOM4X\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\Z\ZX4; Source: "MODS\TREE\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\T; Source: "MODS\INFO\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\I; Source: "MODS\COLORMESENGER\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\CM; Source: "MODS\CLOCK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\CLOCK; Source: "MODS\ANGAR\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\A; Source: "MODS\XVM\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\XVM; Source: dll\b2p.dll; Flags: dontcopy Source: dll\botva2.dll; Flags: dontcopy Source: dll\gdiplus.dll; Flags: dontcopy Source: dll\isSlideShow.dll; Flags: dontcopy Source: dll\InnoCallback.dll; Flags: dontcopy #ifdef Slides Source: SlidesFiles\*; Flags: dontcopy #endif #ifdef Image Source: Files\fonAC.jpg; Flags: dontcopy #endif Source: Files\about.png; Flags: dontcopy Source: Files\aboutlog.png; Flags: dontcopy Source: Files\Button.png; Flags: dontcopy Source: Files\cb.png; Flags: dontcopy Source: Files\dir.png; Flags: dontcopy Source: Files\edit.png; Flags: dontcopy Source: Files\exit.png; Flags: dontcopy Source: Files\group.png; Flags: dontcopy Source: Files\min.png; Flags: dontcopy Source: Files\pb.png; Flags: dontcopy Source: Files\pb1.png; Flags: dontcopy Source: Files\tasks.png; Flags: dontcopy Source: Files\t&c.bmp; Flags: dontcopy Source: Files\ready.png; Flags: dontcopy #ifdef Components Source: Files\work1.jpg; Flags: dontcopy Source: Files\work2.jpg; Flags: dontcopy Source: Files\work3.jpg; Flags: dontcopy Source: Files\work4.jpg; Flags: dontcopy Source: Files\work5.jpg; Flags: dontcopy Source: Files\work6.jpg; Flags: dontcopy Source: Files\work7.jpg; Flags: dontcopy Source: Files\work8.jpg; Flags: dontcopy Source: Files\workerror.jpg; Flags: dontcopy #else Source: Files\2work1.jpg; Flags: dontcopy Source: Files\2work2.jpg; Flags: dontcopy Source: Files\2work3.jpg; Flags: dontcopy Source: Files\2work4.jpg; Flags: dontcopy Source: Files\2work5.jpg; Flags: dontcopy Source: Files\2work6.jpg; Flags: dontcopy Source: Files\2work7.jpg; Flags: dontcopy Source: Files\2workerror.jpg; Flags: dontcopy #endif [CustomMessages] rus.Welcome1=Âàñ ïðèâåòñòâóåò Ìàñòåð óñòàíîâêè èãðû %n«{#MyAppName}» rus.Welcome2=Ðåêîìåíäóåòñÿ çàêðûòü àíòèâèðóñíûå ïðîãðàììû, à òàêæå âñå ïðî÷èå ïðèëîæåíèÿ ïåðåä òåì, êàê ïðîäîëæèòü.%n%nÍàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü, èëè «Îòìåíà», ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè. rus.Dir1=Ïðîãðàììà óñòàíîâèò «{#MyAppName}» â ñëåäóþùóþ ïàïêó. rus.Dir2=Íàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü. Åñëè Âû õîòèòå âûáðàòü äðóãóþ ïàïêó, íàæìèòå «Îáçîð». rus.Group1=Ïðîãðàììà ñîçäàñò ÿðëûêè â ñëåäóþùåé ïàïêå ìåíþ «Ïóñê». rus.FreeSpace=Äîñòóïíî ìåñòà íà äèñêå:..... rus.NeedSpace=Òðåáóåòñÿ ìåñòà äëÿ óñòàíîâêè:..... rus.AfterInstallSpace=Ïîñëå óñòàíîâêè èãðà çàéìåò:..... rus.nic=Íå ñîçäàâàòü ïàïêó â ìåíþ «Ïóñê» rus.Comp=Âûáåðèòå êîìïîíåíòû, êîòîðûå Âû õîòèòå óñòàíîâèòü; %nñíèìèòå ôëàæêè ñ êîìïîíåíòîâ, óñòàíàâëèâàòü êîòîðûå íå òðåáóåòñÿ. %nÍàæìèòå «Äàëåå», êîãäà Âû áóäåòå ãîòîâû ïðîäîëæèòü. rus.dop=Âûáåðèòå äîïîëíèòåëüíûå çàäà÷è, êîòîðûå íåîáõîäèìî âûïîëíèòü rus.ic=Äîáàâèòü ÿðëûê íà ðàáî÷èé ñòîë rus.Fin1=Óñòàíîâêà èãðû «{#MyAppName}» %nóñïåøíî çàâåðøåíà rus.Fin2=%n%nÄëÿ åå çàïóñêà âûáåðèòå ñîîòâåòñòâóþùèé ÿðëûê â ìåíþ "Ïóñê" %nèëè íà Ðàáî÷åì ñòîëå. %n%nÍàæìèòå "Çàâåðøèòü", ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè. rus.ExtractedFile=Èçâëåêàåòñÿ ôàéë: rus.Extracted=Óñòàíîâêà... rus.Error=Îøèáêà ðàñïàêîâêè! rus.ElapsedTime=Ïðîøëî: rus.RemainingTime=Îñòàëîñü âðåìåíè: rus.rbc=Îòêàò óñòàíîâêè... rus.p=Ïðîãðåññ: rus.exit=Âûõîä rus.Error1=Óñòàíîâêà èãðû «{#MyAppName}» íå çàâåðøåíà. rus.Error2=%nÂî âðåìÿ óñòàíîâêè ïðîèçîøëà îøèáêà, ïîæàëóéñòà îòêëþ÷èòå ñòîðîííèå ïðîãðàììû è ïîâòîðèòå ïîïûòêó óñòàíîâêè. %n%nÍàæìèòå «Çàâåðøèòü», ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè. rus.DX=Îáíîâèòü DirectX rus.VC=Óñòàíîâèòü Microsoft Visual C++ rus.ready1=Ïðîãðàììà óñòàíîâêè ãîòîâà íà÷àòü óñòàíîâêó «{#MyAppName}» íà Âàø êîìïüþòåð. rus.ready2=Èíôîðìàöèÿ: rus.ready3=Èãðà áóäåò óñòàíîâëåíà â rus.ready4=Ïàïêà â ìåíþ ïóñê rus.ready5=Áóäåò ñîçäàí ÿðëûê íà ðàáî÷åì ñòîëå rus.ready6=ßðëûê íà ðàáî÷åì ñòîëå ñîçäàí íå áóäåò rus.doppo=Óñòàíîâèòü äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå rus.ready7=Áóäåò óñòàíîâëåíî äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå rus.ready8=Äîïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷åíèå óñòàíîâëåíî íå áóäåò [icons] Name: {userdesktop}\{#MyAppName}; Filename: {app}\Data\Engine\KapowMulti.exe; WorkingDir: {app}; IconFilename: {app}\Data\Engine\KapowMulti.exe; Check: CheckError and IconsChecks Name: {group}\{cm:UninstallProgram}; Filename: {uninstallexe}; Check: CheckError [Run] Filename: {src}\Redist\dxwebsetup.exe; WorkingDir: {src}\Redist\; Flags: waituntilterminated; Check: CheckError and DpoChecks Filename: {src}\Redist\vcredist_x86.exe; WorkingDir: {src}\Redist\; Parameters: /Q; Flags: waituntilterminated; Check: not IsWin64 and CheckError and DpoChecks Filename: {src}\Redist\vcredist_x64.exe; WorkingDir: {src}\Redist\; Parameters: /Q; Flags: waituntilterminated; Check: IsWin64 and CheckError and DpoChecks [Tasks] Name: VCCheck; Description: Óñòàíîâèòü Microsoft Visual C++ 2005 Redist #ifdef Components [Types] Name: custom; Description: Full installation; Flags: iscustom [Components] Name: KMP; Description: KPAH Mod Pack; Types: custom; Flags: fixed Name: KMP\P; Description: 1. Ïðèöåë.; Flags: disablenouninstallwarning Name: KMP\DP; Description: 2. Äàìàã ïàíåëü.; Flags: disablenouninstallwarning Name: KMP\ZK; Description: 2. Çâóêîâîé ìîä çâîíîê ïðè êðèòå ìîäóëÿ.; Flags: disablenouninstallwarning Name: KMP\Z; Description: 3. Zoom.; Flags: disablenouninstallwarning Name: KMP\Z\NS; Description: à. NoScroll- êîë¸ñèêî íå ïåðåêëþ÷àåò â ñíàéïåðñêèé ðåæèì; Flags: checkablealone ; Name: KMP\Z\ZX4; Description: á. 4-õ ïîçèöèîííûé ñíàéïåðñêèé ïðèöåë ; Flags: checkablealone ; Name: KMP\T; Description: 4. Äåðåâî ðàçâèòèÿ.; Name: KMP\I; Description: 5. Èíôîðìàöèîííàÿ ïàíåëü âûáðàííîé öåëè.; Name: KMP\CM; Description: 6. Öâåòíûå ñîîáùåíèÿ(ßñåíÊðàñåí).; Name: KMP\CLOCK; Description: 7. ×àñû â àíãàðå.; Name: KMP\A; Description: 8. Àíãàð.; Name: KMP\XVM; Description: 9. Ïîëüçîìåð(Îëåíåìåð).; #endif [uninstallDelete] Type: filesandordirs; Name: {app} const PCFonFLY = true; notPCFonFLY = false; VK_ESCAPE = 27;varimg1, img2: longint; Cancel: Integer; Error: Boolean; PCFVer: Double; edit, dir, group, work1, work2, work3, work4, work5, work6, work7, work8, workerror, tasks, ready: Longint; hCancelBtn, hNextBtn, hBackBtn, hDirBrowseBtn, hGroupBrowseBtn, Min, CloseBtn, nic, IconsCheck, CancelBtn, MinBtn, AboutBtn, dpo: HWND; WFButtonFont: TFont; UpdBtn, UpdTasks: TTimer; WelcomeLabel1, MainLabel, WelcomeLabel2, dir1, IconsCheckLbl, NeedSpaceLabel, Dir1Label, FreeSpaceLabel, niclabel, doplbl, Pct, CurrFileName, Time1, Time2, i, dxlbl, vclbl, complbl, ready0, ready1, ready2, ready3, ready4, ready5, ready6, ready7, ready8, ready9, dpolbl: TLabel; FreeMB, TotalMB: Cardinal; SizeInt: Longint; Enabled: Boolean; LogoForm: TForm; closebnt: HWND; TimerID: LongWord; CurrentPicture:integer; PicList: TStringlist; imgpanel: tpanel;#include "AddIss\botva2.iss"#include "AddIss\progressbar.iss"var pb: TImgPB;function ReleaseCapture: Longint; external '[email protected] stdcall';///type TCallback = function (OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): longword;type TProc=procedure(HandleW, msg, idEvent, TimeSys: LongWord);function GetKeyState(nVirtKey: Integer): ShortInt; external 'GetKeyState@user32 stdcall delayload';///#ifdef Slidesfunction WrapTimerProc(callback:TProc; paramcount:integer):longword; external 'wrapcallback@files:innocallback.dll stdcall';function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord; external '[email protected] stdcall';function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external '[email protected] stdcall';function GetSystemMetrics(nIndex:Integer):Integer; external '[email protected] stdcall';procedure InitializeSlideShow(Hwnd:Thandle; l,t,w,h:integer;Animate:boolean; Stretch:integer); external 'InitializeSlideShow@files:isslideshow.dll stdcall';procedure DeinitializeSlideShow; external 'DeinitializeSlideShow@files:isslideshow.dll stdcall';procedure ShowImage_(file_: PAnsiChar; effect_: longint); external 'ShowImage@files:isslideshow.dll stdcall';#endif////procedure LabelOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin ReleaseCapture; SendMessage(WizardForm.Handle,$0112,$F012,0)end;function ProgressCallback(OveralPct, CurrentPct: Integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): longword;begin if (GetKeyState(VK_ESCAPE) < 0) then begin if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:= 1; end; if OveralPct<=1000 then ImgPBSetPosition(pb, OveralPct); Pct.Caption := ExpandConstant('{cm:p} ')+IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%'; CurrFileName.Caption:=ExpandConstant('{cm:ExtractedFile} ')+MinimizePathName(CurrentFile, CurrFileName.Font, CurrFileName.Width-ScaleX(100)); Time1.Caption:=ExpandConstant('{cm:ElapsedTime} ')+TimeStr2; Time2.Caption:=ExpandConstant('{cm:RemainingTime} ')+TimeStr1; Result := Cancel;end;function IconsChecks: Boolean;begin Result:= BtnGetChecked(IconsCheck);end;function DpoChecks: Boolean;begin Result:= BtnGetChecked(dpo);end;procedure CancelButtonOnClick(h: HWND);begin SuspendProc; if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:= 1; ResumeProc;end;function cm(s: PAnsiChar): String;begin Result:= ExpandConstant('{cm:'+s+'}');end;#ifdef Slidesprocedure ShowImage(file: string);begin if Pos(ExpandConstant('{tmp}\'), File)>0 then StringChange(File, ExpandConstant('{tmp}\'), ''); if Pos('{tmp}\', File)>0 then StringChange(File, '{tmp}\', ''); ExtractTemporaryFile(file); ShowImage_(ExpandConstant('{tmp}\'+File), 1); DeleteFile(ExpandConstant('{tmp}\'+File));end;#endifprocedure HideControls;begin Pct.Hide; i.Hide; CurrFileName.Hide; Time1.Hide; Time2.Hide; ImgPBDelete(pb); if Error then begin i.Show; i.Caption:= cm('rbc'); end;end;procedure CreateControls;begin Pct := TLabel.Create(WizardForm); with Pct do begin AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; AutoSize:= false; Left:= ScaleX(55); Top:= ScaleY(420); Width:= ScaleX(180); Transparent:= true; BringToFront; end; CurrFileName := TLabel.Create(WizardForm); with CurrFileName do begin Parent:= WizardForm; AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; AutoSize:= false; Width:= ScaleX(300); Left:= ScaleX(55); Top:= ScaleY(375); Transparent:= true; end; Time1 := TLabel.Create(WizardForm); with Time1 do begin AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; AutoSize:= false; Width:= ScaleX(200); Left:= ScaleX(55); Top:= ScaleY(390); Transparent:= true; end; Time2 := TLabel.Create(WizardForm); with Time2 do begin AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; AutoSize:= false; Width:= Time1.Width+ScaleX(40); Left:= ScaleX(55); Top:= Time1.Top+ScaleY(15); Transparent:= true; end; i := TLabel.Create(WizardForm); with i do begin AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; AutoSize:= false; Width:= Time1.Width+ScaleX(40); Left:= ScaleX(55); Top:= ScaleY(360); Transparent:= true; Caption:= cm('Extracted'); end;end;function CheckError: Boolean;begin Result:= not Error;end;///procedure FrameMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin WizardForm.SetFocus; ReleaseCapture; SendMessage(WizardForm.Handle,$0112,$F012,0);end;function InitializeSetup:boolean;begin if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll'); if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll'); if not FileExists(ExpandConstant('{tmp}\gdiplus.dll')) then ExtractTemporaryFile('gdiplus.dll'); Result:=True;end;//************************************************ [Íà÷àëî - Çàãðóçêà èçîáðàæåíèé è ïîäãîòîâêà âèçàðäà] ***************************************************//procedure CreateWizardImg;beginwith WizardForm do beginBorderStyle := bsNone;ClientWidth:=ScaleX(733);ClientHeight:=ScaleY(506);InnerNotebook.Hide;OuterNotebook.Hide;Bevel.Hide;Center;Color:= $191919;end; #ifdef Slides imgPanel := TPanel.Create(WizardForm); imgPanel.Top := ScaleY(73); imgPanel.Left := ScaleX(19); imgPanel.Width := ScaleX(695); imgPanel.Height := ScaleY(225); imgPanel.BevelOuter := bvNone; imgPanel.Parent := WizardForm; InitializeSlideShow(imgPanel.Handle, ScaleX(0), ScaleY(0), ScaleX(695), ScaleY(225), true, 8); #endif #ifdef Components work1:= ImgLoad(WizardForm.handle, ExpandConstant('work1.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work2:= ImgLoad(WizardForm.handle, ExpandConstant('work2.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work3:= ImgLoad(WizardForm.handle, ExpandConstant('work3.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work4:= ImgLoad(WizardForm.handle, ExpandConstant('work4.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work5:= ImgLoad(WizardForm.handle, ExpandConstant('work5.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work6:= ImgLoad(WizardForm.handle, ExpandConstant('work6.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work7:= ImgLoad(WizardForm.handle, ExpandConstant('work7.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work8:= ImgLoad(WizardForm.handle, ExpandConstant('work8.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); workerror:= ImgLoad(WizardForm.handle, ExpandConstant('workerror.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); #else work1:= ImgLoad(WizardForm.handle, ExpandConstant('2work1.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work2:= ImgLoad(WizardForm.handle, ExpandConstant('2work2.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work3:= ImgLoad(WizardForm.handle, ExpandConstant('2work3.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work4:= ImgLoad(WizardForm.handle, ExpandConstant('2work4.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work5:= ImgLoad(WizardForm.handle, ExpandConstant('2work5.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work6:= ImgLoad(WizardForm.handle, ExpandConstant('2work6.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); work7:= ImgLoad(WizardForm.handle, ExpandConstant('2work7.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); workerror:= ImgLoad(WizardForm.handle, ExpandConstant('2workerror.jpg'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); #endif #ifdef Image ImgLoad(WizardForm.handle, ExpandConstant('fonAC.jpg'), ScaleX(19), ScaleY(73), ScaleX(695), ScaleY(225), True, True); #endif edit:= ImgLoad(WizardForm.handle, ExpandConstant('edit.png'), ScaleX(145), ScaleY(380), ScaleX(328), ScaleY(24), True, True); ready:= ImgLoad(WizardForm.handle, ExpandConstant('ready.png'), ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.ClientHeight, True, True); dir:= ImgLoad(WizardForm.handle, ExpandConstant('dir.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True); group:= ImgLoad(WizardForm.handle, ExpandConstant('group.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True); tasks:= ImgLoad(WizardForm.handle, ExpandConstant('tasks.png'), ScaleX(143), ScaleY(327), ScaleX(65), ScaleY(48), True, True); ImgApplyChanges(WizardForm.Handle);end;//************************************************ [Êîíåö - Çàãðóçêà èçîáðàæåíèé è ïîäãîòîâêà âèçàðäà] ***************************************************////************************************************ [Íà÷àëî - Òåêñòóðû êíîïîê] ***************************************************//procedure SetStateNewButtons;begin with WizardForm.BackButton do begin BtnSetText(hBackBtn,PAnsiChar(Caption)); BtnSetVisibility(hBackBtn,Visible); BtnSetEnabled(hBackBtn,Enabled); BtnRefresh(hBackBtn); end; with WizardForm.NextButton do begin BtnSetText(hNextBtn,PAnsiChar(Caption)); BtnSetVisibility(hNextBtn,Visible); BtnSetEnabled(hNextBtn,Enabled); BtnRefresh(hNextBtn); end; with WizardForm.CancelButton do begin BtnSetText(hCancelBtn, PAnsiChar(cm('exit'))); BtnSetVisibility(hCancelBtn,Visible); BtnSetEnabled(hCancelBtn,Enabled); BtnRefresh(hCancelBtn); end; BtnSetText(hDirBrowseBtn,PAnsiChar(WizardForm.DirBrowseButton.Caption)); BtnSetText(hGroupBrowseBtn,PAnsiChar(WizardForm.GroupBrowseButton.Caption));end;procedure TimerRefreshBtn(S: TObject);begin BtnRefresh(hBackBtn); BtnRefresh(hNextBtn); BtnRefresh(hCancelBtn); BtnRefresh(hDirBrowseBtn); BtnRefresh(hGroupBrowseBtn); if BtnGetChecked(nic) then ready3.Caption:= cm('ready4') + ': ' + '-- --' else ready3.Caption:= cm('ready4') + ': ' + WizardForm.GroupEdit.Text;end;procedure WizardFormBtnClick(hBtn: HWND);var Btn:TButton;begin case hBtn of hCancelBtn: Btn:=WizardForm.CancelButton; hNextBtn: Btn:=WizardForm.NextButton; hBackBtn: Btn:=WizardForm.BackButton; hDirBrowseBtn: Btn:=WizardForm.DirBrowseButton; hGroupBrowseBtn: Btn:=WizardForm.GroupBrowseButton; end; Btn.OnClick(Btn); SetStateNewButtons; BtnRefresh(hBtn);end;procedure MinimizeBtnClick(h: HWND);begin WizardForm.SetFocus; ReleaseCapture; SendMessage(WizardForm.Handle,$112,61472,0);end;procedure CancelBtnClick(h: HWND);begin WizardForm.CancelButton.OnClick(WizardForm.CancelButton);end;procedure CancelBtnClick1(h: HWND);begin LogoForm.Hide; BtnSetEnabled(AboutBtn, not LogoForm.Visible);end;procedure NoIconsClick(hBtn: HWND);var Check:boolean;begin Check:= BtnGetChecked(hBtn); BtnSetEnabled(hGroupBrowseBtn, not Check); WizardForm.GroupEdit.Enabled:= not Check; WizardForm.NoIconsCheck.Checked:= Check; WizardForm.GroupEdit.Color:= $ffffff;end;procedure DpoOnClick(hBtn: TObject);begin BtnSetChecked(dpo, not BtnGetChecked(dpo)); if BtnGetChecked(dpo) then dpolbl.Font.Color:= $363636 else dpolbl.Font.Color:= clgray;end;procedure DpoOnClick1(hBtn: HWND);begin if BtnGetChecked(hBtn) then dpolbl.Font.Color:= $363636 else dpolbl.Font.Color:= clgray;end;procedure AboutClick(hBtn: HWND);var ok: HWND;begin closebnt:= BtnCreate(LogoForm.Handle, ScaleX(473 - 20), ScaleY(0), ScaleX(11), ScaleY(33), ExpandConstant('exit.png'), 1, False); BtnSetEvent(closebnt, BtnClickEventID,WrapBtnCallback(@CancelBtnClick1, 1)); ok:=BtnCreate(LogoForm.Handle, ScaleX(373), ScaleY(403), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(ok,BtnClickEventID,WrapBtnCallback(@CancelBtnClick1,1)); BtnSetFont(ok,WFButtonFont.Handle); BtnSetFontColor(ok, $363636, $363636, $363636, clgray); BtnSetText(ok,'OK'); ImgLoad(LogoForm.Handle, 'aboutlog.png', 0, 0, ScaleX(473), ScaleY(440), true, true); LogoForm.Show; BtnSetEnabled(AboutBtn, not LogoForm.Visible); ImgApplyChanges(LogoForm.Handle);end;procedure IconsClick(hBtn: HWND);var Check: Boolean;begin if BtnGetChecked(IconsCheck) then IconsCheckLbl.Font.Color:= $363636 else IconsCheckLbl.Font.Color:= clgray;end;procedure nicOnClick(Sender: TObject);begin BtnSetChecked(nic, not BtnGetChecked(nic)); NoIconsClick(nic);end;procedure IconsOnClick(Sender: TObject);begin BtnSetChecked(IconsCheck, not BtnGetChecked(IconsCheck)); if BtnGetChecked(IconsCheck) then IconsCheckLbl.Font.Color:= $363636 else IconsCheckLbl.Font.Color:= clgray;end;procedure ButtonsTextures;begin WFButtonFont:=TFont.Create; WFButtonFont.Name:= 'Tahoma'; WFButtonFont.Size:= 9; WFButtonFont.Color:= $363636;with WizardForm.NextButton do begin hNextBtn:=BtnCreate(WizardForm.Handle, ScaleX(500), ScaleY(470), ScaleX(93), ScaleY(33), 'button.png', 5, False); BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hNextBtn,WFButtonFont.Handle); BtnSetFontColor(hNextBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end;with WizardForm.BackButton do begin hBackBtn:=BtnCreate(WizardForm.Handle, ScaleX(400), ScaleY(470), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(hBackBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hBackBtn,WFButtonFont.Handle); BtnSetFontColor(hBackBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end;with WizardForm.CancelButton do begin hCancelBtn:=BtnCreate(WizardForm.Handle, ScaleX(620), ScaleY(470), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(hCancelBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hCancelBtn,WFButtonFont.Handle); BtnSetFontColor(hCancelBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end; CancelBtn:=BtnCreate(WizardForm.Handle, ScaleX(717), ScaleY(0), ScaleX(11), ScaleY(33), ExpandConstant('exit.png'), 1, False); BtnSetEvent(CancelBtn, BtnClickEventID,WrapBtnCallback(@CancelBtnClick,1)); BtnSetFont(CancelBtn, WFButtonFont.Handle); BtnSetText(CancelBtn,''); MinBtn:=BtnCreate(WizardForm.Handle, ScaleX(704), ScaleY(4), ScaleX(8), ScaleY(33), ExpandConstant('min.png'), 1, false); BtnSetEvent(MinBtn, BtnClickEventID,WrapBtnCallback(@MinimizeBtnClick,1)); AboutBtn:=BtnCreate(WizardForm.Handle, ScaleX(20), ScaleY(470), ScaleX(29), ScaleY(35), ExpandConstant('about.png'), 5, false); BtnSetChecked(AboutBtn, true); BtnSetEvent(AboutBtn, BtnClickEventID,WrapBtnCallback(@AboutClick,1));with WizardForm.DirBrowseButton do begin hDirBrowseBtn:=BtnCreate(WizardForm.Handle, ScaleX(502), ScaleY(375), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(hDirBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hDirBrowseBtn,WFButtonFont.Handle); BtnSetFontColor(hDirBrowseBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end;with WizardForm.GroupBrowseButton do begin hGroupBrowseBtn:=BtnCreate(WizardForm.Handle, ScaleX(502), ScaleY(375), ScaleX(93), ScaleY(33), ExpandConstant('button.png'), 1, False); BtnSetEvent(hGroupBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)); BtnSetFont(hGroupBrowseBtn,WFButtonFont.Handle); BtnSetFontColor(hGroupBrowseBtn, $363636, $363636, $363636, $363636); Width:=0; Height:=0;end; nic:=BtnCreate(WizardForm.Handle, ScaleX(140),ScaleY(405), ScaleX(30),ScaleY(30), ExpandConstant('cb.png'), 1, true); BtnSetChecked(nic, false); BtnSetEvent(nic,BtnClickEventID,WrapBtnCallback(@NoIconsClick,1)); IconsCheck:=BtnCreate(WizardForm.Handle, ScaleX(200), ScaleY(380), ScaleX(30), ScaleY(30), ExpandConstant('cb.png'), 1, true); BtnSetChecked(IconsCheck, true); BtnSetEvent(IconsCheck, BtnClickEventID, WrapBtnCallback(@IconsClick, 1)); dpo:=BtnCreate(WizardForm.Handle, ScaleX(200), ScaleY(410), ScaleX(30), ScaleY(30), ExpandConstant('cb.png'), 1, true); BtnSetChecked(dpo, true); BtnSetEvent(dpo, BtnClickEventID, WrapBtnCallback(@DpoOnClick1, 1));end;//************************************************ [Êîíåö - Òåêñòóðû êíîïîê] ***************************************************////************************************************[Íà÷àëî - Ïðîâåðêà ìåñòà íà äèñêå]*************************************************************//Function NumToStr(Float: Extended): String;Begin Result:= Format('%.2n', [Float]); StringChange(Result, ',', ','); while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = ',')) and (Pos(',', Result) > 0) do SetLength(Result, Length(Result)-1);End;function CompareNum(FirstNum, SecondNum: Integer): Boolean;beginif FirstNum < SecondNum then Result:= False else Result:= True;end;Function MbOrTb(Byte: Extended): AnsiString;beginif Byte < 1024 then Result:= NumToStr(Byte) + ' MB' else if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' GB' else Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' TB'end;procedure GetFreeSpaceCaption(Sender: TObject);var Path: AnsiString; gsod: Boolean;begin Path := ExtractFileDrive(WizardForm.DirEdit.Text); gsod:= GetSpaceOnDisk(Path, True, FreeMB, TotalMB); if gsod then begin FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} ') + MbOrTB(FreeMb) + ' (' + IntToStr((FreeMb*100) div TotalMB) + ' %)'; NeedSpaceLabel.Caption := ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt); BtnSetEnabled(hNextBtn, true); WizardForm.NextButton.Enabled:= true; end else if not gsod then begin FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} 0 MB'); NeedSpaceLabel.Caption := ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt) BtnSetEnabled(hNextBtn, false); WizardForm.NextButton.Enabled:= false; Exit; end; ready2.Caption:=ready2.Caption + ': ' + WizardForm.DirEdit.Text;end;procedure NeedSpace;beginSizeInt:= {#NeedSize}FreeSpaceLabel := TLabel.Create(WizardForm);FreeSpaceLabel.SetBounds(ScaleX(145), ScaleY(410), ScaleX(209), ScaleY(13))FreeSpaceLabel.Parent := WizardForm;FreeSpaceLabel.Font.Name:='Arial';FreeSpaceLabel.Font.Size:= 8;FreeSpaceLabel.Font.Color:= $363636;FreeSpaceLabel.Transparent:=true;FreeSpaceLabel.Font.Style := [fsBold];NeedSpaceLabel := TLabel.Create(WizardForm);NeedSpaceLabel.SetBounds(ScaleX(145), ScaleY(430), ScaleX(209), ScaleY(13))NeedSpaceLabel.Parent := WizardForm;NeedSpaceLabel.Font.Name:='Arial';NeedSpaceLabel.Font.Size:= 8;NeedSpaceLabel.Font.Color:= $363636;NeedSpaceLabel.Transparent:=true;NeedSpaceLabel.Font.Style:= [fsBold];WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption;WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0;end;//************************************************[Êîíåö - Ïðîâåðêà ìåñòà íà äèñêå]*************************************************************////************************************************ [Íà÷àëî - Ñîçäàíèå ëåáåëîâ] ***************************************************//procedure CreateLabel;begin//Áåç ýòîãî êíîïêè íîðìàëüíî íå ïåðåðèñîâûâàþòñÿ, åñëè çàïóñòèòü ñåòàï è ïðè ýòîì íàâåñòè êóðñîð íà êíîïêó. UpdBtn:= TTimer.Create(nil); UpdBtn.Interval:= 1; UpdBtn.OnTimer:= @TimerRefreshBtn;///////////////////////////////////////////////////////////////////////////////////////////////////////////MainLabel:= TLabel.Create(WizardForm);with MainLabel dobegin Left:= ScaleX(0); Top:= ScaleY(7); Width:= ScaleX(752); Height:= ScaleY(34); AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:='Corbel'; Alignment:= taCenter; Font.Size:= 10; Font.Color:= $aeacac; Font.Style := [fsBold]; Parent:= WizardForm; OnMouseDown:=@LabelOnMouseDown; Caption:= WizardForm.Caption;end;//WelcomeWelcomeLabel1:= TLabel.Create(WizardForm);with WelcomeLabel1 dobegin Left:= ScaleX(140); Top:= ScaleY(330); Width:= ScaleX(450); Height:= ScaleY(65); AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:='Arial'; Font.Size:= 10; Font.Color:=$363636; Font.Style := [fsBold]; Alignment := taCenter; Parent:= WizardForm; Caption:= cm('Welcome1');end;WelcomeLabel2:=TLabel.Create(WizardForm);with WelcomeLabel2 dobegin Left:= ScaleX(140); Top:= ScaleY(370);; Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:='Arial'; Font.Size:= 9; Font.Color:=$363636; Alignment := taCenter; Font.Style := [fsBold]; Transparent:= true; Parent:= WizardForm; Caption:= cm('Welcome2');end;//SelectDirwith WizardForm.DirEdit do begin Parent:= WizardForm; Left:= ScaleX(148); Top:= ScaleY(384); BorderStyle:= bsNone; Color:= $ffffff; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:= $363636; Width:= ScaleX(324); Height:= ScaleY(18); end;with WizardForm.GroupEdit do begin Parent:= WizardForm; Left:= ScaleX(148); Top:= ScaleY(384); BorderStyle:= bsNone; Color:= $ffffff; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:= $363636; Width:= ScaleX(324); Height:= ScaleY(18); end;dir1:=TLabel.Create(WizardForm);with dir1 dobegin Left:= ScaleX(300); Top:= ScaleY(480); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8 Font.Style := [fsBold]; Transparent:= true; Font.Color:= $363636; Parent:= WizardForm; Caption:= cm('dir1');end;/////////////////////////niclabel:=TLabel.Create(WizardForm);with niclabel dobegin Left:= ScaleX(170); Top:= ScaleY(412); Width:= ScaleX(250); Height:= ScaleY(16); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('nic'); OnClick:= @nicOnClick;end;/////////////////////////////////ExtractTemporaryFile('t&c.bmp');with WizardForm.ComponentsList do begin Left:= ScaleX(435); Top:= ScaleY(330); Width:= ScaleX(275); Height:= ScaleY(110); Color:= WizardForm.Color; Font.Color:= $363636; Font.Style:= [fsBold]; Font.Size:= 8; Font.Name:= 'Arial' BorderStyle:= bsSingle; Font.Color:= $363636; LoadBGBmpFromFile(ExpandConstant('{tmp}\t&c.bmp'), 0, 0); Parent:= WizardForm;end;complbl:=TLabel.Create(WizardForm);with complbl dobegin Left:= ScaleX(20); Top:= ScaleY(363); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 9; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('comp');end;///////////////////////////////doplbl:=TLabel.Create(WizardForm);with doplbl dobegin Left:= ScaleX(215); Top:= ScaleY(348); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('dop');end;IconsCheckLbl:=TLabel.Create(WizardForm);with IconsCheckLbl dobegin Left:= ScaleX(230); Top:= ScaleY(387); Width:= ScaleX(250); Height:= ScaleY(16); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ic'); OnClick:= @IconsOnClick;end;//////////////////////////////////DeleteFile(ExpandConstant('{tmp}\t&c.bmp'));ready0:=TLabel.Create(WizardForm);with ready0 dobegin Left:= ScaleX(140); Top:= ScaleY(340); Width:= ScaleX(470); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready1')end;ready1:=TLabel.Create(WizardForm);with ready1 dobegin Left:= ScaleX(143); Top:= ScaleY(370); Width:= ScaleX(550); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready2')end;ready2:=TLabel.Create(WizardForm);with ready2 dobegin Left:= ScaleX(160); Top:= ScaleY(385); Width:= ScaleX(460); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready3');end;ready3:=TLabel.Create(WizardForm);with ready3 dobegin Left:= ScaleX(160); Top:= ScaleY(400); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready4');end;ready4:=TLabel.Create(WizardForm);with ready4 dobegin Left:= ScaleX(160); Top:= ScaleY(415); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready5');end;ready5:=TLabel.Create(WizardForm);with ready5 dobegin Left:= ScaleX(160); Top:= ScaleY(415); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready6');end;dpolbl:=TLabel.Create(WizardForm);with dpolbl dobegin Left:= ScaleX(230); Top:= ScaleY(423); Width:= ScaleX(350); Height:= ScaleY(16); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('doppo'); OnClick:= @DpoOnClick;end;ready6:=TLabel.Create(WizardForm);with ready6 dobegin Left:= ScaleX(160); Top:= ScaleY(430); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready7');end;ready7:=TLabel.Create(WizardForm);with ready7 dobegin Left:= ScaleX(160); Top:= ScaleY(430); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Name:= 'Arial'; Font.Size:= 8; Font.Style := [fsBold]; Transparent:= true; Font.Color:=$363636; Parent:= WizardForm; Caption:= cm('ready8');end; LogoForm:= TForm.Create(WizardForm); LogoForm.BorderStyle:= bsNone; LogoForm.SetBounds(ScaleX(WizardForm.Width div 2 - 230), ScaleY(40), ScaleX(473), ScaleY(440)); LogoForm.Parent:= WizardForm;end;//************************************************ [Êîíåö - Ñîçäàíèå ëåáåëîâ] ***************************************************//procedure InitializeWizard;begin Enabled:= true; CreateWizardImg; CreateLabel; ButtonsTextures; NeedSpace; #ifdef Slides PicList:=tstringlist.Create; ExtractTemporaryFile('fon1.jpg'); ExtractTemporaryFile('fon2.jpg'); ExtractTemporaryFile('fon3.jpg'); ExtractTemporaryFile('fon4.jpg'); ExtractTemporaryFile('fon5.jpg'); ExtractTemporaryFile('fon6.jpg'); ExtractTemporaryFile('fon7.jpg'); ExtractTemporaryFile('fon8.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon1.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon2.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon3.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon4.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon5.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon6.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon7.jpg'); piclist.add(ExpandConstant('{tmp}') + '\fon8.jpg'); #endifend;#ifdef Slidesprocedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord);beginCurrentPicture:=CurrentPicture+1;if CurrentPicture=piclist.count+1 then CurrentPicture:=1;ShowImage(piclist.strings[CurrentPicture - 1]);end;#endifprocedure CurPageChanged(CurPageID: Integer);begin SetStateNewButtons; WelcomeLabel1.Hide; WelcomeLabel2.Hide; BtnSetVisibility(hDirBrowseBtn, false); BtnSetVisibility(hGroupBrowseBtn, false); BtnSetVisibility(nic, false); ImgSetVisibility(edit, false); ImgSetVisibility(dir, false); ImgSetVisibility(group, false); ImgSetVisibility(work1, false); ImgSetVisibility(work2, false); ImgSetVisibility(work3, false); ImgSetVisibility(work4, false); ImgSetVisibility(work5, false); ImgSetVisibility(work6, false); ImgSetVisibility(work7, false); ImgSetVisibility(ready, false); #ifdef Components ImgSetVisibility(work8, false); #endif ImgSetVisibility(workerror, false); ImgSetVisibility(tasks, false); WizardForm.DirEdit.Hide; WizardForm.GroupEdit.Hide; dir1.Hide; FreeSpaceLabel.Hide; NeedSpaceLabel.Hide; niclabel.Hide; WizardForm.ComponentsList.Hide; BtnSetVisibility(IconsCheck, false); doplbl.Hide; IconsCheckLbl.Hide; WizardForm.TasksList.Hide; complbl.Hide; ready0.Hide; ready1.Hide; ready2.Hide; ready3.Hide; ready4.Hide; ready5.Hide; ready6.Hide; ready7.Hide; BtnSetVisibility(dpo, false); dpolbl.Hide; if CurPageID = wpWelcome then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon1.jpg')) #endif LogoForm.Hide; WelcomeLabel1.Show; WelcomeLabel2.Show; ImgSetVisibility(work1, true); CancelBtnClick1(0); ImgSetVisibility(img1, true); end; if CurPageID = wpSelectDir then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon2.jpg')) #endif BtnSetVisibility(hDirBrowseBtn, true); ImgSetVisibility(edit, true); ImgSetVisibility(dir, true); WizardForm.DirEdit.Show; FreeSpaceLabel.Show; NeedSpaceLabel.Show; dir1.Show; dir1.Caption:= cm('dir1'); dir1.Left:= ScaleX(220); dir1.Top:= ScaleX(343); ImgSetVisibility(work2, true); LogoForm.Hide; CancelBtnClick1(0); ImgSetVisibility(img2, true); end; if CurPageID = wpSelectComponents then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon3.jpg')) #endif #ifdef Components WizardForm.ComponentsList.Show; WizardForm.ComponentsList.DragMode; WizardForm.ComponentsList.Dragging; ImgSetVisibility(work3, true); complbl.Show; LogoForm.Hide; CancelBtnClick1(0); #endif end; if CurPageID = wpSelectProgramGroup then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon4.jpg')) #endif BtnSetVisibility(hGroupBrowseBtn, true); ImgSetVisibility(edit, true); WizardForm.GroupEdit.Show; ImgSetVisibility(group, true); dir1.Caption:= cm('group1'); dir1.Left:= ScaleX(220); dir1.Top:= ScaleX(343); dir1.Show; BtnSetVisibility(nic, true); niclabel.Show; #ifdef Components ImgSetVisibility(work4, true); #else ImgSetVisibility(work3, true); #endif LogoForm.Hide; CancelBtnClick1(0); end; if CurPageID = wpSelectTasks then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon5.jpg')) #endif BtnSetVisibility(IconsCheck, true); doplbl.Show; IconsCheckLbl.Show; #ifdef Components ImgSetVisibility(work5, true); #else ImgSetVisibility(work4, true); #endif ImgSetVisibility(tasks, true); BtnSetVisibility(dpo, true); dpolbl.Show; LogoForm.Hide; CancelBtnClick1(0); end; if CurPageID = wpReady then begin #ifdef Slides ShowImage(ExpandConstant('{tmp}\fon6.jpg')) #endif #ifdef Components ImgSetVisibility(work6, true); #else ImgSetVisibility(work5, true); #endif ready0.Show; ready1.Show; ready2.Show; ready3.Show; if BtnGetChecked(IconsCheck) then begin ready5.Hide; ready4.Show end else begin ready4.Hide; ready5.Show; end; if BtnGetChecked(dpo) then begin ready7.Hide; ready6.Show end else begin ready6.Hide; ready7.Show; end; LogoForm.Hide; CancelBtnClick1(0); ImgSetVisibility(ready, true); end; if CurPageID = wpInstalling then begin #ifdef Slides CurrentPicture:=1; TimerID:=SetTimer(0, 0, 3000, WrapTimerProc(@OnTimer, 4)); //çàäåðæêà 3000 ìñ (3 ñåêóíäû) #endif #ifdef Components ImgSetVisibility(work7, true); #else ImgSetVisibility(work6, true); #endif LogoForm.Hide; CancelBtnClick1(0); end; if CurPageID = wpFinished then begin #ifdef Slides KillTimer(0, TimerID); ShowImage(ExpandConstant('{tmp}\fon8.jpg')) #endif #ifdef Components ImgSetVisibility(work8, true); #else ImgSetVisibility(work7, true); #endif WelcomeLabel1.Caption:= cm('Fin1'); WelcomeLabel2.Caption:= cm('Fin2'); WelcomeLabel2.Top:= WelcomeLabel2.Top-ScaleY(23); WelcomeLabel1.Show; WelcomeLabel2.Show; i.Hide; LogoForm.Hide; CancelBtnClick1(0); end; if (CurPageID = wpFinished) and Error then begin WelcomeLabel1.Caption:= cm('Error1'); WelcomeLabel2.Caption:= cm('Error2') ImgSetVisibility(workerror, true); LogoForm.Hide; CancelBtnClick1(0); end; ImgApplyChanges(WizardForm.Handle);end;procedure DeinitializeSetup;begin if Enabled then gdipShutdown;#ifdef SlidesDeinitializeSlideShow;KillTimer(0, TimerID);#endifend;тут нету isdoneтупой вопрос, но какого хрена не переносит файл [Code] procedure DeletModpakChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin FileCopy(ExpandConstant('{app}\{#MyAppName}\backup\paths.xml'), ExpandConstant('{app}\paths.xml'), true); DelTree(ExpandConstant('{app}\{#MyAppName}'), True, True, True); ForceDirectories(ExpandConstant('{app}\res_mods\{#Patch}')); end; end; 1 Quote Share this post Link to post Short link Share on other sites