|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1264 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Ветеран Сообщения: 1264
|
Профиль | Отправить PM | Цитировать Цитата Kashtan007:
procedure CurStepChanged(CurStep: TSetupStep); begin case CurStep of ssPostInstall: SaveStringToFile(ExpandConstant('{app}\components.txt'), WizardSelectedComponents(False), False); end; end; Цитата Dodakaedr:
|
||
Последний раз редактировалось El Sanchez, 06-03-2015 в 09:45. Причина: ересь Отправлено: 20:23, 05-03-2015 | #251 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 857
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 21:57, 05-03-2015 | #252 |
Ветеран Сообщения: 1264
|
Профиль | Отправить PM | Цитировать Цитата Dodakaedr:
Скрытый текст
type TCheckListBoxHelper = record Index: Integer; ItemArea: TItemArea; end; var CLBHelper: TCheckListBoxHelper; ////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure ComponentsListOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin with TNewCheckListBox(Sender) do begin if (Button = mbLeft) and (CLBHelper.ItemArea = iaItem) and ItemEnabled[CLBHelper.Index] then case State[CLBHelper.Index] of cbUnchecked, cbGrayed: CheckItem(CLBHelper.Index, coCheckWithChildren); cbChecked: CheckItem(CLBHelper.Index, coUncheck); end; end; end; ///////////////////////////////////////////////////////////////////////////////////////////////////////// procedure ComponentsListOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea); begin CLBHelper.Index := Index; CLBHelper.ItemArea := Area; end; /////////////////////////// procedure InitializeWizard; begin with WizardForm.ComponentsList do begin if TreeViewStyle then begin OnMouseDown := @ComponentsListOnMouseDown; OnItemMouseMove := @ComponentsListOnItemMouseMove; end; end; end; |
|
Последний раз редактировалось El Sanchez, 06-03-2015 в 18:52. Причина: nik1967 fix Отправлено: 09:44, 06-03-2015 | #253 |
Старожил Сообщения: 217
|
Профиль | Отправить PM | Цитировать El Sanchez, Не помогло (
|
Отправлено: 11:36, 06-03-2015 | #254 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать El Sanchez, замечательно! Только я позволил себе немного подправить скрипт:
Скрытый текст
type TCheckListBoxHelper = record Index: Integer; ItemArea: TItemArea; end; var CLBHelper: TCheckListBoxHelper; ////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure ComponentsListOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if (Button = mbLeft) and (CLBHelper.ItemArea = iaItem) then begin with TNewCheckListBox(Sender) do begin if ItemEnabled[CLBHelper.Index] then begin case State[CLBHelper.Index] of cbUnchecked, cbGrayed: CheckItem(CLBHelper.Index, coCheckWithChildren); cbChecked: CheckItem(CLBHelper.Index, coUncheck); end; end; end; end; end; ///////////////////////////////////////////////////////////////////////////////////////////////////////// procedure ComponentsListOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea); begin CLBHelper.Index := Index; CLBHelper.ItemArea := Area; end; /////////////////////////// procedure InitializeWizard; begin with WizardForm.ComponentsList do begin if TreeViewStyle then begin OnMouseDown := @ComponentsListOnMouseDown; OnItemMouseMove := @ComponentsListOnItemMouseMove; end; end; end; а то компоненты, у которых стоит флаг Fixed, тоже были кликабельны. |
------- Последний раз редактировалось nik1967, 06-03-2015 в 16:42. Отправлено: 11:37, 06-03-2015 | #255 |
Старожил Сообщения: 217
|
Профиль | Отправить PM | Цитировать Как не крути не работает может кто помочь в личку скину .
nik1967, Поможешь? в личку скину скрипт |
Отправлено: 11:39, 06-03-2015 | #256 |
Старожил Сообщения: 217
|
Профиль | Отправить PM | Цитировать Как снять галочку Filename: "{app}\WoTLauncher.exe"; Description: "Запустить World Of Tanks после установки?"; Flags: postinstall shellexec;
|
Отправлено: 12:06, 06-03-2015 | #257 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать diman_21Ru, я так понимаю, секция [Run]? Добавь флаг unchecked - в справку заглядывай! И да, проверь личку.
Кстати, как то diman_21Ru задавал вопрос о переключении 3 языков на лету. Переделал пример - сделал его с комбобоксом - теперь языки можно переключать не по кругу, а выборочно. Может кому пригодится. ЭТО ТОЛЬКО ПРИМЕР! Что бы переключение происходило для всех надписей - все эти надписи нужно переделать! Скрытый текст
[setup] AppName=My Application AppVersion=1.5 DefaultDirName={pf} ;ShowLanguageDialog=auto [Languages] Name: "eng"; MessagesFile: "compiler:Languages\English.isl" Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl" Name: "ukr"; MessagesFile: "compiler:Languages\Ukrainian.isl" [CustomMessages] ; Русский rusButtonBack=< &Назад rusButtonNext=&Далее > rusButtonCancel=Отмена rusSetupWindowTitle=Установка — %1 rusWelcomeLabel1=Вас приветствует Мастер установки %1 rusWelcomeLabel2=Программа установит %1, версия %2 на Ваш компьютер.%n%nРекомендуется закрыть все прочие приложения перед тем, как продолжить.%n%nНажмите «Далее», чтобы продолжить, или «Отмена», чтобы выйти из программы установки. ; English engButtonBack=< &Back engButtonNext=&Next > engButtonCancel=Cancel engSetupWindowTitle=Setup — %1 engWelcomeLabel1=Welcome to the %1 Setup Wizard engWelcomeLabel2=This will install %1 version %2 on your computer.%n%nIt is recommended that you close all other applications before continuing.%n%nClick Next to continue, or Cancel to exit Setup. ; Ukrainian ukrButtonBack=< &Назад ukrButtonNext=&Далi > ukrButtonCancel=Cкасування ukrSetupWindowTitle=Встановити — %1 ukrWelcomeLabel1=Вас вітає Майстер установки %1 ukrWelcomeLabel2=Програма встановить %1, версія %2 на Ваш комп'ютер.%n%nРекомендуємо закрити всі інші програми перед тим, як продовжити.%n%nНатисніть «Далі», щоб продовжити, або «Скасувати», щоб вийти з програми установки. [Code] var lang: String; ComboBox1: TNewComboBox; procedure ChangeLang(); begin WizardForm.BackButton.Caption:= CustomMessage(lang+'ButtonBack'); WizardForm.NextButton.Caption:= CustomMessage(lang+'ButtonNext'); WizardForm.CancelButton.Caption:= CustomMessage(lang+'ButtonCancel'); WizardForm.Caption:= FmtMessage(CustomMessage(lang+'SetupWindowTitle'), ['{#SetupSetting('AppName')}']); WizardForm.WelcomeLabel1.Caption:= FmtMessage(CustomMessage(lang+'WelcomeLabel1'), ['{#SetupSetting('AppName')}']); WizardForm.WelcomeLabel2.Caption:= FmtMessage(CustomMessage(lang+'WelcomeLabel2'), ['{#SetupSetting('AppName')}', '{#SetupSetting('AppVersion')}']); end; procedure ComboBox1OnChange(Sender: TObject); begin case TNewComboBox(Sender).ItemIndex of 0: lang:= 'rus'; 1: lang:= 'eng'; 2: lang:= 'ukr'; end; ChangeLang(); end; procedure InitializeWizard; begin ComboBox1:= TNewComboBox.Create(WizardForm); with ComboBox1 do begin Parent:= WizardForm; Style:= csDropDownList; SetBounds(ScaleX(10),WizardForm.CancelButton.Top,WizardForm.CancelButton.Width,WizardForm.CancelButton.Height); OnChange:= @ComboBox1OnChange; Items.Add('Русский'); Items.Add('English'); Items.Add('Українська'); end; if ActiveLanguage='rus' then begin lang:= 'rus'; ComboBox1.ItemIndex:= 0; end else if ActiveLanguage='eng' then begin lang:= 'eng'; ComboBox1.ItemIndex:= 1; end else if ActiveLanguage='ukr' then begin lang:= 'ukr'; ComboBox1.ItemIndex:= 2; end; end; |
------- Последний раз редактировалось nik1967, 06-03-2015 в 13:04. Отправлено: 12:11, 06-03-2015 | #258 |
Старожил Сообщения: 217
|
Профиль | Отправить PM | Цитировать nik1967, Вообще гуд
nik1967, А можно эту кнопку сделать более красивше ? nik1967, И как можно размер изменить кнопки? |
Отправлено: 13:10, 06-03-2015 | #259 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 13:40, 06-03-2015 | #260 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|