Kotyarko_O Posted May 27, 2014 Share Posted May 27, 2014 (edited) не находил скрипт на вставку музыки с кнопкой отключения? Вот, например: Bass.dll.rar Edited May 27, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
liked Posted May 28, 2014 Share Posted May 28, 2014 Вот, например: Bass.dll.rar Спасибо попробую придумать куда ешё вставить @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted May 28, 2014 Share Posted May 28, 2014 (edited) не находил скрипт на вставку музыки с кнопкой отключения? Уважаемый, много примеров интересных библиотек и их подключения я нашел в том же Inno Setup 5. Папка Dll Examples. В том числе и предложенная Kotyarko_O Edited May 28, 2014 by ventura69 @ Quote Link to comment Short link Share on other sites More sharing options...
liked Posted May 28, 2014 Share Posted May 28, 2014 Уважаемый, много примеров интересных библиотек и их подключения я нашел в том же Inno Setup 5. Папка Dll Examples. В том числе и предложенная Kotyarko_O который дали не получилось воткнуть, или не работает пол моего скрипта но музыка есть, или музыки нет, хотя скрипт не показывает ошибок. @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted May 28, 2014 Share Posted May 28, 2014 который дали не получилось воткнуть, или не работает пол моего скрипта но музыка есть, или музыки нет, хотя скрипт не показывает ошибок. Это только твои проблемы, раз ты неумека. @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted May 28, 2014 Share Posted May 28, 2014 (edited) который дали не получилось воткнуть, или не работает пол моего скрипта но музыка есть, или музыки нет, хотя скрипт не показывает ошибок. Я так подозреваю, что дали Вам правильно все. Вот только надо подгонять под себя все. Я, когда втуливал музыку в свою прогу, тоже с подобным сталкивался. Пришлось блоки тасовать, подгонять под себя и в результате заработало (правда, оставил эту затею. Увеличился вес очень сильно и умные люди здесь сказали, что мр3 лучше заменить на другой формат). В данной ситуации, уважаемый, кроме Вас самому себе никто не сможет помочь :-) Еще видел здесь на начальных страницах хорошую ссылку на сайт с установщиками готовыми. Оттуда куски кодов можно выдергивать и разбираться с принципом работы. Edited May 28, 2014 by ventura69 @ Quote Link to comment Short link Share on other sites More sharing options...
-zav- Posted May 28, 2014 Share Posted May 28, 2014 (edited) а еще много интересного и нужного, да и на все популярные вопросы уже отвечено вот на этих сайтах:http://forum.oszone.net/thread-278998.htmlhttp://forum.ru-board.com/topic.cgi?forum=5&topic=46338#1 Но это не отменяет нужности этой темы. Тут как бы узконаправленная тема для инсталяторов модпаков World of Tanks :) Edited May 28, 2014 by -zav- @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted May 28, 2014 Share Posted May 28, 2014 который дали не получилось воткнуть, или не работает пол моего скрипта но музыка есть, или музыки нет, хотя скрипт не показывает ошибок. Перед тем, как скинуть тебе пример, я его проверял - всё работало. Возможно, ты допускаешь ошибки при копипасте. @ Quote Link to comment Short link Share on other sites More sharing options...
liked Posted May 28, 2014 Share Posted May 28, 2014 (edited) Это только твои проблемы, раз ты неумека. ну я не говорю что я все сильный, и всё умею, я только учусь... или вы хотите помочь? (уважаемый вы какой то злой, чё случилось?) Перед тем, как скинуть тебе пример, я его проверял - всё работало. Возможно, ты допускаешь ошибки при копипасте. не, он работает, спасибо, я просто не понял как его в ской скрипт вставить, в моём скрипте не работает, где то скрипт не срабатывает хотя ошибок не выдаёт Ругается на procedure InitializeWizard(); удаляю одну из строк, запускается но не работает музыка, даже делал отдельным скриптом через #include "Music.iss" 'Music.iss' [Music] [Files] Source: "Bass.dll"; Flags: dontcopy nocompression noencryption Source: "AudioFile.mp3"; Flags: dontcopy [CustomMessages] SoundCtrlButtonCaptionSoundOn=Music on SoundCtrlButtonCaptionSoundOff=Music off constBASS_SAMPLE_LOOP = 4;BASS_ACTIVE_STOPPED = 0;BASS_ACTIVE_PLAYING = 1;BASS_ACTIVE_STALLED = 2;BASS_ACTIVE_PAUSED = 3;BASS_UNICODE = $80000000;BASS_CONFIG_GVOL_STREAM = 5;const#ifndef UNICODEEncodingFlag = 0;#elseEncodingFlag = BASS_UNICODE;#endiftypeHSTREAM = DWORD; function BASS_Init(device: LongInt; freq, flags: DWORD;win: HWND; clsid: Cardinal): BOOL;external 'BASS_Init@files:bass.dll stdcall';function BASS_StreamCreateFile(mem: BOOL; f: string; offset1: DWORD;offset2: DWORD; length1: DWORD; length2: DWORD; flags: DWORD): HSTREAM;external 'BASS_StreamCreateFile@files:bass.dll stdcall';function BASS_Start: BOOL;external 'BASS_Start@files:bass.dll stdcall';function BASS_Pause: BOOL;external 'BASS_Pause@files:bass.dll stdcall';function BASS_ChannelPlay(handle: DWORD; restart: BOOL): BOOL;external 'BASS_ChannelPlay@files:bass.dll stdcall';function BASS_SetConfig(option: DWORD; value: DWORD ): BOOL;external 'BASS_SetConfig@files:bass.dll stdcall';function BASS_ChannelIsActive(handle: DWORD): DWORD;external 'BASS_ChannelIsActive@files:bass.dll stdcall';function BASS_Free: BOOL;external 'BASS_Free@files:bass.dll stdcall'; varSoundStream: HSTREAM;SoundCtrlButton: TNewButton; procedure SoundCtrlButtonClick(Sender: TObject);begincase BASS_ChannelIsActive(SoundStream) ofBASS_ACTIVE_PLAYING:beginif BASS_Pause thenSoundCtrlButton.Caption :=ExpandConstant('{cm:SoundCtrlButtonCaptionSoundOn}');end;BASS_ACTIVE_PAUSED:beginif BASS_Start thenSoundCtrlButton.Caption :=ExpandConstant('{cm:SoundCtrlButtonCaptionSoundOff}');end;end; ExtractTemporaryFile('AudioFile.mp3');if BASS_Init(-1, 44100, 0, 0, 0) thenbeginSoundStream := BASS_StreamCreateFile(False,ExpandConstant('{tmp}\AudioFile.mp3'), 0, 0, 0, 0,EncodingFlag or BASS_SAMPLE_LOOP);BASS_SetConfig(BASS_CONFIG_GVOL_STREAM, 2500);BASS_ChannelPlay(SoundStream, False); SoundCtrlButton := TNewButton.Create(WizardForm);SoundCtrlButton.Parent := WizardForm;SoundCtrlButton.Left := 8;SoundCtrlButton.Top := WizardForm.ClientHeight -SoundCtrlButton.Height - 8;SoundCtrlButton.Width := 155;SoundCtrlButton.Caption :=ExpandConstant('{cm:SoundCtrlButtonCaptionSoundOff}');SoundCtrlButton.OnClick := @SoundCtrlButtonClick;end;end; procedure DeinitializeSetup;beginBASS_Free;end; 'Основной скрипт' #define MyAppName "Mod-Pack Bigmusic" ;Название инстоллятора#define MyInfoVer "2.2" ;Версия инсталлятора #define MyAppVer "2.2" ;Версия игры #define Patch "0.9.0" ;версия патча (чтобы не менять после каждого патча числа в скрипте, можно использовать это) #define MyAppPublisher "Bigmusic" ;Имя компании или человека кто делал #define MyAppURL "http://forum.worldoftanks.ru/index.php?/topic/1111250-" ;Ссылка для лого #include "Components.iss" ;Компаненты, они же моды #include "Messages.iss" ;Сообщение, надписи на кнопках и т.д. #include "BackUpPage.iss" ;Резерное копирование или удаление res_mods #include "CustomMessages.iss" ;Описание модов #include "Music.iss" [setup] AppName={#MyAppName} AppVersion={#MyAppVer} AppPublisher={#MyAppPublisher} //====={ Ссылки }=====\\ AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} //====={ Папка устанвки }=====\\ DefaultDirName={code:MyDirName} AppendDefaultDirName=no DirExistsWarning=no CreateUninstallRegKey=no Uninstallable=yes //====={ Картинки }=====\\ SetupIconFile=Files\wot_ico.ico WizardImageFile=Files\img1.bmp WizardSmallImageFile=Files\Small2.bmp //====={ Отключение строниц }=====\\ DisableProgramGroupPage=yes //====={ Лицензия и Фак }=====\\ LicenseFile=licensia.rtf InfoBeforeFile=faq.rtf //====={ Сжатие сетапа }=====\\ InternalCompressLevel=ultra64 Compression=lzma2/ultra64 SolidCompression=true //--------------- ваши картинки ---------------\\ [Files] Source: Files\logo.bmp; Flags: dontcopy noencryption noencryption DestName: "WizardForm.BitmapImage1.bmp"; Source: "Files\img2.bmp"; Flags: dontcopy solidbreak [Code] function MyDirName(S:String): String; var InsPath: String; er: boolean; myFile:String; begin Result:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюда er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath); if er and (InsPath<>'') then //если ключ существует и там что-то записано begin Result := InsPath; end; end; procedure LogoOnClick(Sender: TObject); var ResCode: Integer; begin ShellExec('', '{#MyAppURL}', '' , '', SW_SHOW, ewNoWait, ResCode) end; var BitmapImage1: TBitmapImage; procedure RedesignWizardForm; var i: integer; BtnPanel: TPanel; BtnImage: TBitmapImage; begin ExtractTemporaryFile('logo.bmp') BtnPanel:=TPanel.Create(WizardForm) with BtnPanel do begin Left:=20 Top:=495 Width:=62 Height:=22 Cursor:=crHand OnClick:=@logoOnClick Parent:=WizardForm end; BtnImage:=TBitmapImage.Create(WizardForm) with BtnImage do begin AutoSize:=True; Enabled:=False; Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\logo.bmp') Parent:=BtnPanel end; { BitmapImage1 } BitmapImage1 := TBitmapImage.Create(WizardForm); with BitmapImage1 do begin Parent := WizardForm.SelectDirPage; Left := ScaleX(0); Top := ScaleY(115); Width := ScaleX(620); Height := ScaleY(260); ExtractTemporaryFile('WizardForm.BitmapImage1.bmp'); Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp')); end; end; function WindowResize(): Boolean; var HeightOffset, WidthOffset: Integer; begin HeightOffset:=170; WidthOffset:=200; WizardForm.Height:=WizardForm.Height + HeightOffset; WizardForm.Width:=WizardForm.Width + WidthOffset; WizardForm.NextButton.Top:=WizardForm.NextButton.Top + HeightOffset; WizardForm.BackButton.Top:=WizardForm.BackButton.Top + HeightOffset; WizardForm.CancelButton.Top:=WizardForm.CancelButton.Top + HeightOffset; WizardForm.NextButton.Left:=WizardForm.NextButton.Left + WidthOffset; WizardForm.BackButton.Left:=WizardForm.BackButton.Left + WidthOffset; WizardForm.CancelButton.Left:=WizardForm.CancelButton.Left + WidthOffset; WizardForm.OuterNotebook.Height:=WizardForm.OuterNotebook.Height + HeightOffset; WizardForm.InnerNotebook.Height:=WizardForm.InnerNotebook.Height + HeightOffset; WizardForm.OuterNotebook.Width:=WizardForm.OuterNotebook.Width + WidthOffset; WizardForm.InnerNotebook.Width:=WizardForm.InnerNotebook.Width + WidthOffset; WizardForm.WizardSmallBitmapImage.Left:= WizardForm.WizardSmallBitmapImage.Left + WidthOffset; WizardForm.Bevel.Top:=WizardForm.Bevel.Top + HeightOffset; WizardForm.BeveledLabel.Top:=WizardForm.BeveledLabel.Top + HeightOffset; WizardForm.Bevel.Width:=WizardForm.Bevel.Width + WidthOffset; WizardForm.Bevel1.Width:=WizardForm.Bevel1.Width + WidthOffset; WizardForm.MainPanel.Width:=WizardForm.MainPanel.Width + WidthOffset; WizardForm.BeveledLabel.Width:=WizardForm.BeveledLabel.Width + WidthOffset; WizardForm.Center; { /// --- Раскомментировать при желании ---- /// WizardForm.WelcomeLabel1.Hide; WizardForm.WelcomeLabel2.Hide; WizardForm.FinishedLabel.Hide; WizardForm.FinishedHeadingLabel.Hide; WizardForm.WizardBitmapImage.Width:=600; WizardForm.WizardBitmapImage.Height:=400; WizardForm.WizardBitmapImage2.Width:=600; WizardForm.WizardBitmapImage2.Height:=400; WizardForm.PageNameLabel.Hide; WizardForm.PageDescriptionLabel.Hide; WizardForm.WizardSmallBitmapImage.Top:=0; WizardForm.WizardSmallBitmapImage.Left:=0; WizardForm.WizardSmallBitmapImage.Width:=WizardForm.Width; WizardForm.WizardSmallBitmapImage.Height:=58; /// --- Конец ---- /// } WizardForm.WelcomeLabel1.Hide; WizardForm.WelcomeLabel2.Hide; WizardForm.WizardBitmapImage.Width:=697; WizardForm.WizardBitmapImage.Height:=483; WizardForm.FinishedHeadingLabel.Hide; WizardForm.FinishedLabel.Hide; WizardForm.YesRadio.Hide; WizardForm.NoRadio.Hide; WizardForm.WizardBitmapImage2.Width:=697; WizardForm.WizardBitmapImage2.Height:=483; WizardForm.PageNameLabel.Hide; WizardForm.PageDescriptionLabel.Hide; WizardForm.WizardSmallBitmapImage.Top:=0; WizardForm.WizardSmallBitmapImage.Left:=0; WizardForm.WizardSmallBitmapImage.Width:=697; WizardForm.WizardSmallBitmapImage.Height:=58; WizardForm.WelcomeLabel1.Width:=WizardForm.WelcomeLabel1.Width + WidthOffset; WizardForm.WelcomeLabel1.Height:=WizardForm.WelcomeLabel1.Height + HeightOffset; WizardForm.WelcomeLabel1.Width:=WizardForm.WelcomeLabel1.Width + WidthOffset; WizardForm.WelcomeLabel2.Width:=WizardForm.WelcomeLabel2.Width + WidthOffset; WizardForm.WelcomeLabel2.Height:=WizardForm.WelcomeLabel2.Height + HeightOffset; WizardForm.WelcomeLabel2.Width:=WizardForm.WelcomeLabel2.Width + WidthOffset; WizardForm.LicenseLabel1.Width:=WizardForm.LicenseLabel1.Width + WidthOffset; WizardForm.LicenseMemo.Height:=WizardForm.LicenseMemo.Height + HeightOffset; WizardForm.LicenseMemo.Width:=WizardForm.LicenseMemo.Width + WidthOffset; WizardForm.LicenseNotAcceptedRadio.Top:=WizardForm.LicenseNotAcceptedRadio.Top + HeightOffset; WizardForm.LicenseAcceptedRadio.Top:=WizardForm.LicenseAcceptedRadio.Top + HeightOffset; WizardForm.InfoBeforeClickLabel.Width:=WizardForm.InfoBeforeClickLabel.Width + WidthOffset; WizardForm.InfoBeforeMemo.Height:=WizardForm.InfoBeforeMemo.Height + HeightOffset; WizardForm.InfoBeforeMemo.Width:=WizardForm.InfoBeforeMemo.Width + WidthOffset; WizardForm.SelectDirLabel.Width:=WizardForm.SelectDirLabel.Width + WidthOffset; WizardForm.SelectDirBrowseLabel.Width:=WizardForm.SelectDirBrowseLabel.Width + WidthOffset; WizardForm.DiskSpaceLabel.Top:=WizardForm.DiskSpaceLabel.Top + HeightOffset; WizardForm.DirBrowseButton.Left:=WizardForm.DirBrowseButton.Left + HeightOffset; WizardForm.DirEdit.Width:=WizardForm.DirEdit.Width + HeightOffset; WizardForm.ComponentsDiskSpaceLabel.Top:=WizardForm.ComponentsDiskSpaceLabel.Top + HeightOffset; WizardForm.SelectComponentsLabel.Width:=WizardForm.SelectComponentsLabel.Width + WidthOffset; WizardForm.ComponentsList.Height:=WizardForm.ComponentsList.Height + HeightOffset; WizardForm.ComponentsList.Width:=WizardForm.ComponentsList.Width + WidthOffset; WizardForm.ReadyLabel.Width:=WizardForm.ReadyLabel.Width + WidthOffset; WizardForm.ReadyMemo.Height:=WizardForm.ReadyMemo.Height + HeightOffset; WizardForm.ReadyMemo.Width:=WizardForm.ReadyMemo.Width + WidthOffset; WizardForm.ProgressGauge.Width:=WizardForm.ProgressGauge.Width + HeightOffset; WizardForm.FilenameLabel.Width:=WizardForm.FilenameLabel.Width + HeightOffset; WizardForm.StatusLabel.Width:=WizardForm.StatusLabel.Width + HeightOffset; end; /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// --- /// type TComponentDesc = record Description: String; ImageName: String; Index: Integer; end; var CompDescs: array of TComponentDesc; CompDescPanel, CompDescImgPanel: TPanel; CompDescText: array[1..2] of TLabel; CompIndex, LastIndex: Integer; CompDescImg: TBitmapImage; procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea); var i: Integer; begin if Index = LastIndex then Exit; CompIndex := -1; for i := 0 to GetArrayLength(CompDescs) -1 do begin if (CompDescs[i].Index = Index) then begin CompIndex := i; Break; end; end; if (CompIndex >= 0) and (Area = iaItem) then begin if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then ExtractTemporaryFile(CompDescs[CompIndex].ImageName); CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName); CompDescImg.Show; CompDescText[2].Caption := CompDescs[CompIndex].Description; CompDescText[2].Enabled := True; end else begin CompDescText[2].Caption := CustomMessage('ComponentsInfo'); CompDescText[2].Enabled := False; CompDescImg.Hide; end; LastIndex := Index; end; procedure CompListMouseLeave(Sender: TObject); begin CompDescImg.Hide; CompDescText[2].Caption := CustomMessage('ComponentsInfo'); CompDescText[2].Enabled := False; LastIndex := -1; end; procedure AddCompDescription(AIndex: Integer; ADescription: String; AImageName: String); var i: Integer; begin i := GetArrayLength(CompDescs); SetArrayLength(CompDescs, i + 1); CompDescs[i].Description := ADescription; CompDescs[i].ImageName := AImageName; CompDescs[i].Index := AIndex - 1 end; procedure InitializeWizard(); begin InitializeWizard1(); {из BackUpPage.iss, если что} RedesignWizardForm; WindowResize(); begin WizardForm.SelectComponentsLabel.Hide; WizardForm.TypesCombo.Hide; WizardForm.ComponentsList.SetBounds(ScaleX(260), ScaleY(20), ScaleX(357), ScaleY(333)); WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription; WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave; CompDescImgPanel := TPanel.Create(WizardForm); with CompDescImgPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(0), ScaleY(20), ScaleX(253), ScaleY(203)); //рамка картинки BevelInner := bvLowered; end; CompDescText[1] := TLabel.Create(WizardForm); with CompDescText[1] do begin Parent := CompDescImgPanel; SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10)); AutoSize := False; WordWrap := True; Enabled := False; Caption := CustomMessage('ComponentsImgInfo'); end; CompDescImg := TBitmapImage.Create(WizardForm); with CompDescImg do begin Parent := CompDescImgPanel; SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10)); Stretch := True; Hide; end; CompDescPanel := TPanel.Create(WizardForm); with CompDescPanel do begin Parent := WizardForm.SelectComponentsPage; SetBounds(ScaleX(0), ScaleY(230), ScaleX(253), ScaleY(123)); //Нижния рамка BevelInner := bvLowered; end; CompDescText[2] := TLabel.Create(WizardForm); with CompDescText[2] do begin Parent := CompDescPanel; SetBounds(ScaleX(5), ScaleY(5), CompDescPanel.Width - ScaleX(10), CompDescPanel.Height - ScaleY(10)); AutoSize := False; WordWrap := True; Enabled := False; Caption := CustomMessage('ComponentsInfo'); end; AddCompDescription(1, CustomMessage('CompDesc1'), 'CompDescImg1.bmp'); AddCompDescription(2, CustomMessage('CompDesc2'), 'CompDescImg2.bmp'); AddCompDescription(3, CustomMessage('CompDesc3'), 'CompDescImg3.bmp'); AddCompDescription(4, CustomMessage('CompDesc4'), 'CompDescImg4.bmp'); AddCompDescription(5, CustomMessage('CompDesc5'), 'CompDescImg5.bmp'); AddCompDescription(6, CustomMessage('CompDesc6'), 'CompDescImg6.bmp'); AddCompDescription(7, CustomMessage('CompDesc7'), 'CompDescImg7.bmp'); AddCompDescription(8, CustomMessage('CompDesc8'), 'CompDescImg8.bmp'); AddCompDescription(9, CustomMessage('CompDesc9'), 'CompDescImg9.bmp'); AddCompDescription(10, CustomMessage('CompDesc10'), 'CompDescImg10.bmp'); AddCompDescription(11, CustomMessage('CompDesc11'), 'CompDescImg11.bmp'); AddCompDescription(12, CustomMessage('CompDesc12'), 'CompDescImg12.bmp'); AddCompDescription(13, CustomMessage('CompDesc13'), 'CompDescImg13.bmp'); AddCompDescription(14, CustomMessage('CompDesc14'), 'CompDescImg14.bmp'); AddCompDescription(15, CustomMessage('CompDesc15'), 'CompDescImg15.bmp'); end; end; Я так подозреваю, что дали Вам правильно все. Вот только надо подгонять под себя все. Я, когда втуливал музыку в свою прогу, тоже с подобным сталкивался. Пришлось блоки тасовать, подгонять под себя и в результате заработало (правда, оставил эту затею. Увеличился вес очень сильно и умные люди здесь сказали, что мр3 лучше заменить на другой формат). В данной ситуации, уважаемый, кроме Вас самому себе никто не сможет помочь :-) Еще видел здесь на начальных страницах хорошую ссылку на сайт с установщиками готовыми. Оттуда куски кодов можно выдергивать и разбираться с принципом работы. да где то я напортачил, ну почему вот уже сколько помогли уже мне, и советами и скриптами... и ссылками, если прям всё сам делал я бы ещё месяцев 8 разбирался а еще много интересного и нужного, да и на все популярные вопросы уже отвечено вот на этих сайтах: http://forum.oszone.net/thread-278998.html http://forum.ru-board.com/topic.cgi?forum=5&topic=46338#1 Но это не отменяет нужности этой темы. Тут как бы узконаправленная тема для инсталяторов модпаков World of Tanks :) Я там не кого не знаю :) вас не брошу, куда я без вас, а за ссылки спасибо Edited May 28, 2014 by liked @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted May 28, 2014 Share Posted May 28, 2014 Ругается на procedure InitializeWizard(); "Duplicate identifier INITIALIZEWIZARD" ?Необходимо объединить две процедуры.. Подобным образом: procedure InitializeWizard1(); begin .... end; procedure InitializeWizard(); begin .... InitializeWizard1(); end; @ Quote Link to comment Short link Share on other sites More sharing options...
-zav- Posted May 28, 2014 Share Posted May 28, 2014 (edited) Необходимо объединить две процедуры.. Подобным образом: Или вот так, как я реализовал сохранение/восстановление файла активации XVM // Переименование папки перед инсталяцией procedure CurStepChanged1(CurStep: TSetupStep); begin if CurStep = ssInstall then begin RenameFile(ExpandConstant('{app}\res_mods\xvm\db\'),ExpandConstant('{app}\data')); end; end; // Переименование папки после инсталяции procedure CurStepChanged3(CurStep: TSetupStep); begin if CurStep = ssPostInstall then begin RenameFile(ExpandConstant('{app}\data\'),ExpandConstant('{app}\res_mods\xvm\db\')); end; end; procedure CurStepChanged(CurStep: TSetupStep); begin CurStepChanged1(CurStep); CurStepChanged2(CurStep); CurStepChanged3(CurStep); end; Я на это потратил сутки. Основное время потрачено на поиски чего то похожего, а так как такие нубы в программировании как я даже иногда понятия не имеем что конкретно загуглить. По этому и задаем вопросы тут. Так что уважаемые гуру, относитесь к нам снисходительно... И ребята, давайте жить дружно! ....и да, чтоб не возникали вопросы, CurStepChanged2(CurStep); не лишний, он относится к блоку бэкапа всей папки ресмодс, просто тут не стал показывать... Edited May 28, 2014 by -zav- @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted May 28, 2014 Share Posted May 28, 2014 -zav-, хех, а я в общей сложности потратил примерно час. Это с учётом последующего добавления блока поиска и сравнения размера файла. @ Quote Link to comment Short link Share on other sites More sharing options...
liked Posted May 28, 2014 Share Posted May 28, 2014 (edited) Вот это да сколько помощи, Спасибо шас попробую Всё получилось СПАСИБО интересно чё ещё можно прикольного реализовать Edited May 28, 2014 by liked @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted May 28, 2014 Share Posted May 28, 2014 (edited) Или вот так Так я привёл пример по этому же принципу) Это с учётом последующего добавления блока поиска и сравнения размера файла. Для токена статистики в XVM? а зачем его размеры сравнивать? Edited May 28, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted May 28, 2014 Share Posted May 28, 2014 Kotyarko_O, бывало так, что он создавался, но содержимое его было минимальным, отсутствовали многие данные. Статистика при этом не была включена. ТАк что приходилось сравнивать размер и, если он был достаточно большим, копировать файл. @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted May 28, 2014 Share Posted May 28, 2014 Уважаемые, вот такая штука получилась. Ну нет у меня чувства прекрасного... :-( Нужна ваша помощь. Покритикуете? Здоровая критика и предложения без очень глобальных переделок очень даже приветствуются! :-) Рабочий фон: При наведении мыши на компонент: @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted May 28, 2014 Share Posted May 28, 2014 (edited) Ну нет у меня чувства прекрасного... :-( А получилось очень даже не плохо :) 'Как по мне, этот кусочек палки лишний' UPD: Так же, надпись: "Выберите компоненты, которые вы хотите установить; снимите флажки с компонентов и бла-бла-бла" можно укоротить до: "Выберите компоненты, которые хотите установить.". Тогда освободится немного места над окошком с компонентами, и ему модно будет увеличить высоту - будет удобнее выбирать) Edited May 28, 2014 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted May 28, 2014 Share Posted May 28, 2014 (edited) А получилось очень даже не плохо :) 'Как по мне, этот кусочек палки лишний' post-11632-0-46826300-1401292889.jpg Согласен. Сам об этом думал. Значит... отчекрыжим палочку по самые... :-) P.S. А танчик этот сами с приятелем отливали... Не удержался и втулил его :-) Edited May 28, 2014 by ventura69 @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted May 28, 2014 Share Posted May 28, 2014 А танчик этот сами с приятелем отливали Круто вышло) @ Quote Link to comment Short link Share on other sites More sharing options...
ventura69 Posted May 28, 2014 Share Posted May 28, 2014 Круто вышло) Центробежное литье. Материал цинк. А сколько времени убито на нанизывание траков на оси... :-) @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.