PDA

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


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

diman_21Ru
16-06-2014, 20:19
Dodakaedr, На файлы которые будут

Dodakaedr
16-06-2014, 20:31
diman_21Ru, У вас в скрипте используется функция IsComponent(CompIndex: Integer): Boolean; это ваша чекова функция которая работает по индексу. Расчет индекса идет с первого компонента и начинается с 0 тоесть:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

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

[Files]
Source: {win}\Help\*; DestDir: {app}; Check: IsComponent(0); Flags: external recursesubdirs
Source: {win}\Help\*; DestDir: {app}2; Check: IsComponent(1); Flags: external recursesubdirs

[ Code]
Var
ComponentsList: TNewCheckListBox;

function IsComponent(CompIndex: Integer): Boolean;
var
i: Integer;
begin
Result := False;
for i := 0 to ComponentsList.ItemCount - 1 do
begin
if CompIndex <= (ComponentsList.ItemCount - 1) then
Result := ComponentsList.Checked[CompIndex];
end;
end;

procedure InitializeWizard();
begin
ComponentsList := TNewCheckListBox.Create(WizardForm);
with ComponentsList do
begin
Parent := WizardForm.WelcomePage;
SetBounds(ScaleX(190), ScaleY(200), ScaleX(107), ScaleY(100));
AddCheckBox('Версия', '', 0, True, True, False, True, nil); //индекс №0
AddCheckBox('Озвучка', '', 0, True, True, False, True, nil); //индекс №1
AddCheckBox('Russian', '', 0, True, True, False, True, nil); //индекс №2
AddCheckBox('English', '', 0, True, True, False, True, nil); //индекс №3 и так далее...
//BorderStyle := bsNone;
end;
with WizardForm.WelcomeLabel2 do
begin
Height := ScaleY(111);
end;
end;

diman_21Ru
16-06-2014, 20:47
Dodakaedr, Не правильно что ли указал путь ,проверьте пожалуйста !

Source: {win}\Mods\Программы\Отображение облаков\*; DestDir: {app}; Check: IsComponent(0); Flags: external recursesubdirs

AddCheckBox('Отображение облаков', '', 0, True, True, False, True, nil); //индекс №0

Dodakaedr
16-06-2014, 20:49
Не правильно что ли указал путь ,проверьте пожалуйста ! »
{win} - это папка Windows. Замените её на полный путь к папке Mods и укажите флаг: Flags: ignoreversion recursesubdirs createallsubdirs

habib2302
16-06-2014, 22:07
Всем привет. Как добавить Radio Button 1 Изменить/Обновить и 2 Удалить и присвоить к ним задания
http://i.imgur.com/dIkcZQ0.png (http://i.imgur.com/AilwAwt.png)

Kashtan007
17-06-2014, 00:04
Всем привет ребята. Возник такой вопрос...
Как сделать это:
Мне нужно, чтобы на странице компонентов, справа от компонента был допустим значок динамика и при его нажатии воспроизводился звук.
Т.е. допустим я листаю компоненты:
Прога 1
Прога 2
Прога 3
Возле проги 3 я нажимаю на маленький значок динамика и мне 1 раз воспроизводится звук заданный для проги 3.
И так к каждому компоненту. Заранее спасибо за помощь!

P.S. Допустим у меня есть папка audio в папке res, и папка res_mods. В установщике я устанавливаю компоненты в res_mods, как сделать так, чтобы при выборе определенного компонента папка audio из папки res копировалась в папку res_mods?

diman_21Ru
17-06-2014, 11:56
Dodakaedr, Вроде все указал верно а обьем файла не пишет можно как то включить ?

diman_21Ru
17-06-2014, 14:39
Всем привет вроде указал верно а размер мода не показывает, а мод работает ,просто так сложно предугадать без обьема какой работает какой нет и как по умолчанию убрать галочку на мод ,заранее спасибо =)

AddCheckBox('Отображение облаков', '', 0, True, True, False, True, nil); //индекс №0

Source:"Mods\Программы\Отображение облаков\*"; DestDir: "{app}"; Check: IsComponent(0); Flags: ignoreversion recursesubdirs createallsubdirs

Slivvki
17-06-2014, 16:33
Ктонибудь помогите! Вот такая ботва!
http://hkar.ru/tv46
И еще как избежать зависания при запуске (в панеле запуска внизу появляется, пото через 4 сек отвисает)

Dodakaedr
17-06-2014, 20:25
убрать галочку на мод »
AddCheckBox('Отображение облаков', '', 0, False, True, False, True, nil); //индекс №0

а размер мода не показывает »
и не будет, так как используется чекова функция (Check: IsComponent(0)) или что вы имели ввиду? Где не показывает? Если в компонент листе то можно так указать:[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

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

[Files]
Source: {win}\Help\*; DestDir: {app}; Check: IsComponent(0); Flags: external recursesubdirs
Source: {win}\Help\*; DestDir: {app}2; Check: IsComponent(1); Flags: external recursesubdirs

[ Code]
Var
ComponentsList: TNewCheckListBox;

function IsComponent(CompIndex: Integer): Boolean;
var
i: Integer;
begin
Result := False;
for i := 0 to ComponentsList.ItemCount - 1 do
begin
if CompIndex <= (ComponentsList.ItemCount - 1) then
Result := ComponentsList.Checked[CompIndex];
end;
end;

procedure InitializeWizard();
begin
ComponentsList := TNewCheckListBox.Create(WizardForm);
with ComponentsList do
begin
Parent := WizardForm.WelcomePage;
SetBounds(ScaleX(190), ScaleY(200), ScaleX(107), ScaleY(100));
AddCheckBox('Mod1', '12 mb', 0, False, True, False, True, nil); //индекс №0
AddCheckBox('Mod2', '9 mb', 0, True, True, False, True, nil); //индекс №1
AddCheckBox('Mod3', '2 mb', 0, False, True, False, True, nil); //индекс №2
AddCheckBox('Mod4', '0,5 mb', 0, True, True, False, True, nil); //индекс №3 и так далее...
//BorderStyle := bsNone;
end;
with WizardForm.WelcomeLabel2 do
begin
Height := ScaleY(111);
end;
end;

И еще как избежать зависания при запуске (в панеле запуска внизу появляется, пото через 4 сек отвисает) »
Скрипт покажите....

Dodakaedr
17-06-2014, 21:04
как сделать так, чтобы при выборе определенного компонента папка audio из папки res копировалась в папку res_mods? »
Это все делается в секции [Files].Source: res\audio\*; DestDir: {app}\res_mods; Components: указываете компонент; Flags: ignoreversion recursesubdirs createallsubdirs

но мне все таки хотелось чтобы при выборе remove запускался деинсталлятор через реестр и наложить изображения через ботву »
Пожалуйста: RemoveInstall (http://rghost.ru/private/56437532/035526b0ea5ea2dbeb73c07a2b6686fb)
Деинсталятор запускается, но по реестру я не очень... не уверен что все правильно прописал и еще я не понимаю смысл этого кода... ругается на константу {app}:if PerformPreviousUninstall(UninstallProgressBar) then
begin
Dir := ExpandConstant('{pf}\');
if DirExists(Dir) and (not RemoveDir(Dir)) then
RestartReplace(Dir, '');
end;

Dodakaedr
18-06-2014, 02:12
Мне нужно, чтобы на странице компонентов, справа от компонента был допустим значок динамика и при его нажатии воспроизводился звук.
Т.е. допустим я листаю компоненты:
Прога 1
Прога 2
Прога 3
Возле проги 3 я нажимаю на маленький значок динамика и мне 1 раз воспроизводится звук заданный для проги 3. »
Пробуйте ComponentSound (http://rghost.ru/private/56452008/151f16383e7678de6d138cbd51b7d90d)

Slivvki
18-06-2014, 12:20
Ктонибудь помогите! Вот такая ботва!
http://hkar.ru/tv46
И еще как избежать зависания при запуске (в панеле запуска внизу появляется, пото через 4 сек отвисает)

скрипт http://rghost.ru/56443753

и помогите избавиться: такая хня на смалл аймаге вылетает на пару сек при установке (у меня арк без прекомпа) http://hkar.ru/tv46

diman_21Ru
18-06-2014, 15:06
Всем привет можно скрипт на музыку с прибавлением и убавлением звука

TryRooM
18-06-2014, 16:08
скрипт на музыку с прибавлением и убавлением звука
http://rghost.ru/56447740

Dodakaedr
18-06-2014, 19:36
Slivvki, а dll-ки, сплэш и прочее мне самому искать? Как я могу проверить скрипт?? Скиньте все что необходимо для работы вашего скрипта.

Slivvki
18-06-2014, 19:59
Извиняюсь, http://rghost.ru/56452216

Dodakaedr
18-06-2014, 22:39
И еще как избежать зависания при запуске »
Это происходит из-за модуля BASS_Module.iss. Во время "зависание" происходит извлечение файлов в временную папку

Kashtan007
19-06-2014, 10:55
Dodakaedr, большое спасибо за помощь. Именно это я искал)

P.S. как этот значок динамика прикрепить к определенному компоненту? На данный момент 3 динамика не прикреплены к компонентам, у меня много компонентов и соответственно когда прокручиваю бегунок то динамики двигаются вниз, а не остаются возле компонента.

Slivvki
19-06-2014, 11:34
Ну а с смайл аймагом чего делать?




© OSzone.net 2001-2012