Войти

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


Страниц : 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

alert30
08-03-2013, 07:41
Много бабла нарубил уже? »
neorom сам спросил - я и залил. А за бабло, не понятно о чем речь...

neorom
08-03-2013, 09:03
alert30 СПАСИБО

Respin
08-03-2013, 13:51
Всем привет.
Johny777
В этом коде (http://forum.oszone.net/post-2100539-1748.html) есть один большой недостаток! Если файл запаковать целиком (один большой файл), то он считывает размер распаковавающегося файла правильно. Но если запаковать много файлов маленького размера, он считывает не размер распаковывающихся файлов, а размер распаковывающегося архива!
Плюс ещё бы к нему прикрутить проценты распаковки...

saurn
08-03-2013, 15:00
здравствуйте, помогите со скриптом. на "SelectProgramGroupPage" вместо кнопки "GroupBrowseButton" хотелось чтоб было как в примере, небольшое "окно" (рисунок во влажении) »

Пример ниже:

[*Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
DefaultGroupName=MyApp
AllowNoIcons=true
Compression=none
DiskSpanning=true
DiskSliceSize=736000000

[*Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"

[*Code]
var
SelectFolderInStartMenuLabel, SelectFolderInStartMenuLabel2: TLabel;
StartMenuFolderTreeView: TStartMenuFolderTreeView;


procedure StartMenuFolderOnChange(Sender: TObject);
begin
WizardForm.GroupEdit.Text:= AddBackslash(StartMenuFolderTreeView.Directory)+ ExpandConstant('{#SetupSetting("DefaultGroupName")}');
end;

procedure DisableCreateStartMenuFolderOnClick(Sender: TObject);
begin
case TObject(Sender) of
WizardForm.NoIconsCheck:
begin
WizardForm.GroupEdit.Enabled:= not(WizardForm.GroupEdit.Enabled);
StartMenuFolderTreeView.Enabled:= WizardForm.GroupEdit.Enabled;
end;
end;
end;

procedure InitializeWizard();
begin

with WizardForm.SelectGroupBitmapImage do
begin
Visible := False;
end;

SelectFolderInStartMenuLabel := TLabel.Create(WizardForm);
with SelectFolderInStartMenuLabel do
begin
Parent := WizardForm.SelectProgramGroupPage;
Caption := 'Текущая папка:';
SetBounds(ScaleX(0), ScaleY(0), ScaleX(85), ScaleY(13));
Transparent := False;
WordWrap := True;
end;

SelectFolderInStartMenuLabel2 := TLabel.Create(WizardForm);
with SelectFolderInStartMenuLabel2 do
begin
Parent := WizardForm.SelectProgramGroupPage;
SetBounds(ScaleX(0), ScaleY(47), ScaleX(118), ScaleY(13));
Caption := 'Существующие папки:';
Transparent := False;
end;


with WizardForm.GroupBrowseButton do
begin
Visible := False;
end;

with WizardForm.GroupEdit do
begin
SetBounds(ScaleX(0), ScaleY(17), ScaleX(417), ScaleY(21));
ReadOnly := True;
end;

with WizardForm.SelectStartMenuFolderBrowseLabel do
begin
Visible := False;
end;

with WizardForm.SelectStartMenuFolderLabel do
begin
Visible := False;
end;

with WizardForm.NoIconsCheck do
begin
Caption := 'Отключить создание папки в меню "Пуск"';
WizardForm.NoIconsCheck.OnClick:= @DisableCreateStartMenuFolderOnClick;
end;

StartMenuFolderTreeView := TStartMenuFolderTreeView.Create(WizardForm);
with StartMenuFolderTreeView do
begin
Parent := WizardForm.SelectProgramGroupPage;
SetBounds(ScaleX(0), ScaleY(64), ScaleX(417), ScaleY(142));
SetPaths(ExpandConstant('{userprograms}'),ExpandConstant('{commonprograms}'),ExpandConstant('{userst artup}'),ExpandConstant('{commonstartup}'));
OnChange:= @StartMenuFolderOnChange;
end;
end;


P. S.
Это просто пример. Под свой скрипт адаптируете его сами.

neorom
08-03-2013, 20:47
Как мне зделать так чтоби ета надпись не била зависима от язика исталяции програми http://s3.share.te.ua/496800/0000.JPG (http://s3.share.te.ua/b496800/0000.JPG)

saurn
08-03-2013, 21:26
neorom,

[Tasks]
Name: CreateLink; Description: (описание на требуемом языке) ;

neorom
08-03-2013, 21:31
У неня єсть несколько язиков при инсталяции, что делать ...

alert30
08-03-2013, 21:31
что делать »
Справку читать.

neorom
08-03-2013, 21:36
Справку читать. »
Я слаба розбераюсь в програме

saurn
08-03-2013, 21:43
neorom,

С привязкой сообщений к нескольким языкам:

[Languages]
//Здесь указываете языки инсталятора
Name: russian; MessagesFile: compiler:Languages\Russian.isl
Name: english; MessagesFile: compiler:Languages\English.isl

[Tasks]
Name: linkdesk; Description: {cm:MakeLinkDesk} //Здесь константы сообщений, которые вы изначально задаете в секции CustomMessages
Name: linkstartmenu; Description: {cm:MakeLinkStartMenu}

[CustomMessages]
//Здесь вариации сообщений для каждого языка
russian.MakeLinkDesk=Ярлык на Рабочем столе
russian.MakeLinkStartMenu=Ярлык в меню "Пуск"

english.MakeLinkDesk=Create link on Desktop
english.MakeLinkStartMenu=Create link on Start Menu

Без привязки:

[Tasks]
Name: linkdesk; Description: Ярлык на Рабочем столе
Name: linkstartmenu; Description: Ярлык в меню "Пуск"

neorom
08-03-2013, 22:03
[CustomMessages] //Здесь вариации сообщений для каждого языка russian.MakeLinkDesk=Ярлык на Рабочем столе russian.MakeLinkStartMenu=Ярлык в меню "Пуск" english.MakeLinkDesk=Create link on Desktop english.MakeLinkStartMenu=Create link on Start Menu »
А можно что би константы сообщений, которые изначально задаете в секции CustomMessages брать из самих файлов язика

saurn
08-03-2013, 22:20
А можно что би константы сообщений, которые изначально задаете в секции CustomMessages брать из самих файлов язика »

Из самих языковых файлов, исходя из выбранного языка, могут братся только названия стандартных контролов(кнопок, текстов и т.д.) инсталятор делает это сам. А сообщение в секции Description вы задаете сами, ведь Inno не может заранее знать, какой текст вы там напишите. Именно для этого и существует секция CustomMessages

neorom
08-03-2013, 23:32
[Tasks]

Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}
Name: startmenuicon; Description: Create an additional start menu icon; GroupDescription: {cm:AdditionalIcons}


Вот єта чая часть скрипта , в третем рядке надо исправить так что би информация ишла из файла язика а не из [CustomMessages]

habib2302
09-03-2013, 13:44
как довать кликабельное лого в углу инсталлятора в формате .png без фона

Tco 03
09-03-2013, 20:19
В этом коде есть один большой недостаток! Если файл запаковать целиком (один большой файл), то он считывает размер распаковавающегося файла правильно. Но если запаковать много файлов маленького размера, он считывает не размер распаковывающихся файлов, а размер распаковывающегося архива!
Плюс ещё бы к нему прикрутить проценты распаковки... »

Чтобы добавить проценты в этот (http://forum.oszone.net/post-2100539-1748.html) скрипт, нужно дописать: + FormatFloat('0.0%', (WriteSize*100)/FileSize) ,как исправить правильное значение множества распакованых данных (файлов) из архива я не знаю :mellow: Господин Johny777 не могли бы Вы его, пожалуйста, отрехтовать :blush2:

habib2302
botva2.dll тебе в помощь.

DragonTander@fb
10-03-2013, 04:20
Здравствуйте.

Такая проблема, долго искал в обмнимку с гуглом, но так и не нашел. Задача: нужно покрасить определенный чекбокс на странице тасков в красный. Максимум, чего я смог добиться - покрасить весь текст на этой странице. Проблема в том, что я не знаю имен объекта чекбоксов, и вообще структуры. В хелпе об этом ничего не сказано.

Код, что работает на данный момент.
procedure InitializeWizard();
begin
WizardForm.TasksList.Font.Color := $0000FF;
end;

Как мне покрасить только текст определенного чекбокса?

neorom
10-03-2013, 13:35
Памагите созтать такой скрипт. Фото - http://s3.share.te.ua/496831/11111.JPG (http://s3.share.te.ua/b496831/11111.JPG)

alert30
10-03-2013, 15:07
neorom, мы не можем делать готовый код, а мы его дополняем или помогаем.

neorom
10-03-2013, 15:43
мы не можем делать готовый код, а мы его дополняем или помогаем. »
Я не знаю из чего тут начинать , только к етому фото.

habib2302
10-03-2013, 17:55
Tco 03, дай скрипт




© OSzone.net 2001-2012