Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 7]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:

Показать/скрыть: Ссылки на примеры скриптов:

Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]

Отправлено: 11:48, 10-03-2014

 

Аватара для Ivan_009

Ветеран


Сообщения: 608
Благодарности: 58

Профиль | Цитировать


Цитата sergey3695:
две формы. одна на переднем плане с вырезанием цвета, другая взади »
Примерчик можешь дать пожалуйста...

Отправлено: 13:28, 06-04-2014 | #311



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 148
Благодарности: 49

Профиль | Отправить PM | Цитировать


Ivan_009, Вот (это лишь пример как бы прозр эдита)
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:51, 06-04-2014 | #312


Аватара для Stealthmax

Новый участник


Сообщения: 46
Благодарности: 15

Профиль | Цитировать


Цитата Farser21:
Нужно именно в отдельное окно. Чтобы только в этом окне появлялся текст. Не могли бы вы скинуть образец? »
Дополни свой скрипт на основе этого
примера
Код: Выделить весь код
[Files]
Source: "pict1.bmp"; Flags: dontcopy; Attribs: hidden system
Source: "pict2.bmp"; Flags: dontcopy; Attribs: hidden system

[Components]
Name: "g0"; Description: "P-MOD Пакет с пряниками"; Types: full
Name: "g0\c1"; Description: "Командирская камера"; Types: full; Flags: dontinheritcheck
Name: "g0\c2"; Description: "Отключение озеленения в снайперском прицеле"; Types: full; Flags: dontinheritcheck
Name: "g0\c3"; Description: "Блокировать смену прицелов (NoScroll)"; Types: full; Flags: dontinheritcheck
Name: "g0\c4"; Description: "Динамическая камера"; Types: full; Flags: dontinheritcheck
Name: "g0\c4\c5"; Description: "Покачивание отключено полностью"; Flags: exclusive
Name: "g0\c4\c6"; Description: "Отключено только покачивание прицела"; Flags: exclusive
Name: "g0\c7"; Description: "Увеличить время работы Лампочки"; Types: full; Flags: dontinheritcheck
Name: "g0\c7\c8"; Description: "2 секунды"; Flags: exclusive
Name: "g0\c7\c9"; Description: "5 секунд"; Flags: exclusive
Name: "g0\c7\c10"; Description: "10 секунд"; Flags: exclusive
Name: "g0\c11"; Description: "Информация об вашем респауне на экране загрузки"; Types: full; Flags: dontinheritcheck
Name: "g0\c12"; Description: "Эффекты камеры во время боя"; Types: full; Flags: dontinheritcheck
Name: "g0\c12\c13"; Description: "Инерция камеры"; Flags: exclusive
Name: "g0\c12\c14"; Description: "Красная вспышка когда враг попадает по вам"; Flags: exclusive
Name: "g0\c12\c15"; Description: "Тряска камеры когда враг попадает по вам"; Flags: exclusive
Name: "g0\c12\c16"; Description: "Включить все 3 функции"; Flags: exclusive
Name: "g0\c17"; Description: "Стандартная кратность прицела"; Types: full; Flags: dontinheritcheck
Name: "g0\c18"; Description: "Быстрая смена оборудования"; Types: full; Flags: dontinheritcheck
Name: "g0\c19"; Description: "Горизонтальная стабилизация"; Types: full; Flags: dontinheritcheck
Name: "g0\c19\c20"; Description: "На всех технике"; Flags: exclusive
Name: "g0\c19\c21"; Description: "На всей технике кроме ПТ"; Flags: exclusive
Name: "g0\c22"; Description: "Окно входа в игру"; Types: full; Flags: dontinheritcheck
Name: "g0\c22\c23"; Description: "Отключение автовыбора сервера"; Flags: exclusive
Name: "g0\c22\c24"; Description: "Отключение проигрывания стартового ролика"; Flags: exclusive
Name: "g0\c22\c25"; Description: "Включить обе функции"; Flags: exclusive
Name: "g0\c26"; Description: "Отдаление камеры при старте боя и после уничтожения танка"; Types: full; Flags: dontinheritcheck
Name: "g0\c27"; Description: "Ручной тормоз на ПТ-САУ"; Types: full; Flags: dontinheritcheck
Name: "g0\c27\c28"; Description: "Полное отключение тормоза"; Flags: exclusive
Name: "g0\c27\c29"; Description: "Только открепление камеры"; Flags: exclusive
Name: "g0\c30"; Description: "Свободная камера в реплеях"; Types: full; Flags: dontinheritcheck

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

[CustomMessages]
Russian.Component1=Описание компонента 1 и изображение выше
Russian.Component2=Описание компонента 2 и изображение выше

[_Code]
var
  ComponentBitmapImage: TBitmapImage;
  DescritionText: TNewStaticText;

procedure RedesignWizardForm;
begin
  { ComponentBitmapImage }
  ComponentBitmapImage := TBitmapImage.Create(WizardForm);
  with ComponentBitmapImage do
  begin
    Name := 'ComponentBitmapImage';
    Parent := WizardForm.SelectComponentsPage;
    Left := ScaleX(200);
    Top := ScaleY(50);
    Width := ScaleX(210);
    Height := ScaleY(89);
  end;

  with WizardForm.ComponentsList do
  begin
    Width := ScaleX(193);
  end;

  with WizardForm.TypesCombo do
  begin
    Width := ScaleX(193);
  end;

  { DescritionText }
  DescritionText := TNewStaticText.Create(WizardForm);
  with DescritionText do
  begin
    Name := 'DescritionText';
    Parent := WizardForm.SelectComponentsPage;
    AutoSize := False;
    WordWrap := True;
    Caption := '';
    Left := ScaleX(200);
    Top := ScaleY(144);
    Width := ScaleX(210);
    Height := ScaleY(61);
  end;

  DescritionText.TabOrder := 4;
end;

procedure OnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
begin
    if Index = 1 then // элемент списка компонентов, т.е. к примеру их 31, значит по аналогии и остальные
    begin
    ComponentBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\pict2.bmp'));//выводим изображении при наведении
    DescritionText.Caption := CustomMessage('Component2');//выводим текст при наведении
    end;
    if Index = 0 then
    begin
    ComponentBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\pict1.bmp'));
    DescritionText.Caption := CustomMessage('Component1');
    end;
end;

procedure OnMouseLeave(Sender: TObject); //убираем курсор мыши, действия
begin
  DescritionText.Caption := 'Наведите указатель мыши на компонент, чтобы увидеть его описание.';//вывод текста при потере фокуса, т.е. убрали курсор мыши
  //DescritionText.Caption := ''; //если убираем текст, то при потере фокуса получаем пустое окно описания, расскомментировать при необходимости
  ComponentBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\pict1.bmp'));//выводим изображение по умолчанию
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
  WizardForm.ComponentsList.OnItemMouseMove := @OnItemMouseMove; // инициализация процедуры при наведении курсора мыши
  WizardForm.ComponentsList.OnMouseLeave := @OnMouseLeave;// инициализация процедуры при потери фокуса мыши
  ComponentBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\pict1.bmp')); //изображение по умолчанию
  DescritionText.Caption := 'Наведите указатель мыши на компонент, чтобы увидеть его описание.';//описание по умолчанию
end;

function InitializeSetup(): Boolean;
begin
  Result := True;
  ExtractTemporaryFile('pict1.bmp');
  ExtractTemporaryFile('pict1.bmp');
end;
P.S. Skillet "Comatose" пойдет, давно их не слушал.

И упрощение для удобства за помощью sergey3695, за что отдельное спасибо:
Код: Выделить весь код
procedure OnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);
begin
//выводим картинку и описание, процедуры детальнее указаны в примере выше, упрощение самой конструкции наведения куросора мыши
    case Index of
    0: begin ComponentBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\pict1.bmp')); DescritionText.Caption := CustomMessage('Component1'); end;
    1: begin DescritionText.Caption := CustomMessage('Component2'); ComponentBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\pict2.bmp')); end
  else
    DescritionText.Caption := 'Наведите указатель мыши на компонент, чтобы увидеть его описание.';
  end;
end;

Последний раз редактировалось Stealthmax, 07-04-2014 в 13:44.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:20, 07-04-2014 | #313


Пользователь


Сообщения: 148
Благодарности: 49

Профиль | Отправить PM | Цитировать


Stealthmax,
Код: Выделить весь код
   0: begin
DescritionText.Caption := CustomMessage('Component1'); ComponentBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\pict1.bmp'));
end;
может как-то так все таки,а не в кепшен совать,ведь это текст лейбла. (код не проверял, кусок за кусок (собирать-то влом))
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:09, 07-04-2014 | #314


Аватара для diman_21Ru

Старожил


Сообщения: 217
Благодарности: 4

Профиль | Отправить PM | Цитировать


Stealthmax, а можно ли какой то более легкий способ на описание компонента , т.к некоторые обозначения есть уже

Отправлено: 12:21, 07-04-2014 | #315


Аватара для Stealthmax

Новый участник


Сообщения: 46
Благодарности: 15

Профиль | Цитировать


Цитата sergey3695:
может как-то так все таки,а не в кепшен совать,ведь это текст лейбла. »
Молодца! Да, так пашет, сам что-то не допер такой вариант. Текст Label? А он случаем не в Caption указывается? Или может другое свойство есть? По-моему, нового там ничего не было.
Цитата diman_21Ru:
можно ли какой то более легкий способ на описание компонента , т.к некоторые обозначения есть уже »
Надо подключиться к спутнику, экстрасенсов вызвать, связи с ними нет. Открываешь редактор Inno Restools и видишь там справа окно свойств элементов и делаешь то, что нужно, потом выкладываешь здесь и указываешь что хотелось бы и что не получилось. Вывести описание на странице wpSelectComponentsPage без добавления новых элементов можно в WizardForm.SelectComponentsLabel.Caption := 'бла-бла-бла', положение и размеры там же.
По поводу некоторых обозначений. Я дал пример, который не подразумевает использовать в первозданном виде, меняй названия элементов как угодно, повторюсь, это всего лишь пример.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:34, 07-04-2014 | #316


Пользователь


Сообщения: 148
Благодарности: 49

Профиль | Отправить PM | Цитировать


Stealthmax, мда... я же написал текст лейбла. (поясняю как ты и написал в кепшане указывается текст, но так как я посчитал что DescritionText это лейбл,то написал текст лейбла (кепшан относится к лейблу))

Отправлено: 15:17, 07-04-2014 | #317


Аватара для diman_21Ru

Старожил


Сообщения: 217
Благодарности: 4

Профиль | Отправить PM | Цитировать


sergey3695, мего запутано (

Отправлено: 15:46, 07-04-2014 | #318


Аватара для Stealthmax

Новый участник


Сообщения: 46
Благодарности: 15

Профиль | Цитировать


Цитата sergey3695:
(кепшан относится к лейблу)) »
C какого такого перепуга? TNewStaticText имеет параметр Caption, также как и Label, а вот в Memo, к примеру, будет уже Lines. Там вроде все прекрасно видно в начале скрипта. Можно выбрать любой элемент, на свой вкус. Я взял элементарный.
Цитата sergey3695:
но так как я посчитал что DescritionText это лейбл »
А вот здесь я оставил метку, XXXText в конце, чтобы было понятно, что это не Label, но все равно сути это не меняет. Так что я малость не понимаю о чем ты в принципе. А если не Caption, то куда ты текст собираешься выводить? Короче, оффтоп полный пошел. Лучше в личку пиши такие моменты, чтобы не плодить тут такие посты с обсуждением параметров элементов из справки Inno.

Отправлено: 16:04, 07-04-2014 | #319


Пользователь


Сообщения: 148
Благодарности: 49

Профиль | Отправить PM | Цитировать


Stealthmax, ну да забей короче...

Отправлено: 16:13, 07-04-2014 | #320



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34




 
Переход