Препроцессор Inno Setup: #insert

Синтаксис

insert-directive: insert <expr>

Описание

Изменяет точку вставки. По умолчанию каждая обработанная строка сценария добавляется в конец данных вывода препроцессора. С помощью insert можно задать место вставки следующей обработанной строки. Команда insert принимает выражение, результатом вычисления которого должен быть индекс строки (нумерация начинается с нуля). Если индекс равен 0, следующая обработанная строка вставляется в начало вывода препроцессора. Если индекс равен 1, строка помещается на вторую позицию данных вывода препроцессора и так далее.

Позиция вставки автоматически увеличивается после добавления каждой строки в данные вывода препроцессора, поэтому каждая новая строка вставляется после предыдущей.

Избегайте использования функций, генерирующих сценарий (например, SetSetupSetting), которые могут самостоятельно вставлять строки. Это приводит к смещению части данных вывода препроцессора на одну строку вниз без обновления позиции вставки. В результате следующая строка может оказаться в неожиданном месте.

Чтобы получить необходимое значение (выражение) для директивы insert, можно использовать функцию Find.

Примеры

// Вставка строки, идущей после секции [Icons].
#insert FindSectionEnd("Icons")

// Вставка на 2-ю позицию после объявления секции [Setup].
#insert FindSection("Setup") + 1

// Вставка строк, которые содержат подстроку "somefile.ext"
// (поиск необходимых строк выполняет функция Find).
#insert Find(0, "somefile.ext", FIND_CONTAINS)

См. также:

append