| sub-directive: | sub <ident> |
| endsub-directive: | endsub |
Директивы sub и endsub используются для объявления пользовательских процедур, которые являются частью сценария и могут быть включены единожды или несколько раз. Вызов процедуры может быть осуществлен как непосредственно из внешнего файла, так и из выражений. Только обратите внимание, настоятельно не рекомендуется вызывать процедуры, которые выдают несколько строк на выход препроцессора изнутри составных выражений или директив.
Вызов процедуры выполняется путём указания её идентификатора, с которым она была объявлена.
Процедура обрабатывается только при её вызове, поэтому ошибки в её теле выявляются только в момент вызова. Исключение составляют неизвестные директивы и вложенные директивы sub — они обнаруживаются при объявлении процедуры.
#sub AddFile #if Copy(FileName, 1, 1) == "A" Source: {#FileName}; DestDir: {app}\A #else Source: {#FileName}; DestDir: {app} #endif #endsub