Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]
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
Ктонибудь помогите! Вот такая ботва!
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)
Ктонибудь помогите! Вот такая ботва!
http://hkar.ru/tv46
И еще как избежать зависания при запуске (в панеле запуска внизу появляется, пото через 4 сек отвисает)
скрипт http://rghost.ru/56443753
и помогите избавиться: такая хня на смалл аймаге вылетает на пару сек при установке (у меня арк без прекомпа) http://hkar.ru/tv46
diman_21Ru
18-06-2014, 15:06
Всем привет можно скрипт на музыку с прибавлением и убавлением звука
скрипт на музыку с прибавлением и убавлением звука
http://rghost.ru/56447740
Dodakaedr
18-06-2014, 19:36
Slivvki, а dll-ки, сплэш и прочее мне самому искать? Как я могу проверить скрипт?? Скиньте все что необходимо для работы вашего скрипта.
Извиняюсь, http://rghost.ru/56452216
Dodakaedr
18-06-2014, 22:39
И еще как избежать зависания при запуске »
Это происходит из-за модуля BASS_Module.iss. Во время "зависание" происходит извлечение файлов в временную папку
Kashtan007
19-06-2014, 10:55
Dodakaedr, большое спасибо за помощь. Именно это я искал)
P.S. как этот значок динамика прикрепить к определенному компоненту? На данный момент 3 динамика не прикреплены к компонентам, у меня много компонентов и соответственно когда прокручиваю бегунок то динамики двигаются вниз, а не остаются возле компонента.
Ну а с смайл аймагом чего делать?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC