Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

Widok (23-04-2007 18:02): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

NightW0lf



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
 
[Files]
Source: "C:\SETUP_FOR\_WC3_TH\TMP_FILES\MUSIC_TRACKER\BASSMOD.dll"; DestDir: "{tmp}"; Flags: dontcopy noencryption
Source: "C:\SETUP_FOR\_WC3_TH\TMP_FILES\MUSIC_TRACKER\music.xm"; DestDir: "{tmp}";  Flags: dontcopy noencryption
 
[Code]
const
  BASS_MUSIC_RAMP               = 1;      // (только для Fast Tracker .xm)
  BASS_MUSIC_RAMPS             = 2;      // (только для Fast Tracker .xm)
  BASS_MUSIC_LOOP                = 4;      // повторение
  BASS_MUSIC_FT2MOD           = 16;     // играть .MOD как FastTracker 2
  BASS_MUSIC_PT1MOD           = 32;     // играть .MOD как ProTracker 1
  BASS_MUSIC_SURROUND     = 512;    // звучание surround
  BASS_MUSIC_SURROUND2   = 1024;   // звучание surround (режим 2)
 
function BASSMOD_Init(device: Integer; freq, flags: DWORD): Boolean;
external 'BASSMOD_Init@files:BASSMOD.dll stdcall delayload';
 
function BASSMOD_MusicLoad(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): Boolean;
external 'BASSMOD_MusicLoad@files:BASSMOD.dll stdcall delayload';
 
procedure BASSMOD_MusicFree();
external 'BASSMOD_MusicFree@files:BASSMOD.dll stdcall delayload';
 
function BASSMOD_MusicPlay(): Boolean;
external 'BASSMOD_MusicPlay@files:BASSMOD.dll stdcall delayload';
 
function BASSMOD_MusicPause(): Boolean;
external 'BASSMOD_MusicPause@files:BASSMOD.dll stdcall delayload';
 
function BASSMOD_MusicStop(): Boolean;
external 'BASSMOD_MusicStop@files:BASSMOD.dll stdcall delayload';
 
procedure BASSMOD_Free();
external 'BASSMOD_Free@files:BASSMOD.dll stdcall delayload';
 
 
function InitializeSetup(): Boolean;
var
  ResultCode: Integer;
  ResultStr:string;
begin
Result:=True;
end;
 
procedure PlayButtonOnClick(Sender: TObject);
var
  Name1: string;
begin
if not BASSMOD_MusicPlay then
 begin
   Name1:=ExpandConstant('{tmp}\music.xm');
 if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND) then
  BASSMOD_MusicPlay;
end;
end;
 
procedure PauseButtonOnClick(Sender: TObject);
begin
 BASSMOD_MusicPause;
end;
 
procedure StopButtonOnClick(Sender: TObject);
begin
 BASSMOD_MusicStop;
 BASSMOD_MusicFree;
end;
 
 
 
//при запуске инсталлятора выполняем вот этот код:
procedure InitializeWizard();
var
  Name1: string;
  PlayButton, PauseButton, StopButton: TButton;
  Text: TNewStaticText;
  Panel1: TPanel;
begin
ExtractTemporaryFile(ExpandConstant('BASSMOD.dll'));
ExtractTemporaryFile(ExpandConstant('music.xm'));
if not BASSMOD_Init(-1,44100,0)
then
begin
  MsgBox('BASSMOD Can''t initialize the device. Playing is not possible.', mbError, MB_OK)
  BASSMOD_Free;
end
else
begin
  Name1:=ExpandConstant('{tmp}\music.xm');
 if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND) then
  BASSMOD_MusicPlay;
end;
  WizardForm.Position:=poScreenCenter;
  WizardForm.CancelButton.BringToFront;
begin
       Panel1 := TPanel.Create(WizardForm);
with Panel1 do
begin
  Panel1.Parent := WizardForm;
  Panel1.Left := ScaleX(1);
  Panel1.Top := ScaleY(315);
  Panel1.Width := ScaleX(165);
  Panel1.Height := ScaleY(46);
  Panel1.TabOrder := 0;
  Panel1.Color := clWhite;
  Panel1.BevelInner := bvLowered;
  Panel1.BevelOuter:= bvRaised;
  Panel1.BorderStyle := bsSingle;
 
  PlayButton := TButton.Create(WizardForm);
  PlayButton.Left := 5;
  PlayButton.Top := 335;
  PlayButton.Width := 50;
  PlayButton.Height := 20;
  PlayButton.Caption := 'play';
  PlayButton.OnClick := @PlayButtonOnClick;
  PlayButton.Parent := WizardForm;
  PlayButton.Cursor := crHand;
 
  PauseButton := TButton.Create(WizardForm);
  PauseButton.Left := 58;
  PauseButton.Top := 335;
  PauseButton.Width := 50;
  PauseButton.Height := 20;
  PauseButton.Caption := 'pause';
  PauseButton.OnClick := @PauseButtonOnClick;
  PauseButton.Parent := WizardForm;
  PauseButton.Cursor := crHand;
 
  StopButton := TButton.Create(WizardForm);
  StopButton.Left := 111;
  StopButton.Top := 335;
  StopButton.Width := 50;
  StopButton.Height := 20;
  StopButton.Caption := 'stop';
  StopButton.OnClick := @StopButtonOnClick;
  StopButton.Parent := WizardForm;
  StopButton.Cursor := crHand;
 
  Text := TNewStaticText.Create(WizardForm);
  Text.Caption := 'music';
  Text.Parent := WizardForm;
  Text.Font.Style := Text.Font.Style + [fsUnderline];
  Text.Font.Color := clNavy;
  Text.Top := 319;
  Text.Left :=71;
  Text.Color := clWhite;
end;
end;
end;
 


Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 21:56 14-01-2007 | Исправлено: NightW0lf, 22:06 14-01-2007
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (23-04-2007 18:02): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru