Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 3]
Лександер,
Вот это я и хотел узнать, вот как правильно прописать адрес архива?
Archives = '{src}\*.arc';
И еще что это ?
Source: arc.ini; DestDir: {tmp}; Flags: dontcopy
Архив нужно вносить в секцию [Files] ?
Gnom_aka_Lexander
17-01-2011, 17:17
Vista-w, Нет, не нужно :)
R.i.m.s.k.y., Глянь предидущий мой пост :)
R.i.m.s.k.y.
17-01-2011, 17:17
тогда может
HLPLabel := TLabel.Create(WizardForm)
if ( (not isHLPinstalled) and (isWin7) ) then begin
...
end;
т.е. лэбл создасться но пустой
Лександер,
Archives = '{src}\_______*.arc'; <адрес архива нужно вносить сюда да?
R.i.m.s.k.y.
17-01-2011, 17:25
Лександер,
оформление через код, через тернии к звездам, гланды через ...
я мало понимаю в оформлении_через_код, наобум советую, по вдохновению ;)
Gnom_aka_Lexander
17-01-2011, 17:25
Vista-w, Да. Правильно будет так: Archives = '{src}\*.arc' тогда будут обработаны все файлы с расширением .arc
R.i.m.s.k.y., Тут (http://forum.oszone.net/post-1590779-574.html) где выбран чекбокс? как-бы сделать, чтоб по умолчанию он не был выбран?HLPLabel := TLabel.Create(WizardForm)
if ( (not isHLPinstalled) and (isWin7) ) then begin »
Не катит, убирается только надпись, а чекбокс остается рабочим...
R.i.m.s.k.y.
17-01-2011, 17:32
Не катит, убирается только надпись, а чекбокс остается рабочим »
не знаю, тяму не хватает, может Serega или еще кто подмогнет...
Лександер,
Source: arc.ini; DestDir: {tmp}; Flags: dontcopy
это что за строка?
Gnom_aka_Lexander
17-01-2011, 17:34
Vista-w, arc.ini нужен для работы unarc.dll.
R.i.m.s.k.y., подожду, мож кто еще подскажет, там совсем тупик уже...
Попрорбовал так:
if not isHLPinstalled and isWin7 then
HLPLabel := TLabel.Create(WizardForm)
проглатывает, но на установке ошибка в следующих строках.
Лександер,
у меня его нет в архиве(
Gnom_aka_Lexander
17-01-2011, 17:39
Vista-w,
Он у тебя в файлах есть: Source: arc.ini; DestDir: {tmp}; Flags: dontcopy
А в архив его нельзя, он нужен для распаковки этих архивов.
Лександер,
Да не я архив скачал, этого файла там нет.
Gnom_aka_Lexander
17-01-2011, 18:02
Vista-w, Блиннн, его там и не должно быть, это файл настроек Архиватора ФриАрк. он должен быть указан в скрипте у тебя.
Лександер,
Ладно спасибо за помощь, но выберу что нить по проще.
Есть ли скрипт для распаковки 7z архива, но с отдельным прогресс-баром?
Gnom_aka_Lexander
17-01-2011, 18:15
Vista-w, Есть, тут в примерах в шапке видел.
Помгите кто-нибудь, тут:
function HLP: Boolean;
begin
ProgressInfoLabel.Visible:=False;
FilenameLabel.Hide;
Result:= BtnGetChecked(HLPCheck);
end;....
........
procedure HLPClick(hBtn:HWND);
begin
if BtnGetChecked(hBtn) then HLPLabel.Font.Color:=$00FFFF else HLPLabel.Font.Color:=$FFFFFF;
end;
procedure HLPLabelClick(Sender:TObject);
begin
BtnSetChecked(HLPCheck, not BtnGetChecked(HLPCheck));
HLPClick(HLPCheck);
end;
procedure HLPProgress;
begin
StatusLabel.Caption:=ExpandConstant('{cm:HLPInstall}')
end; .......
.......
HLPCheck:=BtnCreate(WizardForm.Handle,ScaleX(75),ScaleY(363),ScaleX(28),ScaleY(28),ExpandConstant('{ tmp}\CheckBox.png'),8,True);
BtnSetEvent(HLPCheck,BtnClickEventID,WrapBtnCallback(@HLPClick,1));
BtnSetCursor(HLPCheck,GetSysCursorHandle(32649));
HLPLabel := TLabel.Create(WizardForm);
with HLPLabel do begin
AutoSize:=False;
SetBounds(ScaleX(115), ScaleY(370), ScaleX(545), ScaleY(37));
OnClick:= @HLPLabelClick;
Cursor:= CrHand;
Transparent:=True;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Color:=$00FFFF;
Font.Style:=[fsBold,fsItalic];
Caption := ExpandConstant('{cm:HLP}');
Parent := WizardForm;
end;
чекбокс выбран, я не могу нйти где, мне нужно, чтоб по умолчанию он не был вбран..
R.i.m.s.k.y.
17-01-2011, 19:11
Лександер,
А если этот HLP перенести в компоненты? не вариант, нет?
[Components]
# define HLPW7Desc "Установить обновление для Windows Se7en Программа Справка Windows для просмотра 32-разрядных файлов справки (.HLP)"
Name: HLPW7; Description: {#HLPW7Desc}; Types: full; Check: ( (not isHLPinstalled) and (isWin7))
[ C ode]
procedure InitializeWizard();
...
if ( (not isHLPinstalled) and (isWin7) ) then WizardForm.ComponentsList.Checked[WizardForm.ComponentsList.Items.IndexOf('{#HLPW7Desc}')]:=False;
...
[Run]
Components: HLPW7; Filename: {sys}\wusa.exe; WorkingDir: {tmp}; Parameters: {tmp}\KB917607-x86.msu /quiet /norestart; Check: (not IsWin64); Flags: waituntilterminated 32bit;
Components: HLPW7; Filename: {sys}\wusa.exe; WorkingDir: {tmp}; Parameters: {tmp}\KB917607-x64.msu /quiet /norestart; Check: (IsWin64); Flags: waituntilterminated 64bit;
Gnom_aka_Lexander
17-01-2011, 19:49
R.i.m.s.k.y., я проще разобрался, сейчас общий код выложу с коментариями, может кому пригодится, в общем, если HLP-пач ставить нужно, то показаны чекбокс, подпись, и чекбокс выбран, если HLP-пач ставить не нужно, то галка с чекбокса снимается, (иначе всеравно поставится:) ) скрывается чекбокс и подпись (они созданы раздельно).
Добавил скрипт во вложении, описанная опция прокоментирована.
Проверил у себя дважды - работает :)
нужна помощь, нужна типа такая => http://s002.youpic.su/pictures/1295200800/thumb_5dc5a8aec452374fbbf7858f2f382e11.png (http://youpic.su/view.php?id=s002.youpic.su/pictures/1295200800/5dc5a8aec452374fbbf7858f2f382e11.png) страница , но только чтоб не прописывать в компонентах, а какбэ отдельная страница
Лександер, ааааа...ботва2.длл :shot:
а вообще спасибо
зы думаю стоит добавить все материалы: картинки, стили и прочее...
SteamShip
18-01-2011, 20:01
Что нужно написать или поменять в этом скрипте чтобы при запуске инсталлятора музыка не играла а на панели были кнопки вкл музыку и стоп а кнопка пауза была скрыта
[Setup]
AppName=Example.Play.MP3.Music.On.Start.Up.With.Texture
AppVerName=Example.Play.MP3.Music.On.Start.Up.With.Texture
AppPublisher=genri.sampron.iTASmania_Inc.uncle
DefaultDirName=C:\Play.MP3
OutputBaseFilename=play.mp3.by.genri.sampron.iTASmania_Inc.uncle
[Files]
Source: BASS.dll; DestDir: {tmp}; Flags: dontcopy noencryption
Source: sound.mp3; DestDir: {tmp}; Flags: dontcopy noencryption nocompression
Source: MusicButton.bmp; DestDir: {tmp}; Flags: dontcopy
[Code]
const
BASS_ACTIVE_STOPPED = 0;
BASS_ACTIVE_PLAYING = 1;
BASS_ACTIVE_STALLED = 2;
BASS_ACTIVE_PAUSED = 3;
BASS_SAMPLE_LOOP = 4;
var
mp3Handle: HWND;
mp3Name: String;
PlayButton, PauseButton, StopButton: TPanel;
PlayImage, PauseImage, StopImage: TBitmapImage;
PlayLabel, PauseLabel, StopLabel: TLabel;
MouseLabel: Tlabel;
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): DWORD;
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_ChannelIsActive(handle: DWORD): Integer;
external 'BASS_ChannelIsActive@files:BASS.dll stdcall delayload';
function BASS_ChannelPause(handle: DWORD): Boolean;
external 'BASS_ChannelPause@files:BASS.dll stdcall delayload';
function BASS_Stop(): Boolean;
external 'BASS_Stop@files:BASS.dll stdcall delayload';
function BASS_Pause(): Boolean;
external 'BASS_Pause@files:BASS.dll stdcall delayload';
function BASS_Free(): Boolean;
external 'BASS_Free@files:BASS.dll stdcall delayload';
procedure PlayMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PlayImage.Left := -96
end;
procedure PlayMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PlayImage.Left := 0
end;
procedure PlayMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if PlayImage.Left <> -96 then PlayImage.Left := -192
StopImage.Left := -64
end;
procedure PauseMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PauseImage.Left := -128
end;
procedure PauseMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PauseImage.Left := -32
end;
procedure PauseMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if PauseImage.Left <> -128 then PauseImage.Left := -224
StopImage.Left := -64
end;
procedure StopMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
StopImage.Left := -160
end;
procedure StopMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
StopImage.Left := -64
end;
procedure StopMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if StopImage.Left <> -160 then StopImage.Left := -256
PlayImage.Left := 0
PauseImage.Left := -32
end;
procedure MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
PlayImage.Left := 0
PauseImage.Left := -32
StopImage.Left := -64
end;
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('BASS.dll');
ExtractTemporaryFile('sound.mp3');
mp3Name := ExpandConstant('{tmp}\sound.mp3');
BASS_Init(-1, 44100, 0, 0, 0);
mp3Handle := BASS_StreamCreateFile(FALSE, PChar(mp3Name), 0, 0, BASS_SAMPLE_LOOP);
BASS_Start();
BASS_ChannelPlay(mp3Handle, False);
Result := True;
end;
procedure PlayButtonOnClick(Sender: TObject);
begin
case BASS_ChannelIsActive(mp3Handle) of
BASS_ACTIVE_PAUSED:
begin
BASS_ChannelPlay(mp3Handle, False);
PlayButton.Hide
PauseButton.Show
end;
BASS_ACTIVE_STOPPED:
begin
BASS_Init(-1, 44100, 0, 0, 0);
mp3Handle := BASS_StreamCreateFile(FALSE, PChar(mp3Name), 0, 0, BASS_SAMPLE_LOOP);
BASS_Start();
BASS_ChannelPlay(mp3Handle, False);
PlayButton.Hide
PauseButton.Show
end;
end;
end;
procedure PauseButtonOnClick(Sender: TObject);
begin
BASS_ChannelPause(mp3Handle);
PauseButton.Hide
PlayButton.Show
end;
procedure StopButtonOnClick(Sender: TObject);
begin
BASS_Stop();
BASS_Free();
PauseButton.Hide
PlayButton.Show
end;
procedure InitializeWizard();
begin
ExtractTemporaryFile('MusicButton.bmp')
MouseLabel := TLabel.Create(WizardForm)
MouseLabel.Width := WizardForm.Width
MouseLabel.Height := WizardForm.Height
MouseLabel.Autosize := False
MouseLabel.Transparent := True
MouseLabel.OnMouseMove := @MouseMove
MouseLabel.Parent := WizardForm
PlayButton := TPanel.Create(WizardForm)
PlayButton.Left := 50
PlayButton.Top := 320
PlayButton.Width := 32
PlayButton.Height := 33
PlayButton.Cursor := crHand
PlayButton.ShowHint := True
PlayButton.Hint := 'Воспроизведение музыки'
PlayButton.OnClick := @PlayButtonOnClick
PlayButton.Parent := WizardForm
PlayImage := TBitmapImage.Create(WizardForm)
PlayImage.Left := 0
PlayImage.Top := 0
PlayImage.Width := 288
PlayImage.Height := 33
PlayImage.Enabled := False
PlayImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MusicButton.bmp'))
PlayImage.Parent := PlayButton
//
PlayImage.ReplaceColor:=$E2E2E2
PlayImage.ReplaceWithColor:=clBtnFace
PlayLabel := TLabel.Create(WizardForm)
PlayLabel.Width := PlayButton.Width
PlayLabel.Height := PlayButton.Height
PlayLabel.Autosize := False
PlayLabel.Transparent := True
PlayLabel.OnClick := @PlayButtonOnClick
PlayLabel.OnMouseDown := @PlayMouseDown
PlayLabel.OnMouseUp := @PlayMouseUp
PlayLabel.OnMouseMove := @PlayMouseMove
PlayLabel.Parent := PlayButton
PauseButton := TPanel.Create(WizardForm)
PauseButton.Left := 50
PauseButton.Top := 320
PauseButton.Width := 32
PauseButton.Height := 33
PauseButton.Cursor := crHand
PauseButton.ShowHint := True
PauseButton.Hint := 'Приостановить музыку'
PauseButton.OnClick := @PauseButtonOnClick
PauseButton.Parent := WizardForm
PauseImage := TBitmapImage.Create(WizardForm)
PauseImage.Left := -32
PauseImage.Top := 0
PauseImage.Width := 288
PauseImage.Height := 33
PauseImage.Enabled := False
PauseImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MusicButton.bmp'))
PauseImage.Parent := PauseButton
//
PauseImage.ReplaceColor:=$E2E2E2
PauseImage.ReplaceWithColor:=clBtnFace
PauseLabel := TLabel.Create(WizardForm)
PauseLabel.Width := PauseButton.Width
PauseLabel.Height := PauseButton.Height
PauseLabel.Autosize := False
PauseLabel.Transparent := True
PauseLabel.OnClick := @PauseButtonOnClick
PauseLabel.OnMouseDown := @PauseMouseDown
PauseLabel.OnMouseUp := @PauseMouseUp
PauseLabel.OnMouseMove := @PauseMouseMove
PauseLabel.Parent := PauseButton
StopButton := TPanel.Create(WizardForm)
StopButton.Left := 82
StopButton.Top := 320
StopButton.Width := 32
StopButton.Height := 33
StopButton.Cursor := crHand
StopButton.ShowHint := True
StopButton.Hint := 'Остановить музыку'
StopButton.OnClick := @StopButtonOnClick
StopButton.Parent := WizardForm
StopImage := TBitmapImage.Create(WizardForm)
StopImage.Left := -64
StopImage.Top := 0
StopImage.Width := 288
StopImage.Height := 33
StopImage.Enabled := False
StopImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MusicButton.bmp'))
StopImage.Parent := StopButton
//
StopImage.ReplaceColor:=$E2E2E2
StopImage.ReplaceWithColor:=clBtnFace
StopLabel := TLabel.Create(WizardForm)
StopLabel.Width := StopButton.Width
StopLabel.Height := StopButton.Height
StopLabel.Autosize := False
StopLabel.Transparent := True
StopLabel.OnClick := @StopButtonOnClick
StopLabel.OnMouseDown := @StopMouseDown
StopLabel.OnMouseUp := @StopMouseUp
StopLabel.OnMouseMove := @StopMouseMove
StopLabel.Parent := StopButton
end;
procedure DeinitializeSetup();
begin
BASS_Stop();
BASS_Free();
end;
Прилагаемые файлы: http://rghost.ru/3987698
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.