Войти

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 6]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [24] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Dinvin4ester
17-05-2013, 13:15
Да мне нужно само оформление (приветствие , проверка системных и т.д) . Если вас не затруднит , уберите пожалуйста . И еще хотел спросить - для лучшего ужатия -что использовать ?

saurn
17-05-2013, 14:05
Dinvin4ester, убрал ISDone. Точнее отключил через препроцессор. Если понадобятся функции ISDone их можно включить, раскомментировав вот эту строку ;#define ISDone в шапке скрипта(убрав точку с запятой перед строкой)
Архив со скриптом на RGhost - Need For Speed Hot Porsuit (http://rghost.ru/46058074)
Что до лучшего сжатия: стороние архиваторы типа FreeArc, распаковка которых входит в число функций ISDone(кстати в этом скрипте полностью реализована распаковка архивов *.arc, нужно просто указать путь к своим архивам) вероятно дают лучшее сжатие при определенных условиях, но я использую только внутренние средства Inno, а потому ничего конкретного сказать не могу.

alert30
17-05-2013, 16:07
Dinvin4ester, сделай ссылку на изображение вместо самого изображения, иначе форум растягивается

Dinvin4ester
17-05-2013, 19:35
saurn,
Огромное спасибо и еще нельзя ли эти системные требования - цвет что-ли изменить ?

saurn
17-05-2013, 19:57
Dinvin4ester, можно. В шапке скрипта есть
#ifdef Skin
; Цвет правой панели (значения), если используется скин
#define Color2 "clTeal"
#else
; Цвет правой панели (значения), если не используется скин
#define Color2 "$CCFFCC"
#endif
#ifdef Skin
; Цвет надписи "Все параметры Вашего компьютера соответсвуют требуемым.", если используется скин
#define Color3 "clLime"
#else
; Цвет надписи "Все параметры Вашего компьютера соответсвуют требуемым.", если не используется скин
#define Color3 "clGreen"
#endif
#ifdef Skin
; Цвет правой панели (значения), если значения не соответствуют требуемым и если используется скин
#define Color4 "$0101AF"
#else
; Цвет правой панели (значения), если значения не соответствуют требуемым и если не используется скин
#define Color4 "$CCCCFF"
#endif
#ifdef Skin
; Цвет надписи "Конфигурация Вашего компьютера не соответсвует тербуемой. Пожалуйста, проверьте компоненты, выделенные красным цветом.",
; если значения не соответствуют требуемым и если используется скин
#define Color5 "$1313FF"
#else
; Цвет надписи "Конфигурация Вашего компьютера не соответсвует тербуемой. Пожалуйста, проверьте компоненты, выделенные красным цветом.",
; если значения не соответствуют требуемым и если не используется скин
#define Color5 "clRed"
#endif


Именно они отвечают за изменение цвета панелей(левых\правых)системных параметров. Там подписано в комментариях, что к чему. Меняете на нужный вам цвет и все. Смотрите, пробуйте, подбирайте Таблица веб-цветов (http://help-html-css.narod.ru/webcolor.html)

Dinvin4ester
17-05-2013, 20:15
saurn,
Ошибку выдает , связанную с HWREQ_Module.iss .

saurn
17-05-2013, 20:25
Dinvin4ester, имеете, например, такой цветовой код 60 179 113.
В строке с указанием цвета, он будет выглядеть так:
#define Color1 "$60179113"

Принцип, думаю, понятен.

Dinvin4ester
17-05-2013, 20:48
saurn,
Ок.. Ну я и дуб .Сорри , все получилось . Благодарю вас .
А с этим можно также - http://rghost.ru/46070070 ? Выбор таблетки и всякий хлам убрать если не сложно.

neorom
17-05-2013, 21:59
У когось эсть пример как растятуть текст по вертикале и по горизонтале , и сжать текст по вертикале и по горизонтале. (Font.Size не придлагать.)
Фото http://s3.share.te.ua/b502287/zoom.JPG

insombia
17-05-2013, 22:42
neorom зачем этот гемор? такое подойдет?
http://i46.fastpic.ru/big/2013/0517/3d/94d66b374fc2aa63e033ed705b6ecc3d.jpg

neorom
17-05-2013, 22:46
зачем этот гемор? такое подойдет? »
Нет.

insombia
17-05-2013, 22:57
neorom cкинь скрипт

neorom
17-05-2013, 23:01
Это только часть скрипта отвичаючий за текст CaptionLabel1:= TLabel.Create(WizardForm);
CaptionLabel1.SetBounds(ScaleX(35), ScaleY(0), ScaleX(706), ScaleY(55));
CaptionLabel1.AutoSize:= False;
CaptionLabel1.WordWrap:= True;
CaptionLabel1.Transparent:= True;
CaptionLabel1.Font.Color:= $c5b89c
CaptionLabel1.Font.Size:= 12
CaptionLabel1.Font.Style:= [fsBold]
CaptionLabel1.Alignment:= taCenter;
CaptionLabel1.Parent:= WizardPanel;
CaptionLabel1.Font.Name:= 'Arial'

saurn
17-05-2013, 23:05
(Font.Size не придлагать.) »
Могу предложить Font.Height := -19;
Узнаете другой способ изменения размера шрифта, меня тоже просветите)
Хотя... можно штамповать кучу лейблов - отдельный под каждую букву, и делать с ними, что угодно, в том числе и увеличивать расстановку букв, но как сказал товарищ insombia, этот геморр не стоит свеч.
всякий хлам убрать если не сложно. »
Можно всё. Что до меня, так весь скрипт один сплошной хлам, так как я использую только внутренние средства инно для сжатия и стандартный интерфейс без рюшечек, посему, если я выкину весь хлам на свое усмотрение, то там вообще ничего не останется, кроме стандарта. Точнее формулируйте, что выкинуть.
Выбор таблетки »
Это меняется через препроцессор в шапке скрипта.
////////////Возможно выбрать только один из трех вариантов////////////////////
////////////(Var1) Вариант 1 - только выбор таблеток
////////////(Var2) Вариант 2 - только выбор доп компонентов
////////////(Var3) Вариант 3 - Выбор и доп компонентов и таблетки
#define Var1
;#define Var2
;#define Var3

insombia
17-05-2013, 23:21
saurn согласен

neorom
18-05-2013, 08:15
Могу предложить Font.Height := -19; »
Этот неподходит, жаль, спасибо и на этом.

Dinvin4ester
18-05-2013, 15:11
saurn,
Оформление оставить , также как вы делали и раньше .Остальное не нужно)

Вот наподобии этой хочу сделать - http://s018.radikal.ru/i507/1211/4b/9c89be892801.jpg . Ранее то что вы мне сделали - Он кажется половину скрипта писал через IS GameScript Generator , а половину сторонее уже. Вот так как бы .Интересует то окно , маленькое .
Это было написано с помошью генератора , пропустил инсталлятор специально .
[Setup]
SourceDir=.
OutputDir=Setup
AppName=Jumper Tree
AppVerName=Jumper Tree
AppVersion=Jumper Tree
DefaultDirName={pf}\Jumper Tree
DefaultGroupName=Jumper Tree
AllowNoIcons=yes
OutputBaseFilename=setup
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/normal
DiskSpanning=yes
DiskSliceSize=2100000000
SlicesPerDisk=1

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"

[Files]
Source: "C:\Users\Администратор\Desktop\Новая папка (11)\Files\Install\2.bmp"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "C:\Users\Администратор\Desktop\Новая папка (5)\Files\Install\2.bmp"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "C:\Users\Администратор\Desktop\Новая папка (5)\Files\Install\WizardImage.bmp"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "isgsg.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "bass.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "innocallback.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "C:\Users\Администратор\Desktop\KMC feat. Jamtech - Forever (Original Mix).mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: "E:\Приколы\Игры\Jumper Tree\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: "{group}\Jumper Tree"; Filename: "{app}\JT.exe"; WorkingDir: "{app}";
Name: "{userdesktop}\Jumper Tree"; Filename: "{app}\JT.exe"; WorkingDir: "{app}"; Tasks: desktopicon;
Name: "{group}\{cm:UninstallProgram,Jumper Tree}"; Filename: "{uninstallexe}"

[Run]
Description: "{cm:LaunchProgram, Jumper Tree}"; Filename: "{app}\JT.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked

[UninstallDelete]
Type: filesandordirs; Name: "{app}"

[Code]
type
HSTREAM=DWORD;
TTimerProc=procedure(uTimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);
const
Indent=25;

var
MP3List:TStringList;
CurrentMP3:integer;
hMP3:HWND;
TimerID:LongWord;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ssAddImage(FileName:PChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
function SetTimer(hWnd:HWND;nIDEvent,uElapse:UINT;lpTimerFunc:LongWord{TFNTimerProc}):UINT; external 'SetTimer@user32.dll stdcall delayload';
function KillTimer(hWnd:HWND;uIDEvent:UINT):BOOL; external 'KillTimer@user32.dll stdcall delayload';
function BASS_ChannelIsActive(Handle:HWND):DWORD; external 'BASS_ChannelIsActive@files:bass.dll stdcall';
function BASS_SetConfig(Option,Value:DWORD):DWORD; external 'BASS_SetConfig@files:bass.dll stdcall';
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';
function BASS_StreamFree(Handle:HWND):boolean; external 'BASS_StreamFree@files:bass.dll stdcall';
function BASS_ChannelPlay(Handle:HWND;Restart:boolean):boolean; external 'BASS_ChannelPlay@files:bass.dll stdcall';
function BASS_Start: Boolean; external 'BASS_Start@files:bass.dll stdcall';
function BASS_Stop: Boolean; external 'BASS_Stop@files:bass.dll stdcall';
function BASS_Free: Boolean; external 'BASS_Free@files:bass.dll stdcall delayload';
function WrapTimerProc(CallBack:TTimerProc;ParamCount:integer):LongWord; external 'wrapcallback@files:innocallback.dll stdcall';

procedure TimerTick(uTimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);
begin
if BASS_ChannelIsActive(hMP3)=0 then begin
BASS_Stop;
BASS_StreamFree(hMP3);
hMP3:=BASS_StreamCreateFile(False,PChar(MP3List.Strings[CurrentMP3]),0,0,0);
BASS_Start;
if hMP3<>0 then
if BASS_ChannelPlay(hMP3,True) then begin
CurrentMP3:=CurrentMP3+1;
if CurrentMP3>MP3List.Count-1 then CurrentMP3:=0;
end;
end;
end;

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('KMC feat. Jamtech - Forever (Original Mix).mp3');
MP3List:=TStringList.Create;
MP3List.Add(ExpandConstant('{tmp}')+'\KMC feat. Jamtech - Forever (Original Mix).mp3');
CurrentMP3:=0;
Result:=True;
end;

procedure InitializeWizard;
begin
TimerID:=SetTimer(0,0,500,WrapTimerProc(@TimerTick,5));
BASS_Init(-1,44100,0,0,0);
BASS_SetConfig(5,100);
BASS_SetConfig(6,100);
ssInitialize(GetWindowLong(MainForm.Handle,-8),10,False,1,$FF000000);
ExtractTemporaryFile('2.bmp');
ssSetBkgImage(ExpandConstant('{tmp}')+'\2.bmp');
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('2.bmp');
ssAddImage(ExpandConstant('{tmp}')+'\2.bmp');
ExtractTemporaryFile('WizardImage.bmp');
ssAddImage(ExpandConstant('{tmp}')+'\WizardImage.bmp');
ssStartShow;
end;
if CurStep=ssPostInstall then ssStopShow;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin
if WizardForm.Width<>502 then begin
WizardForm.Visible:=False;
WizardForm.Width:=ScaleX(502);
WizardForm.Height:=ScaleY(392);
WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2;
WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2;
WizardForm.MainPanel.Visible:=True;
WizardForm.Bevel1.Visible:=True;
WizardForm.InnerNotebook.Left:=ScaleX(40);
WizardForm.InnerNotebook.Top:=ScaleY(72);
WizardForm.InnerNotebook.Width:=ScaleX(417);
WizardForm.Visible:=True;
end;
end;
end;

procedure DeinitializeSetup;
begin
KillTimer(0,TimerID);
BASS_Stop;
BASS_Free;
MP3List.Free;
ssDeInitialize;
end;

+2 скрипт (http://rghost.ru/private/46089075/415b5f3ca198fd948aa664f49dd50518)- как соединить их ?

Aquila
19-05-2013, 02:39
Здравствуйте. Моя трабла такова, хочу сделать установочник в котором хотел бы использовать несколько ключей установки, в частности для добавления в различные директории ярлыки программы, подскажите пожалуйста кто чем может.

by_gangster
19-05-2013, 13:52
Всем привет,на странице с выбором установки ярлыков внизу есть чекбокс с текстом, но он почему-то не меняет цвет, как фона так и самого текста... Подскажите как поменять ?

Gnom_aka_Lexander
19-05-2013, 13:56
by_gangster, стандартные чекбоксы инно не меняют цвет шрифта и фона, хоть такие свойства у них и есть.




© OSzone.net 2001-2012