Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.09.14;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по скрипиту на 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.042 c
2-1215897578
sashap
2008-07-13 01:19
2008.09.14
Сообщения чужим окнам.


2-1217895646
Abcdef123
2008-08-05 04:20
2008.09.14
Как проверить в программе существование поля по названию?


11-1193407250
Jon
2007-10-26 18:00
2008.09.14
DirChange filenames


4-1196680450
clickmaker
2007-12-03 14:14
2008.09.14
BackupWrite меняет размер файла?


15-1216094479
123-ий
2008-07-15 08:01
2008.09.14
Шлюз Интернета





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский