|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
|
Отправлено: 08:52, 02-02-2015 |
|
Ветеран Сообщения: 1274
|
Профиль | Отправить 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 |
|
Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать |
|
------- Отправлено: 21:57, 05-03-2015 | #252 |
|
Ветеран Сообщения: 1274
|
Профиль | Отправить 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 | |
|