在Inno Setup预处理器中发出新行

时间:2017-09-01 11:26:56

标签: inno-setup

使用Inno Setup preprocessor生成多行输出时,例如在我的这些答案中:

我总是要使用#pragma parseroption directive切换到C风格的字符串文字,因为使用C风格的字符串文字,我可以使用\n

#pragma parseroption -p-

#define TwoLines "line1\nline2\n"

#pragma parseroption -p+

我还没有找到任何方法在默认的Pascal风格的字符串文字中发出换行符。

在真正的Pascal(脚本)字符串中,可以使用#13#10。但这在预处理器中不起作用。它们都不等于Pascal Chr function

还有其他方法可以在Pascal样式的字符串文字中发出新行吗?

2 个答案:

答案 0 :(得分:1)

我看了一下Inno Setup Preprocessor的源代码:

https://github.com/jrsoftware/issrc/tree/master/Projects/ISPP

我认为没有别的办法了。预处理器主要基于C标记器,parseroption -p基本上只启用/禁用对转义序列的支持。但是没有实现解析像#13#10这样的Pascal字符文字。

答案 1 :(得分:1)

Inno Setup 6中提供了NewLine macro

如果您使用的是较旧版本的Inno Setup,则可以在自己的脚本中定义宏。它被定义为:

#pragma parseroption -p-
#define NewLine "\n"
#pragma parseroption -p+