使用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样式的字符串文字中发出新行吗?
答案 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+