Скрипты Inno Setup. Помощь и советы [часть 8]

Ответить
 • Просмотры: 24
Аватара пользователя
roman_kudin@vk

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение roman_kudin@vk »

Цитата Dodakaedr:



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




вот еще проблемка , при смене языка пропадает характеристика винтов , тоисть сколько свободно и занято памяти
https://yadi.sk/i/-rNQsQmkfGFUM


а вот архив-
https://yadi.sk/d/E_dPSQ0tfGFWf
Аватара пользователя
roman_kudin@vk

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение roman_kudin@vk »

Irenis, создавалась папка, которую можно развернуть, а там ссылки



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Name: {group}\Иконки\Online 3; Filename: http://forum.ru-board.com; IconFilename: {sys}\shell32.dll; IconIndex: 220; 
Name: {group}\Иконки\Online 2; Filename: http://forum.ru-board.com; IconFilename: {sys}\shell32.dll; IconIndex: 220; 
Name: {group}\Иконки\Online; Filename: http://forum.ru-board.com; IconFilename: {sys}\shell32.dll; IconIndex: 220;
Аватара пользователя
Irenis

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение Irenis »

Цитата Farser21:



Возможно ли сделать, чтобы после установки запускалась программа, с параметрами, которые будут зависеть от выбранных компонентов?
Скрипты Inno Setup. Помощь и советы [часть 8]




Типо такого:



Код:

Код: Выделить всё

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".



А можно и проще, комментарием ниже))
Аватара пользователя
TryRooM

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение TryRooM »

Irenis,



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Source: "Установка иконок\*"; DestDir: "{userdesktop}\Установка иконок"; Flags: ignoreversion recursesubdirs createallsubdirs;







Папка будет на рабочем столе.

В любом случае, надо дать пользователю возможность выбора установки дополнения.
Аватара пользователя
kotyarko@fb

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение kotyarko@fb »

Цитата ShadeUa:



вот еще проблемка , при смене языка пропадает характеристика винтов , тоисть сколько свободно и занято памяти
Скрипты Inno Setup. Помощь и советы [часть 8]




Пришлось по другому сделать. С характеристиками проблема с процентами. Если проценты добавить в ChangeLang то после запуска на странице welcomepage при смене языка выскакивает ошибка divide by Zero. Исправить не удалось.
Аватара пользователя
roman_kudin@vk

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение roman_kudin@vk »

Цитата Dodakaedr:



Пришлось по другому сделать. С характеристиками проблема с процентами. Если проценты добавить в ChangeLang то после запуска на странице welcomepage при смене языка выскакивает ошибка divide by Zero. Исправить не удалось
Скрипты Inno Setup. Помощь и советы [часть 8]




спасибо большое )))) , а еще хотел спросить можна вот ету кнопку сделать не на 2 языка а на 3?
Аватара пользователя
saneksanek

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение saneksanek »

Цитата Dodakaedr:

Пришлось по другому сделать. С характеристиками проблема с процентами. Если проценты добавить в ChangeLang то после запуска на странице welcomepage при смене языка выскакивает ошибка divide by Zero. Исправить не удалось.
Скрипты Inno Setup. Помощь и советы [часть 8]


Цитата ShadeUa:

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


да по-нормальному сделать. GetFreeSpaceCaption(nil); попробуй вызывать, а в GetFreeSpaceCaption уже и проверочку. Ну файлов у меня нет, вот и делать впадлу.

Цитата ShadeUa:

кстати можна вот ету кнопку сделать не на 2 языка а на 3?
Скрипты Inno Setup. Помощь и советы [часть 8]


да. 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 текстурированные связанные кнопочки.
Аватара пользователя
palsn2000

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение palsn2000 »

Цитата ShadeUa:



можна вот ету кнопку сделать не на 2 языка а на 3?
Скрипты Inno Setup. Помощь и советы [часть 8]




Недавно давали пример с комбобоксом
Скрипты Inno Setup. Помощь и советы [часть 8]
Аватара пользователя
roman_kudin@vk

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение roman_kudin@vk »

Цитата Dodakaedr:



Если проценты добавить в ChangeLang то после запуска на странице welcomepage при смене языка выскакивает ошибка divide by Zero. Исправить не удалось.
Скрипты Inno Setup. Помощь и советы [часть 8]






Код:

Код: Выделить всё

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;
Аватара пользователя
Dodakaedr

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение Dodakaedr »

roman_kudin@vk, задайте параметры размещения таким элементам как WizardForm.DirEdit и WizardForm.DirBrowseButton



Код:

Код: Выделить всё

[setup]
AppName=MyProg
AppVerName=1.1
DefaultDirName={pf}\MyProg
[CODE]
procedure InitializeWizard();
begin
  WizardForm.DirEdit.SetBounds(ScaleX(5), ScaleY(150), ScaleX(WizardForm.DirEdit.Width), ScaleY(WizardForm.DirEdit.Height));
  WizardForm.DirBrowseButton.SetBounds(ScaleX(WizardForm.DirEdit.Width + 10), ScaleY(150), ScaleX(WizardForm.DirBrowseButton.Width), ScaleY(WizardForm.DirBrowseButton.Height));
end;
Ответить

Вернуться в «Автоматическая установка приложений»