PDA

Показать полную графическую версию : Скрипты 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

R.i.m.s.k.y.
27-03-2015, 06:40
VCL в этом плане намного удобнее. Можно просто через ФШ всё сделать. »
что значит этот набор букв?

kotyarko@fb
27-03-2015, 09:27
R.i.m.s.k.y., http://krinkels.org/resources/vcl-styles-for-inno-setup.160/

Okta_333
27-03-2015, 09:39
Подскажите пожалуйста как прицепить свою иконку на Официальный сайт и на Удаление?

http://i58.fastpic.ru/big/2015/0327/aa/bdc177d006f8208afc43e8a3f848c0aa.png

R.i.m.s.k.y.
27-03-2015, 09:47
Okta_333, IconFileName не поможет?

[Icons]
Name: "{group}\Удалить"; Filename: "{uninstallexe}"; IconFilename: "{app}\icon.ico";
Name: "{group}\Удалить"; Filename: "{uninstallexe}"; IconFilename: "{app}\etherium.exe"; IconIndex: 1;

http://krinkels.org/resources/vcl-st...nno-setup.160/ »
там регаться нужно
VCL Styles for Inno Setup умеет править cjstyles? а то править весь установщик неохота

kotyarko@fb
27-03-2015, 09:54
VCL Styles for Inno Setup умеет править cjstyles? »
Нет конечно.

а то править весь установщик неохота » Править особо и нечего. Заменить либу и скин. Переписать загрузку в InitializeSetup и выгруз в DeinitializeSetup. Всё.

R.i.m.s.k.y.
27-03-2015, 09:56
Править особо и нечего. Заменить либу и скин. »
с этого места подробнее
как оформление через cjstyles заменить на VCL Styles?

kotyarko@fb
27-03-2015, 10:05
как оформление через cjstyles заменить на VCL Styles? »
Вот установщик для VCL. (https://yadi.sk/d/QtO7kbwZfYry9) Можешь посмотреть.
Возможно, ты меня не понял. Тот же стиль не останется при замене. В VCL абсолютно другие скины (в стандартной поставке есть небольшой набор из 33 штук), и от cjstyles ничего не останется.
Я сказал про VCL изначально, т.к. в нём отредактировать какую-то мелочь намного удобнее и проще, чем в cjstyles.
http://s018.radikal.ru/i512/1503/58/0d5e04bd40ea.jpg
И в нём отсутствуют некоторые недостатки, которые есть в cj.

R.i.m.s.k.y.
27-03-2015, 10:34
kotyarko@fb, спасибо но нет
я уже картинок под текущий фон подобрал
какое все-таки дрочево этот isskin builder :facepalm:
вроде нашел параметр - InfoBK, выгружаю - правлю в инишнике (ибо в самом низзя) - загружаю - штанга! стандартный виндовый скин :facepalm:

palsn2000
28-03-2015, 17:58
Здравствуйте.
Пытаюсь сделать подписи компонентов при наведении мышки, но никак не пойму как обратиться к компонентам (как они называются у Инно в коде).
Наиболее близко к поставленной задаче я подобрался когда у меня при наведении на лист компонентов появляется подпись.
А вот как прописать имя компонента DLC\1 или DLC\2. (вместо "with WizardForm.ComponentsList do" как нибудь типа "with WizardForm.ComponentName(DLC\1) do")



[Components]
Name: DLC\1; Description: Дополнения Digital Delux 1; Types: full custom optimal
Name: DLC\2; Description: Дополнения Digital Delux 2; Types: full custom optimal

[_Code]
procedure InitializeWizard();
begin
with WizardForm.ComponentsList do
begin
Hint := 'Это подпись компонента';
ParentShowHint := False;
ShowHint := True;
end;
end;


Пожалуйста помогите если кто знает.

kotyarko@fb
28-03-2015, 19:08
А вот как прописать имя компонента DLC\1 или DLC\2. »
Никак. Эти имена не доступны в секции кода (кроме как в функции IsComponentSelected).
Нужно обращаться к индексу компонента.

R.i.m.s.k.y.
28-03-2015, 19:12
palsn2000, глянь выше мой скрипт, конкретно CompOnItemMouseMove

palsn2000
28-03-2015, 20:09
kotyarko@fb, Нужно обращаться к индексу компонента.
А как обратиться к индексу? Какая форма записи? Я в программировании не очень.

Dodakaedr
28-03-2015, 21:12
А как обратиться к индексу? Какая форма записи? »
Приблизительно такая...Вырезка с скрипта R.i.m.s.k.y.
[setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Components]
Name: Mode; Description: mode; Types: custom; flags: fixed
Name: Mode/SPOnly; Description: SPOnly; Flags: disablenouninstallwarning
Name: Mode/MPOnly; Description: MPOnly; Flags: disablenouninstallwarning
Name: Mode2; Description: mode2; Types: custom; flags: fixed
Name: Mode2/SPOnly2; Description: SPOnly2; Flags: disablenouninstallwarning
Name: Mode2/MPOnly2; Description: MPOnly2; Flags: disablenouninstallwarning

[Code]
const
UNDEF_INDEX = -777;

var
LastIndex: Integer;

procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
begin
if Index = -1 then Exit;
if Index = LastIndex then Exit;
try
case TNewCheckListBox(Sender).ItemCaption[Index] of
'mode': TNewCheckListBox(Sender).Hint := 'Опись1';
'SPOnly': TNewCheckListBox(Sender).Hint := 'Опись2';
'MPOnly': TNewCheckListBox(Sender).Hint := 'Опись3';
'mode2': TNewCheckListBox(Sender).Hint := 'Опись4';
'SPOnly2': TNewCheckListBox(Sender).Hint := 'Опись5';
'MPOnly2': TNewCheckListBox(Sender).Hint := 'Опись6';
else
begin
TNewCheckListBox(Sender).ShowHint := False;
LastIndex := UNDEF_INDEX;
Exit;
end;
end;
TNewCheckListBox(Sender).ShowHint := True;
finally
LastIndex := Index;
end;
end;

procedure CompOnMouseLeave(Sender: TObject);
begin
WizardForm.ComponentsList.ShowHint := False;
end;

procedure InitializeWizard();
begin
LastIndex := UNDEF_INDEX;
WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;
WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;
end;

palsn2000
28-03-2015, 22:14
Dodakaedr, Спасибо. Вырезка с скрипта R.i.m.s.k.y. очень помогла.
Но теперь возникло ещё три вопроса:
1. Можно ли сделать так, чтобы подпись отображалась немного дольше (секунд 10-15);
2. Можно ли сделать так, чтобы подпись (длинная) отображалась не в одну, а в 2-3 строки;
3. Можно ли сделать так, чтобы при переводе курсора с компонента на компонент подпись бы изменялась сразу (в представленном примере подпись отображается для одного компонента и один раз - для смены подписи нужно либо убрать курсор из поля компонентов и вернуть его снова, либо щелкнуть на компоненте левой или правой кнопкой мыши).

Okta_333
30-03-2015, 18:13
Народ! Помогите пожалуйста вшить музыку с кнопочкой (play/stop) в скрипт: http://rghost.ru/7RSpPRxQh

R.i.m.s.k.y.
30-03-2015, 18:45
Dodakaedr, Спасибо. Вырезка с скрипта R.i.m.s.k.y. очень помогла.
Но теперь возникло ещё три вопроса:
1. Можно ли сделать так, чтобы подпись отображалась немного дольше (секунд 10-15);
2. Можно ли сделать так, чтобы подпись (длинная) отображалась не в одну, а в 2-3 строки;
3. Можно ли сделать так, чтобы при переводе курсора с компонента на компонент подпись бы изменялась сразу (в представленном примере подпись отображается для одного компонента и один раз - для смены подписи нужно либо убрать курсор из поля компонентов и вернуть его снова, либо щелкнуть на компоненте левой или правой кнопкой мыши). »
сам интересовался, решения не нашел

kotyarko@fb
30-03-2015, 18:56
Народ! Помогите пожалуйста вшить музыку с кнопочкой (play/stop) в скрипт »
Пробуйте: https://yadi.sk/d/70YrLaiafdGnm. Не проверял, т.к. не все файлы, прописанные в скрипте присутствуют в приложенном архиве.

2. Можно ли сделать так, чтобы подпись (длинная) отображалась не в одну, а в 2-3 строки; »
Так:
ShowHint := True;
Hint := 'This is' + #13#10 + 'hint.';

svs23
01-04-2015, 13:43
подскажите возможность решения вопроса
есть файл настроек, в нем несколько управляющих функций с опцией вкл/выкл
надо так
если в списке компонентов выбран пункт 1 то копировать файл 1 но не копировать файл 2 и 3
если в списке компонентов выбран пункт 2 то копировать файл 2 но не копировать файл 1 и 3
если в списке компонентов выбран пункт 3 то копировать файл 3 но не копировать файл 1 и 2
и т.д.
1,2,3 это три варианта одного и тот же файл только с разными настройками

R.i.m.s.k.y.
01-04-2015, 13:46
svs23, три разных файла
в секции Files использовать Components

svs23
01-04-2015, 14:47
не правильно сформулировал вопрос
надо так
если в списке компонентов выбран пункт 1 то копировать файл 1
если в списке компонентов выбран пункт 2 то копировать файл 2
если в списке компонентов выбран пункт 3 то копировать файл 3
если в списке компонентов выбран пункт 1 и 2 то копировать файл 4 но не копировать файл 1 и 2
если в списке компонентов выбран пункт 2 и 3 то копировать файл 5 но не копировать файл 2 и 3
если в списке компонентов выбран пункт 1 и 3 то копировать файл 6 но не копировать файл 1 и 3
если в списке компонентов выбран пункт 1 и 2 и 3 то копировать файл 7 но не копировать файл 1 и 2 и 3
и т.д.




© OSzone.net 2001-2012