| 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)