Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.14;
Скачать: CL | DM;

Вниз

Вопрос по скрипиту на delphi   Найти похожие ветки 

 
Noobik   (2008-07-31 22:46) [0]

Есть код... Но где то в нём ошибка... Это код для инсталлера. Он на Delphi
а  я  0 в программировании - не знаю у кого ещё спросить...

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Doom Remake 3: Risen Version"
#define MyAppVerName "Doom Remake 3: Risen Version"
#define MyAppPublisher "Doomerzed"
#define MyAppURL "http://site.ru"
#define MyAppExeName "MyProg.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{B7B472AC-0DB2-4C41-B51E-C8959EE82CCD}
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
CreateAppDir=no
LicenseFile=C:\Risen3D\licen.txt
InfoBeforeFile=C:\Risen3D\Readit.txt
OutputDir=C:\Documents and Settings\User\Desktop
OutputBaseFilename=setup
SetupIconFile=C:\Documents and Settings\User\Desktop\doom.ico
Compression=lzma
SolidCompression=yes
WindowVisible=yes
WindowResizable=no
WindowShowCaption=no

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"

[Files]
Source: "C:\Risen3D\*"; DestDir: "{win}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don"t use "Flags: ignoreversion" on any shared system files
Source: C:\isxbb.dll; DestDir: {tmp}; Flags: dontcopy
//files to slideshow

Source: C:\pack\0.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\pack\1.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\pack\2.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\pack\3.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\pack\4.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\pack\5.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\pack\6.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\pack\7.jpg; DestDir: {tmp}; Flags: dontcopy
Source: C:\pack\8.jpg; DestDir: {tmp}; Flags: dontcopy
Source: "C:\BASS.dll"; DestDir: "{tmp}"; Flags: dontcopy
Source: "C:\pack\d_e1m1.ogg"; DestDir: "{tmp}"; Flags: dontcopy

[Code]
const
 BACKGROUND=6;
 TIMER=16;

function isxbb_AddImage(Image: PChar; Flags: Cardinal): Integer;
external "isxbb_AddImage@files:isxbb.dll stdcall";

function isxbb_Init(hWnd: Integer): Integer;
external "isxbb_Init@files:isxbb.dll stdcall";

function isxbb_StartTimer(Seconds: Integer; Flags: Cardinal): Integer;
external "isxbb_StartTimer@files:isxbb.dll stdcall";

function isxbb_KillTimer(Flags: Cardinal): Integer;
external "isxbb_KillTimer@files:isxbb.dll stdcall";

procedure InitializeWizard();
begin
   ExtractTemporaryFile("1.jpg");
   isxbb_AddImage(ExpandConstant("{tmp}")+"\1.jpg",BACKGROUND);
   isxbb_Init(StrToInt(ExpandConstant("{hwnd}")));

     end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
//что-то начинается
if CurStep=ssInstall
then
begin
ExtractTemporaryFile("2.jpg");
ExtractTemporaryFile("3.jpg");
ExtractTemporaryFile("4.jpg");
ExtractTemporaryFile("5.jpg");
ExtractTemporaryFile("6.jpg");
ExtractTemporaryFile("7.jpg");
ExtractTemporaryFile("8.jpg");
isxbb_AddImage(ExpandConstant("{tmp}")+"\2.jpg",BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant("{tmp}")+"\3.jpg",BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant("{tmp}")+"\4.jpg",BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant("{tmp}")+"\5.jpg",BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant("{tmp}")+"\6.jpg",BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant("{tmp}")+"\7.jpg",BACKGROUND or TIMER);
isxbb_AddImage(ExpandConstant("{tmp}")+"\8.jpg",BACKGROUND or TIMER);
isxbb_Init(StrToInt(ExpandConstant("{hwnd}")));

isxbb_StartTimer(2,BACKGROUND)
 end

 else if CurStep=ssPostInstall then
   isxbb_KillTimer(BACKGROUND);
end;
const
 BASS_SAMPLE_LOOP        = 4;

type
 HSTREAM = DWORD;

function BASS_Init(device: Integer; freq, flags: DWORD; win: hwnd; CLSID: Integer): Boolean;
external "BASS_Init@files:BASS.dll stdcall delayload";

function BASS_StreamCreateFile(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): HSTREAM;
external "BASS_StreamCreateFile@files:BASS.dll stdcall delayload";

function BASS_Start(): Boolean;
external "BASS_Start@files:BASS.dll stdcall delayload";

function BASS_ChannelPlay(handle: DWORD; restart: BOOL): Boolean;
external "BASS_ChannelPlay@files:BASS.dll stdcall delayload";

function  BASS_Stop(): Boolean;
external "BASS_Stop@files:BASS.dll stdcall delayload";

function  BASS_Free(): Boolean;
external "BASS_Free@files:BASS.dll stdcall delayload";

procedure InitializeWizard();
  var
 Name1: string;
 i: Integer;
begin
  ExtractTemporaryFile("BASS.dll");
    ExtractTemporaryFile("d_e1m1.ogg");
 if BASS_Init(-1, 44100, 0, 0, 0) then
begin
 BASS_Start();
  Name1:=ExpandConstant("{tmp}\d_e1m1.ogg");
   i:=BASS_StreamCreateFile(FALSE, PChar(Name1), 0, 0, 4);
 if i <> 0 then
begin
 BASS_ChannelPlay(i, True);
end;
end;
end;

procedure DeInitializeSetup();
begin
BASS_Stop();
BASS_Free();
end;
procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean);
begin
Cancel:=False;
Confirm:=False;
if MsgBox("Хорошенько поDOOMайте прежде чем отменить установку! Вы действительно не любите Doom?",

mbError, MB_YESNO) = idYes
then
 Cancel:=true;
end;

[Icons]
Name: "{commonprograms}\Doom Remake3"; Filename: "{app}\Risen3D\R3DLaunch\r3dlauncher.exe"; WorkingDir:

{app}\Risen3D\R3DLaunch


Проблема в процедуре   InitializeWizard  которая вызывается дважды...
Как это исправить?


 
Поросенок Винни-Пух ©   (2008-07-31 22:50) [1]

это скрипт на Inno. Не на делфи


 
Noob   (2008-07-31 23:19) [2]

Но написан он используя синтаксис от делфи..


 
Noobik   (2008-07-31 23:22) [3]

Хотя бы ту часть что я показал... там где InitializeWizard ... это явно
кусок чисто программерский... все эти procesure, begin... в этом хоть как то
можно наверное разобраться тем кто знает языки программирования? Или нет?
Я не знаю... Если кто знает - то помогите пожалуйста.


 
tesseract ©   (2008-07-31 23:30) [4]


> Если кто знает - то помогите пожалуйста.


Помочь в чём ? Я неплохо знаю inno, но код странноват. Не похож на мои разработки. И слишком много всяких extract.


 
Сергей М. ©   (2008-08-01 17:49) [5]


> Он на Delphi


Он не на Delphi.

Это InnerFuse Pascal Script.


 
Cobalt   (2008-08-02 09:07) [6]

А в чем ошибка-то заключается?
И на каком этапе происходит?


 
Правильный$Вася   (2008-08-02 15:34) [7]


> Проблема в процедуре   InitializeWizard  которая вызывается
> дважды...Как это исправить?

ну, она не вызывается, а описана дважды
уж не знаю, нормально ли это для Inno, но для языков программирования это требует специальных бубнов

а что это за Doom3 и откуда взялся-таки скрипт? может, спросить у его автора?



Страницы: 1 вся ветка

Текущий архив: 2008.09.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
15-1216791077
pushkin42
2008-07-23 09:31
2008.09.14
Аналог IAM &amp; TrafficInspector for WinRoute


4-1196498941
Nucer
2007-12-01 11:49
2008.09.14
Как получить список активных пользователей в системе?


2-1217659794
гость
2008-08-02 10:49
2008.09.14
Что такое файл в формате CSV? %)


3-1205910143
scorpio_md
2008-03-19 10:02
2008.09.14
Объединение 2 таблиц


2-1217967486
krem
2008-08-06 00:18
2008.09.14
Memo