Войти

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


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

ShadeUa
15-03-2015, 13:02
попробую конечно »
вот еще проблемка , при смене языка пропадает характеристика винтов , тоисть сколько свободно и занято памяти https://yadi.sk/i/-rNQsQmkfGFUM
а вот архив-https://yadi.sk/d/E_dPSQ0tfGFWf

Farser21
15-03-2015, 14:40
Добрый день.
Возможно ли сделать, чтобы после установки запускалась программа, с параметрами, которые будут зависеть от выбранных компонентов?

kotyarko@fb
15-03-2015, 15:28
Возможно ли сделать, чтобы после установки запускалась программа, с параметрами, которые будут зависеть от выбранных компонентов? »
Типо такого:
Procedure CurStepChanged(CurStep: TSetupStep);
var
ResultCode: Integer;
Params: String;
begin
Params := '';
if IsComponentSelected('aa\b') then Params := '/n ';
if IsComponentSelected('bb\a') then Params := Params + '/t ';
if CurStep = ssDone then
begin
ShellExec('', 'program.exe', Params, '', SW_SHOW, ewNoWait, ResultCode);
end;
end;
При таком раскладе, при выбранном компоненте aa\b параметр будет "/n", при выбранных aa\b + bb\a - параметры "/n /t".

А можно и проще, комментарием ниже))

habib2302
15-03-2015, 15:31
Farser21,
[Components]
Name: 1; Description: Описание;
Name: 2; Description: Описание;

[Run]
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent; Parameters: "Параметр для запуска"; Components: 1;
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent; Parameters: "Параметр для запуска"; Components: 2;

Dodakaedr
15-03-2015, 18:15
вот еще проблемка , при смене языка пропадает характеристика винтов , тоисть сколько свободно и занято памяти »
Пришлось по другому сделать. С характеристиками проблема с процентами. Если проценты добавить в ChangeLang то после запуска на странице welcomepage при смене языка выскакивает ошибка divide by Zero. Исправить не удалось.

ShadeUa
15-03-2015, 18:32
Пришлось по другому сделать. С характеристиками проблема с процентами. Если проценты добавить в ChangeLang то после запуска на странице welcomepage при смене языка выскакивает ошибка divide by Zero. Исправить не удалось »
спасибо большое )))) , а еще хотел спросить можна вот ету кнопку сделать не на 2 языка а на 3?

sergey3695
15-03-2015, 19:51
Цитата Dodakaedr:
Пришлось по другому сделать. С характеристиками проблема с процентами. Если проценты добавить в ChangeLang то после запуска на странице welcomepage при смене языка выскакивает ошибка divide by Zero. Исправить не удалось. »
Цитата ShadeUa:
или есть какие то другие возможности исправить7 »
да по-нормальному сделать. GetFreeSpaceCaption(nil); попробуй вызывать, а в GetFreeSpaceCaption уже и проверочку. Ну файлов у меня нет, вот и делать впадлу.
Цитата ShadeUa:
кстати можна вот ету кнопку сделать не на 2 языка а на 3? »
да. var i: integer; (глобальной и в initiliazewizard :=1);
if i=1 then
begin
langBtn.Caption:= 'rus';
ChangeLang();
i:= i+1;
end else
if i:=2 then
begin
langBtn.Caption:= 'eng';
ChangeLang();
i:=i+1;
end else
if i:=3 then
begin
langBtn.Caption:= 'ukr';
ChangeLang();
i:= 1;
end;
только щелкать как-то не прикольно. лучше 3 текстурированные связанные кнопочки.

Dodakaedr
15-03-2015, 20:17
можна вот ету кнопку сделать не на 2 языка а на 3? »
Недавно давали пример с комбобоксом http://forum.oszone.net/post-2479506-258.html

Shegorat
15-03-2015, 20:22
Если проценты добавить в ChangeLang то после запуска на странице welcomepage при смене языка выскакивает ошибка divide by Zero. Исправить не удалось. »

var
s: String;
begin
****
if (TotalMB > 0) then
s:= ' (' + IntToStr((FreeMb*100) div TotalMB) + ' %)'
else
s:= ' (N/A %)';
FreeSpaceLabel.Caption := CustomMessage(lang+'FreeSpace') + ' ' + MbOrTB(FreeMb) + s;
****
end;

sergey3695
15-03-2015, 20:32
И все равно GetFreeSpaceCaption(nil) вызывать там надо. :jester: Напечатал, пример не дал. Вот какой я плохой.

Shegorat
15-03-2015, 20:35
И все равно GetFreeSpaceCaption(nil) вызывать там надо. »
Надо, кто же спорит. Просто в любом случае нужно делать проверку на правильность значения.

sergey3695
15-03-2015, 20:53
Shegorat,
http://rghost.ru/64qMBZhQr
можно конечно и без (nil), но так короче. это ж проверки прописывать, т.к. все работает быстро и не грузит, то можно и так.

ShadeUa
15-03-2015, 21:39
Недавно давали пример с комбобоксом http://forum.oszone.net/post-2479506-258.html »
спасибо большое :)

Farser21
15-03-2015, 21:51
habib2302, можно ли по вашему способу сделать следующее..? Чтобы каждый последующий параметр суммировался с предыдущим? В вашем примере, если выбрать несколько параметров, то они заменят друг друга и в итоге мы получим конфиг с самым последним параметром. Мне же нужно, чтобы они суммировались. Возможно ли это?

Stealthmax
16-03-2015, 01:49
Приветствую, друзья! Давно у вас не был, снова с проблемой пришел.
Делаю сборку браузера 7Star и есть необходимость обработать файл external_extensions.json, т.е. добавить/удалить всего лишь комментарии строки по состоянию checkbox, например:
{
//"bopoielolijaiimfeehgkogednchjome": { "external_crx": "Ext1.crx", "external_version": "1.0"},
"fllaojicojecljbmefodhfapmrthcbnh": { "external_crx": "Ext2.crx", "external_version": "1.1"},
"okanipcmceoeemlbjnmnberbhgpbllgc": { "external_crx": "Ext3.crx", "external_version": "1.0"}
} Нашел такой проект JSONConfig (https://code.google.com/p/inno-json-config/downloads/list) для работы с JSON, но не совсем подошел, т.к. требуется Inno с поддержкой Int64(5.5.4 и выше), а я использую расширенную от ResTools.

MaximilianoPozo
16-03-2015, 17:42
Народ, а есть код на проверку обновления установщика в самом инсталляторе?

Shegorat
16-03-2015, 17:57
Нашел такой проект JSONConfig для работы с JSON, но не совсем подошел, т.к. требуется Inno с поддержкой Int64(5.5.4 и выше), а я использую расширенную от ResTools. »
Там же даже исходники есть. Можно подправить под свои нужды. Правда разметку убивает напрочь (отступы, переносы строк).
http://krinkels.org/threads/innojsonconfig.2583/#post-23622
Либо во вложении.

MaximilianoPozo
17-03-2015, 18:15
Помогите в этом коде сделать еще одно окно для описания
123369

Farser21
18-03-2015, 13:00
Добрый день.
Более развернуто напишу свой вопрос.
Как по этому примеру сделать, чтобы выбранные параметры суммировались? В этом примере, если выбрать несколько параметров, то они заменят друг друга и в итоге мы получим конфиг с самым последним параметром. Мне же нужно, чтобы они суммировались. Возможно ли это?

[Components]
Name: 1; Description: Описание;
Name: 2; Description: Описание;

[Run]
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent; Parameters: "Параметр для запуска"; Components: 1;
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent; Parameters: "Параметр для запуска"; Components: 2;

Dodakaedr
18-03-2015, 13:33
чтобы выбранные параметры суммировались? »
Если правильно понял, то нужно суммировать компоненты
[Components]
Name: 1; Description: Описание;
Name: 2; Description: Описание;

[Run]
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent; Parameters: "Параметр для запуска"; Components: 1;
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent; Parameters: "Параметр для запуска"; Components: 1 2;




© OSzone.net 2001-2012